Windows系統(tǒng)下的NIC teaming技術(shù)與Linux系統(tǒng)下的NIC bonding技術(shù)類似,兩者都是將多個(gè)網(wǎng)卡在邏輯上綁定為一個(gè)虛擬網(wǎng)卡,并在外部顯示同一個(gè)MAC地址。兩種技術(shù)同時(shí)具有負(fù)載均衡和容錯(cuò)能力,最終目標(biāo)都是為了實(shí)現(xiàn)網(wǎng)絡(luò)更高性能與網(wǎng)絡(luò)冗余,本文將對這兩種技術(shù)進(jìn)行一一介紹。
NIC Teaming在微軟領(lǐng)域中也被稱為負(fù)載均衡/故障轉(zhuǎn)移(LBFO)。它能將同一主機(jī)/服務(wù)器中多個(gè)物理網(wǎng)卡綁定到一個(gè)“組(team)”,使它們在邏輯上成為單個(gè)網(wǎng)卡。連接成組的網(wǎng)卡對外顯示為一個(gè)或多個(gè)虛擬網(wǎng)卡,共享相同的IP地址。
現(xiàn)在市面上的網(wǎng)卡有很多,Intel網(wǎng)卡是其中一種多用戶選擇的主流網(wǎng)卡。Intel NIC teaming有以下幾種模式:
AFT(適配器容錯(cuò))模式:網(wǎng)卡組可配置為AFT模式,此模式可為服務(wù)器的網(wǎng)絡(luò)連接提供自動(dòng)冗余。當(dāng)主網(wǎng)卡發(fā)生故障,備用網(wǎng)卡將接替主網(wǎng)卡繼續(xù)工作。
注意:
①此模式適用于任何交換機(jī);
②所有組內(nèi)網(wǎng)卡必須連接到相同的子網(wǎng);
③每組支持2-8個(gè)網(wǎng)卡。
SFT(交換機(jī)容錯(cuò))模式:當(dāng)兩個(gè)網(wǎng)卡分別連接到不同的交換機(jī)時(shí),SFT模式可提供兩個(gè)網(wǎng)卡之間的故障轉(zhuǎn)移。
注意:
①網(wǎng)卡在不同的交換機(jī)上工作;
②所有組內(nèi)網(wǎng)卡必須連接到相同的子網(wǎng);
③在創(chuàng)建SFT組時(shí)需要啟用STP(生成樹)協(xié)議;
④每組支持2個(gè)網(wǎng)卡。
ALB(自適應(yīng)負(fù)載均衡)模式:此模式提供負(fù)載均衡和網(wǎng)卡容錯(cuò),負(fù)載均衡在ALB組內(nèi)可啟用或禁用,默認(rèn)為啟用。
注意:適用于所有交換機(jī)。
VMLB(虛擬機(jī)負(fù)載均衡)模式:VMLB模式為綁定到同一組接口的虛擬機(jī)之間提供傳輸和接收流量的負(fù)載均衡,同時(shí)在交換機(jī)端口、跳線或網(wǎng)卡故障時(shí)提供容錯(cuò)功能。
注意:適用于所有交換機(jī)。
FEC(快速以太通道/鏈路聚合)模式:FEC模式提供負(fù)載平衡適配器容錯(cuò)(僅針對路由協(xié)議),有助于提高傳輸與接收吞吐量。
注意:
①需要具有FEC鏈路聚合功能的交換機(jī);
②每組支持2-8個(gè)網(wǎng)卡。
GEC(以太網(wǎng)通道/鏈路聚合)模式:GEC模式是對FEC模式的千兆擴(kuò)展。
注意:所有組內(nèi)網(wǎng)卡必須以千兆速度運(yùn)行。
SLA(靜態(tài)鏈路聚合)模式:SLA模式已經(jīng)取代了FEC和GEC兩個(gè)版本。
注意:
①SLA模式下的網(wǎng)卡應(yīng)以相同的速度運(yùn)行,并連接到具有靜態(tài)鏈接聚合功能的交換機(jī);
②如果網(wǎng)卡的速率不一致,網(wǎng)卡組的速率將由其中的最小網(wǎng)卡速率決定;
③每組支持2-8個(gè)網(wǎng)卡。
動(dòng)態(tài)鏈路聚合(IEEE 802.3ad)模式:動(dòng)態(tài)鏈路聚合模式通過使用混合速度網(wǎng)卡的動(dòng)態(tài)鏈路聚合來創(chuàng)建一/多個(gè)網(wǎng)卡組,該模式提供了容錯(cuò)性,有助于提高傳輸和接收吞吐量。
注意:交換機(jī)需要支持IEEE 802.3ad標(biāo)準(zhǔn)。
MVT(多供應(yīng)商協(xié)作)模式:該模式使得不同廠家的網(wǎng)卡可以在同一個(gè)網(wǎng)卡組中工作。
在Linux操作系統(tǒng)中,NIC Bonding是指將多個(gè)網(wǎng)絡(luò)接口聚合成為一個(gè)邏輯接口的過程,即兩個(gè)或多個(gè)網(wǎng)卡組合和連接充當(dāng)一個(gè)網(wǎng)卡。注意,配置綁定的前提之一是網(wǎng)絡(luò)交換機(jī)支持EtherChannel。
綁定網(wǎng)卡的性能表現(xiàn)取決于所采用的模式。各模式一般可以提供容錯(cuò)和負(fù)載均衡服務(wù)。關(guān)于Linux NIC Bonding七種模式的說明詳見下表。
模式策略容錯(cuò)負(fù)載均衡功能&說明mode=0(balance-rr)Round-robin策略支持支持此模式為默認(rèn)模式,數(shù)據(jù)包以循環(huán)模式按順序從第一個(gè)可用的slave網(wǎng)卡到最后一個(gè)可用的slave網(wǎng)卡進(jìn)行傳輸和接收。mode=1(active-backup)Active-backup主備策略支持不支持只有一個(gè)slave網(wǎng)卡處于活動(dòng)狀態(tài),另外一個(gè)slave網(wǎng)卡作為備用,當(dāng)處于活動(dòng)狀態(tài)的網(wǎng)卡不能工作時(shí),備用網(wǎng)卡將轉(zhuǎn)為活動(dòng)slave網(wǎng)卡開始工作。在有N個(gè)網(wǎng)絡(luò)接口的情況下,資源利用率為1/N。mode=2(balance-xor)XOR策略支持支持一旦網(wǎng)卡和匹配的設(shè)備建立連接,將始終由這塊網(wǎng)卡與目的MAC進(jìn)行傳輸和接收,以確保MAC地址保持不變。mode=3(broadcast)廣播策略支持不支持所有的數(shù)據(jù)包在全部的slave接口上發(fā)送的,但資源利用率低。通常用于特定情景,如金融業(yè)等追求可靠性的網(wǎng)絡(luò)環(huán)境中。mode=4(802.3ad)IEEE 802.3ad 動(dòng)態(tài)鏈路策略支持支持可創(chuàng)建共享相同速度和雙工設(shè)置的聚合組,需要和支持IEEE 802.3ad動(dòng)態(tài)鏈路聚合的交換機(jī)配合。mode=5(balance-tlb)適配器傳輸負(fù)載均衡策略支持支持根據(jù)每個(gè)slave接口上的負(fù)載來分配傳出流量,而傳入的流量則由當(dāng)前的slave接口接收,對交換機(jī)沒有特定的要求。mode=6(balance-alb)適配器適應(yīng)性負(fù)載均衡策略支持支持與mode=5相比增加了數(shù)據(jù)接收負(fù)載均衡功能,這一功能通過ARP協(xié)商得以實(shí)現(xiàn),對交換機(jī)沒有特定要求。
注意:
1. 一個(gè)bonding接口只能指定一種模式;
2. mode=0、mode=2、mode=3理論上需要靜態(tài)聚合;
3. mode=4需要支持802.3ad;
4. mode=1、mode=5、mode=6不需要對交換機(jī)進(jìn)行配置;
5. 模式的選擇取決于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、連接性能的要求以及slave設(shè)備的特性。
通常,以下模式用于單交換機(jī)拓?fù)浣Y(jié)構(gòu):mode=0 (balance-rr)、mode=2 (balance-xor)、mode=4 (802.3)、mode=5 (balance-tlb)、mode=6 (balance-alb),mode=1 (active-backup)和mode=3 (broadcast)適用于多交換機(jī)拓?fù)浣Y(jié)構(gòu)。
NIC teaming和NIC bonding能否提高交換機(jī)與服務(wù)器連接的帶寬?
很多用戶會誤以為鏈路聚合可以增加帶寬,當(dāng)三個(gè)網(wǎng)卡分別以1Gbps的速度工作時(shí),網(wǎng)卡組顯示的速度是3Gbps,會讓人以為速率成了三倍,但其實(shí)網(wǎng)速并沒有提升,只是三個(gè)獨(dú)立的1Gbps鏈路而已。
更重要的是,選擇鏈路聚合應(yīng)該根據(jù)網(wǎng)絡(luò)鏈路彈性考慮,而不是總可用吞吐量。例如,當(dāng)通過2Gbps聚合鏈接將文件從一臺電腦傳輸?shù)搅硪慌_時(shí),總傳輸速率最多只能達(dá)到1Gbps。當(dāng)傳輸兩個(gè)文件時(shí),聚合帶寬的好處將會顯現(xiàn)出來,鏈路聚合增加了 “道路”的數(shù)量,但沒有改變速度限制。
NIC teaming和NIC bonding對用戶有什么作用?
簡單來說NIC teaming和NIC bonding的作用就是負(fù)載均衡和容錯(cuò)。
負(fù)載均衡:傳出流量根據(jù)可用物理網(wǎng)卡之間的目標(biāo)地址自動(dòng)負(fù)載均衡,傳入流量則由交換機(jī)將流量路由到服務(wù)器,主機(jī)和服務(wù)器不具備控制物理網(wǎng)卡流量的能力。
容錯(cuò):如果出現(xiàn)底層物理網(wǎng)卡故障或其跳線未插拔的情況,主機(jī)或服務(wù)器將檢測到故障,并自動(dòng)將流量轉(zhuǎn)移到綁定的另一個(gè)網(wǎng)卡上,從而避免由于單點(diǎn)故障導(dǎo)致整個(gè)網(wǎng)絡(luò)連接中斷。
網(wǎng)卡組利用負(fù)載均衡和容錯(cuò)的優(yōu)勢,有助于優(yōu)化帶寬,防止網(wǎng)卡故障時(shí)造成連接損失。