HP NIC Teaming技术探讨
生活随笔
收集整理的這篇文章主要介紹了
HP NIC Teaming技术探讨
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://delxu.blog.51cto.com/975660/274934 NIC Teaming技術將2個或更多個網卡(HP NIC Teaming最多可達8個)捆綁在一起使用,以達到增加總的帶寬(Load Balance,負載均衡)或者線路容錯(Fault Tolerance)的目的。由2個或多個網卡組成一個邏輯網絡端口Teamport,IP地址和網絡設置綁定在這個邏輯的Teamport上,這樣,無論哪一個物理網卡或者其相連的鏈路單獨出現故障,Teamport還是能正常工作,服務器對外的網絡連接不會中斷。
為了方便說明,除非特別說明,本文以下部分的例子中將2個或多個網卡一律寫成2個網卡,示意圖也只畫2個網卡。
HP服務器的NIC Teaming分三大類共7個選項,這三大類是指NFT、TLB和SLB。(7個選項后文會說明)
【NFT】
NFT 就是Network Fault Tolerant的縮寫,這種模式下一個網卡處于活動(Active)狀態,而另外一個網卡處于待機(standby)狀態,平時只有一個網卡在用。NFT模式下,組成Teamport的2個1Gb的網卡分別連到2個不同的交換機,Teamport總帶寬只有1Gb,這種模式具有容錯能力,但是不具有增加帶寬和負載均衡的能力。?
?
【TLB】
TLB就是Transmit Load Balance,從字面上理解,就是傳出(Tx)的負載均衡,也就是說,從服務器向外部發送的數據包,根據一定的規則,分別從Teamport中的2個網卡傳出去,但是這種方式,不能保證接受(Rx)的數據包也同樣能夠負載均衡。簡單的說,TLB可以做到網絡容錯,Teamport的Tx是2Gb帶寬,Rx還是只有1Gb(除非有另外的方法來做負載均衡)?
??
【SLB】
SLB是Switch-assist Load Balance,顧名思義,交換機協助的負載均衡,就是需要在交換機上進行相應的配置以后才能實現。SLB Team中的2個網卡必須連接到同一個交換機,這2個網卡到同一交換機的2個端口之間的鏈路就合并組成一個通道,這個通道Cisco交換機術語叫Etherchannel,其他廠商的交換機則常稱這個為Port Trunk。這種組成聯合通道的方式也稱之為靜態的鏈路聚合(SLA, Static Link Aggregation)。SLB方式的Teamport是雙向2Gb,Tx和Rx的數據流都可以做到負載均衡,但是它只能保證網卡的容錯,做不到交換機的容錯。?
?
注意(1):應用SLB時還要特別注意SLB的負載均衡實現方式和對端交換機的限制。一般而言,很多廠商的交換機,都要求同一個聚合鏈路中的每個端口都必須是一致的,例如千兆端口不能和百兆端口聚合,百兆全雙工的端口不能和百兆半雙工的端口聚合。
注意(2): 不同廠商的負載均衡的算法有所不同,比如某些型號的Cisco交換機的Etherchannel是Layer 2的,有3種Load Balancing方式:基于源MAC,基于目的MAC和XOR方式;而其他的一些型號或者有些其他廠商的還可以根據源IP,IP Hash或者TCP Session的方式。如要繼續深入研究并理解這些算法的優劣,請參考相關交換機廠商的文檔。
(關于不同型號思科交換機的Etherchannel的異同和負載均衡的算法,請參考:http://www.cisco.com/en/US/tech/tk389/tk213/technologies_tech_note09186a0080094714.shtml)?
【NFT/TLB/SLB比較】
這三種方式的比較如下:
【HP的NIC Teaming】
HP Proliant系列服務器的NIC Teaming是通過其PSP(Proliant Support Pack)中的NCU (Network Configuration Utility)來實現的。雙擊右下Systray中的HP網絡工具的小圖標,就能打開NCU配置界面。
從下面的截圖我們可以看見,HP Network Team #1是一個Teamport,它由2個HP NC7782千兆端口組成。Teamport左邊的綠×××標說明它目前工作正常。端口1是實線,說明其處于Active狀態,端口2有一部分虛灰的顏色,表明這個鏈路是Standby的。
點擊Teamport,然后點Property按鈕,就可以打開Teamport的屬性配置界面,在這里,我們可以選擇HP NIC Teaming的類型。?
從圖中我們可以看到,HP的Team類型有7個選擇,分別是
我們發現上面這些選擇中毫無例外的都注明了Fault Tolerance,這恰恰說明了NIC Teaming的最重要的目的:容錯。
這其中的SLB, TLB, NFT前文已經介紹過了。這里再解釋下其他幾個。
【NFT with PO和TLB with PO】
Preference Order就是指一種優先順序,這種順序往往是根據鏈路類型、速率等方式決定的。
NFT with Preference Order就是帶有優先順序的NFT。舉例說明,比如一臺NFT的Teamport是由一個千兆的Port A和一個百兆的Port B組成的,則Port A由于傳輸速率快,優于Port B,所以Port A會成為Active,而Port B則為Standby。TLB with Preference Order同理,通常用于將不同速率端口綁定在一起的情況下。
【802.3ad Dynamic】
和SLB類似,802.3ad Dynamic 方式也是到同一臺交換機的鏈路聚合,只不過不是靜態配置的,而是動態構成(也就是自動協商)的。它是通過一種智能的鏈路協商協議LACP (Link Aggregation Control Protocol)來實現的。LACP原本用于交換機和交換機之間的鏈路聚合,啟用了LACP協議的2臺交換機會相互發送LACP的協商報文,當發現2者之間有多條可用的鏈路的時候,自動將這些鏈路組合成一條帶寬更大的邏輯鏈路,從而利用負載均衡來實現加寬交換機間鏈路帶寬的目的。HP的NIC Teaming也支持動態鏈路聚合,可以實現在HP服務器和支持802.3ad 動態LACP的交換機之間自動創建聚合鏈路。?
【Automatic】
Automatic (Recommended) 其實不是一種單獨的模式,當選擇Automatic的時候,會判斷Team中的這些port是不是連接到同一個支持802.3ad Dynamic LACP協議的交換機,如果是,則選擇802.3ad Dynamic方式;如果不是,則使用TLB方式。
如想繼續深入HP的NIC Teaming技術,比如研究Load Balancing算法、檢測鏈路失敗的方法和鏈路恢復等,請閱讀HP NIC Teaming White Paper (英文) 。
【參考文檔】
(1) HP NIC Teaming White Paper (英文)
http://h20000.www2.hp.com/bc/docs/support/SupportManual/c01415139/c01415139.pdf
為了方便說明,除非特別說明,本文以下部分的例子中將2個或多個網卡一律寫成2個網卡,示意圖也只畫2個網卡。
HP服務器的NIC Teaming分三大類共7個選項,這三大類是指NFT、TLB和SLB。(7個選項后文會說明)
【NFT】
NFT 就是Network Fault Tolerant的縮寫,這種模式下一個網卡處于活動(Active)狀態,而另外一個網卡處于待機(standby)狀態,平時只有一個網卡在用。NFT模式下,組成Teamport的2個1Gb的網卡分別連到2個不同的交換機,Teamport總帶寬只有1Gb,這種模式具有容錯能力,但是不具有增加帶寬和負載均衡的能力。?
?
【TLB】
TLB就是Transmit Load Balance,從字面上理解,就是傳出(Tx)的負載均衡,也就是說,從服務器向外部發送的數據包,根據一定的規則,分別從Teamport中的2個網卡傳出去,但是這種方式,不能保證接受(Rx)的數據包也同樣能夠負載均衡。簡單的說,TLB可以做到網絡容錯,Teamport的Tx是2Gb帶寬,Rx還是只有1Gb(除非有另外的方法來做負載均衡)?
??
【SLB】
SLB是Switch-assist Load Balance,顧名思義,交換機協助的負載均衡,就是需要在交換機上進行相應的配置以后才能實現。SLB Team中的2個網卡必須連接到同一個交換機,這2個網卡到同一交換機的2個端口之間的鏈路就合并組成一個通道,這個通道Cisco交換機術語叫Etherchannel,其他廠商的交換機則常稱這個為Port Trunk。這種組成聯合通道的方式也稱之為靜態的鏈路聚合(SLA, Static Link Aggregation)。SLB方式的Teamport是雙向2Gb,Tx和Rx的數據流都可以做到負載均衡,但是它只能保證網卡的容錯,做不到交換機的容錯。?
?
注意(1):應用SLB時還要特別注意SLB的負載均衡實現方式和對端交換機的限制。一般而言,很多廠商的交換機,都要求同一個聚合鏈路中的每個端口都必須是一致的,例如千兆端口不能和百兆端口聚合,百兆全雙工的端口不能和百兆半雙工的端口聚合。
注意(2): 不同廠商的負載均衡的算法有所不同,比如某些型號的Cisco交換機的Etherchannel是Layer 2的,有3種Load Balancing方式:基于源MAC,基于目的MAC和XOR方式;而其他的一些型號或者有些其他廠商的還可以根據源IP,IP Hash或者TCP Session的方式。如要繼續深入研究并理解這些算法的優劣,請參考相關交換機廠商的文檔。
(關于不同型號思科交換機的Etherchannel的異同和負載均衡的算法,請參考:http://www.cisco.com/en/US/tech/tk389/tk213/technologies_tech_note09186a0080094714.shtml)?
【NFT/TLB/SLB比較】
這三種方式的比較如下:
| ? | NFT | TLB | SLB |
| 網卡容錯 | 支持 | 支持 | 支持 |
| 交換機容錯 | 支持 | 支持 | 不支持 |
| Tx負載均衡 | 不支持 | 支持 | 支持 |
| Rx負載均衡 | 不支持 | 不支持 | 支持 |
【HP的NIC Teaming】
HP Proliant系列服務器的NIC Teaming是通過其PSP(Proliant Support Pack)中的NCU (Network Configuration Utility)來實現的。雙擊右下Systray中的HP網絡工具的小圖標,就能打開NCU配置界面。
從下面的截圖我們可以看見,HP Network Team #1是一個Teamport,它由2個HP NC7782千兆端口組成。Teamport左邊的綠×××標說明它目前工作正常。端口1是實線,說明其處于Active狀態,端口2有一部分虛灰的顏色,表明這個鏈路是Standby的。
點擊Teamport,然后點Property按鈕,就可以打開Teamport的屬性配置界面,在這里,我們可以選擇HP NIC Teaming的類型。?
從圖中我們可以看到,HP的Team類型有7個選擇,分別是
- Automatic (Recommended)
- 802.3ad Dynamic with Fault Tolerance
- Switch-assisted Load Balancing with Fault Tolerance (SLB)
- Transmit Load Balancing with Fault Tolerance (TLB)
- Transmit Load Balancing with Fault Tolerance and Preference Order
- Network Fault Tolerance Only (NFT)
- Network Fault Tolerance with Preference Order
我們發現上面這些選擇中毫無例外的都注明了Fault Tolerance,這恰恰說明了NIC Teaming的最重要的目的:容錯。
這其中的SLB, TLB, NFT前文已經介紹過了。這里再解釋下其他幾個。
【NFT with PO和TLB with PO】
Preference Order就是指一種優先順序,這種順序往往是根據鏈路類型、速率等方式決定的。
NFT with Preference Order就是帶有優先順序的NFT。舉例說明,比如一臺NFT的Teamport是由一個千兆的Port A和一個百兆的Port B組成的,則Port A由于傳輸速率快,優于Port B,所以Port A會成為Active,而Port B則為Standby。TLB with Preference Order同理,通常用于將不同速率端口綁定在一起的情況下。
【802.3ad Dynamic】
和SLB類似,802.3ad Dynamic 方式也是到同一臺交換機的鏈路聚合,只不過不是靜態配置的,而是動態構成(也就是自動協商)的。它是通過一種智能的鏈路協商協議LACP (Link Aggregation Control Protocol)來實現的。LACP原本用于交換機和交換機之間的鏈路聚合,啟用了LACP協議的2臺交換機會相互發送LACP的協商報文,當發現2者之間有多條可用的鏈路的時候,自動將這些鏈路組合成一條帶寬更大的邏輯鏈路,從而利用負載均衡來實現加寬交換機間鏈路帶寬的目的。HP的NIC Teaming也支持動態鏈路聚合,可以實現在HP服務器和支持802.3ad 動態LACP的交換機之間自動創建聚合鏈路。?
【Automatic】
Automatic (Recommended) 其實不是一種單獨的模式,當選擇Automatic的時候,會判斷Team中的這些port是不是連接到同一個支持802.3ad Dynamic LACP協議的交換機,如果是,則選擇802.3ad Dynamic方式;如果不是,則使用TLB方式。
如想繼續深入HP的NIC Teaming技術,比如研究Load Balancing算法、檢測鏈路失敗的方法和鏈路恢復等,請閱讀HP NIC Teaming White Paper (英文) 。
【參考文檔】
(1) HP NIC Teaming White Paper (英文)
http://h20000.www2.hp.com/bc/docs/support/SupportManual/c01415139/c01415139.pdf
本文出自 “delxu的Live記事本” 博客,請務必保留此出處http://delxu.blog.51cto.com/975660/274934
轉載于:https://blog.51cto.com/annylove/703201
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的HP NIC Teaming技术探讨的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 招商电子一卡通是什么
- 下一篇: 第五章:管理数据库存储结构