證券行業(yè)為了保障其業(yè)務(wù)的高可用性,數(shù)據(jù)中心服務(wù)器接入大量采用了服務(wù)器網(wǎng)卡(team)技術(shù)。Team技術(shù)不完全屬于網(wǎng)絡(luò)系統(tǒng),也不完全屬于主機(jī)系統(tǒng)負(fù)責(zé),而是介于兩者的中間地帶,因此極易出現(xiàn)問題。最常見的錯誤就是服務(wù)器端選擇了交換機(jī)相關(guān)的team模式,但交換機(jī)端網(wǎng)絡(luò)人員卻沒有做任何設(shè)置。在一定條件觸發(fā)下,會引起交換機(jī)報(bào)主機(jī)物理地址flapping錯誤,繼而導(dǎo)致整個交換機(jī)CPU利用率居高不下。
本文通過對兩種常見服務(wù)器網(wǎng)卡的team技術(shù)原理的探討,分析了各種team模式的實(shí)現(xiàn)方式和配置方式。IT系統(tǒng)運(yùn)維人員熟練掌握這些知識和技巧后,可根據(jù)自身系統(tǒng)的需要,選擇合適的team模式,有效避免后期的運(yùn)行風(fēng)險。
證券行業(yè)因其自身業(yè)務(wù)特點(diǎn),可用性要求極高。為保證業(yè)務(wù)系統(tǒng)可用性和連續(xù)性,從網(wǎng)絡(luò)層面講,整個通道的網(wǎng)絡(luò)設(shè)備和通信線路,全部是冗余設(shè)計(jì):既從客戶機(jī)到服務(wù)器之間的網(wǎng)絡(luò)通道,任一物理設(shè)備宕機(jī),或任一通信線路中斷,都不會影響到證券業(yè)務(wù)的連續(xù)。 然而,服務(wù)器和客戶機(jī),特別是服務(wù)器單線路接入網(wǎng)絡(luò)時,存在以下單點(diǎn)故障:
1.接入物理設(shè)備(通常是交換機(jī))宕機(jī);
2.接入設(shè)備的網(wǎng)口損壞;
3.使用的網(wǎng)線損壞;
4.服務(wù)器/客戶機(jī)的網(wǎng)卡故障。
解決這種單點(diǎn)故障只能使用服務(wù)器網(wǎng)卡組(team)技術(shù)。本質(zhì)上說,網(wǎng)卡team技術(shù)是將同一主機(jī)上的兩塊或兩塊以上的網(wǎng)卡,通過軟件控制,虛擬出一個邏輯網(wǎng)卡。實(shí)際工作時多塊網(wǎng)卡可以是一主一備模式,或者是雙活模式。這種技術(shù)的初衷是為了解決服務(wù)器的帶寬瓶頸,隨著近年來千兆和萬兆級的服務(wù)器網(wǎng)卡的出現(xiàn),服務(wù)器帶寬瓶頸得以緩解。因而現(xiàn)在實(shí)施服務(wù)器網(wǎng)卡組,主要是為服務(wù)器網(wǎng)絡(luò)接入提供冗余,提高服務(wù)器可用性。
這種技術(shù)的出現(xiàn)很好地解決了證券行業(yè)數(shù)據(jù)中心服務(wù)器接入的單點(diǎn)故障問題,因此在行業(yè)內(nèi)被大量使用。目前市場上流行的可以實(shí)施網(wǎng)卡組技術(shù)的網(wǎng)卡有intel和br
OAdcom服務(wù)器網(wǎng)卡,本文也將重點(diǎn)介紹intel和broadcom服務(wù)器網(wǎng)卡組技術(shù)。
一、服務(wù)器網(wǎng)卡組工作原理
服務(wù)器網(wǎng)卡組主要實(shí)現(xiàn)兩個功能:服務(wù)器接入的帶寬擴(kuò)展(負(fù)載均衡)和網(wǎng)絡(luò)接入冗余,因此,它只涉及服務(wù)器接入的本地局域網(wǎng)。由于服務(wù)器一般只是直接接入交換機(jī),因此涉及到的設(shè)備往往也只有服務(wù)器和交換機(jī)。網(wǎng)卡組的實(shí)現(xiàn)可以只在服務(wù)器一端實(shí)現(xiàn),也可以在服務(wù)器、交換機(jī)兩端都實(shí)現(xiàn)。前者的實(shí)現(xiàn)方式稱為交換機(jī)無關(guān)方式(switch independent),后者稱為交換機(jī)相關(guān)方式(switch dependent)。
(一)基礎(chǔ)知識
網(wǎng)卡組是在局域網(wǎng)上實(shí)現(xiàn)的,其中涉及到的網(wǎng)絡(luò)概念有物理地址、網(wǎng)絡(luò)地址和ARP協(xié)議。
IT運(yùn)維護(hù)人員要想深入了解網(wǎng)卡組技術(shù),首先要學(xué)習(xí)熟悉這些相關(guān)知識。
1、物理地址
我們知道,和廣域網(wǎng)不同,局域網(wǎng)的網(wǎng)絡(luò)傳輸介質(zhì),一般都是共享的。依據(jù)工作站使用網(wǎng)絡(luò)傳輸介質(zhì)的控制方式不同,局域網(wǎng)分為以太網(wǎng)、令牌環(huán)和FDDI等幾種。任何一種局域網(wǎng),都要使用自己的編址方式,對網(wǎng)絡(luò)節(jié)點(diǎn)分配一個唯一地址,用以標(biāo)識網(wǎng)絡(luò)節(jié)點(diǎn)。這個地址就是物理地址。對應(yīng)地,物理地址有以太網(wǎng)物理地址、令牌環(huán)網(wǎng)物理地址和FDDI網(wǎng)等物理地址。就以太網(wǎng)來說,網(wǎng)絡(luò)節(jié)點(diǎn)的物理地址是全球唯一的。
不同技術(shù)的局域網(wǎng),由不同的網(wǎng)卡實(shí)現(xiàn)。例如,平時我們使用的大多是以太網(wǎng)卡。如果要組建FDDI 網(wǎng),則要使用FDDI網(wǎng)卡。適用不同網(wǎng)絡(luò)類型的網(wǎng)卡上,已經(jīng)固化了它的物理地址。同樣,不同技術(shù)的局域網(wǎng),也必須由不同的網(wǎng)絡(luò)交換機(jī)組成。
數(shù)據(jù)在以太網(wǎng)上傳輸,必須遵循以太網(wǎng)協(xié)議,即要使用以太網(wǎng)的數(shù)據(jù)幀格式。發(fā)送一幀數(shù)據(jù)前,網(wǎng)卡驅(qū)動首先構(gòu)造一個合法的以太網(wǎng)數(shù)據(jù)幀,這個幀中包含自身的物理地址和目標(biāo)節(jié)點(diǎn)的物理地址。因此,任何通信行為發(fā)生前,必須知道目標(biāo)節(jié)點(diǎn)的物理地址。
2、網(wǎng)絡(luò)地址
如果通信僅僅發(fā)生在局域網(wǎng)內(nèi),那么,使用物理地址就已經(jīng)足夠。當(dāng)出現(xiàn)網(wǎng)絡(luò)互聯(lián)時,即不同的局域網(wǎng)之間要進(jìn)行通信,特別是,令牌環(huán)網(wǎng)與以太網(wǎng)之間要進(jìn)行通信,該使用誰的地址呢?
IP協(xié)議和IPX協(xié)議是一種網(wǎng)絡(luò)互聯(lián)協(xié)議,它的主要作用就是屏蔽下層不同的網(wǎng)絡(luò)技術(shù)細(xì)節(jié)。例如對于地址,不管具體的局域網(wǎng)是采用何種地址,網(wǎng)絡(luò)互聯(lián)協(xié)議另起爐灶,使用自己的定義的地址進(jìn)行通信,這種地址稱為網(wǎng)絡(luò)地址。多個局域網(wǎng)(可以是以太網(wǎng)或FDDI或其他)可以使用網(wǎng)絡(luò)互聯(lián)協(xié)議(IP或IPX或其他)互聯(lián)為一個更大的網(wǎng)絡(luò),這個網(wǎng)絡(luò)也稱為網(wǎng)間網(wǎng)。絡(luò)地址是整個網(wǎng)間網(wǎng)有效的,應(yīng)用程序傳輸數(shù)據(jù)時使用網(wǎng)絡(luò)地址。網(wǎng)絡(luò)層協(xié)議根據(jù)目標(biāo)網(wǎng)絡(luò)地址,決定數(shù)據(jù)包是否需要轉(zhuǎn)發(fā)給三層設(shè)備。
無論使用何種網(wǎng)絡(luò)互聯(lián)協(xié)議,數(shù)據(jù)包最終的傳輸,還是要交給底層的物理網(wǎng)絡(luò)來完成。而底層的物理網(wǎng)絡(luò)傳輸數(shù)據(jù)必須使用自己的數(shù)據(jù)幀格式,因此,要想完成數(shù)據(jù)的實(shí)際傳輸,需要將網(wǎng)絡(luò)地址轉(zhuǎn)換為具體的物理地址。
3、ARP
ARP協(xié)議的作用,就是在知道網(wǎng)絡(luò)節(jié)點(diǎn)IP地址的情況下,得到節(jié)點(diǎn)的物理地址。平時,每個節(jié)點(diǎn)維護(hù)稱為ARP緩存的表,表中有具體的IP地址與其物理地址的對應(yīng)關(guān)系。一個ARP解析的過程具體細(xì)節(jié)為:
(1)當(dāng)一個節(jié)點(diǎn)需要知道某個已知IP地址的節(jié)點(diǎn)物理地址時,首先查詢本地ARP緩存,如有直接使用;如無,則發(fā)送一個網(wǎng)內(nèi)廣播包,稱為ARP請求包,其中包含目標(biāo)節(jié)點(diǎn)的IP地址。
(2)網(wǎng)內(nèi)所有節(jié)點(diǎn)都收到了該廣播包。所有接收到該請求包的節(jié)點(diǎn),都會查找本地ARP緩存是否有發(fā)送節(jié)點(diǎn)的ARP條目,如無則根據(jù)該請求包的源物理地址,構(gòu)造一個ARP條目保存,以避免將來需要和該節(jié)點(diǎn)通信時,再做額外的ARP解析。因?yàn)锳RP請求包中包含有目標(biāo)節(jié)點(diǎn)的IP地址,因此接收節(jié)點(diǎn)還要判斷對方是不是解析本節(jié)點(diǎn)的物理地址。如果是,則向發(fā)送節(jié)點(diǎn)發(fā)送一個稱為ARP應(yīng)答的數(shù)據(jù)包(非廣播包),告知本節(jié)點(diǎn)的物理地址。 ARP緩存條目如果在一定的時間沒有使用,則會被從表中清除,以節(jié)省存貯空間。
4、特殊ARP(Gratuitous ARP,也有翻譯為免費(fèi)ARP)
一般地,節(jié)點(diǎn)在需要和某個節(jié)點(diǎn)通信時,需要知道對方的物理地址,而本地ARP緩存中又沒有對應(yīng)的ARP條目時,才廣播一個ARP請求包,解析目標(biāo)節(jié)點(diǎn)的物理地址。
特殊ARP也是一個ARP請求包,但它解析的是卻自己的物理地址,即目標(biāo)節(jié)點(diǎn)的IP地址是自身的IP地址。而且是在特定時間發(fā)出的,比如某個節(jié)點(diǎn)網(wǎng)卡剛接入網(wǎng)絡(luò)時。
難道節(jié)點(diǎn)不知道自己的物理地址嗎?原來,特殊ARP并不是用來解析某個節(jié)點(diǎn)的IP地址,它有兩個作用:
(1)自己是新來的,主動向網(wǎng)內(nèi)廣播自己的IP地址和對應(yīng)的MAC地址,以避免過多的ARP請求包;
(2)檢測網(wǎng)內(nèi)是否有其他節(jié)點(diǎn)使用和自己一樣的IP地址。如果收到了一個ARP應(yīng)答,則說明網(wǎng)內(nèi)已有節(jié)點(diǎn)在使用和自己相同的IP地址。
需要明確的是,在以太網(wǎng)內(nèi),某臺主機(jī)要發(fā)送一個數(shù)據(jù)包,這個數(shù)據(jù)包實(shí)際上發(fā)送給了哪臺主機(jī)(或網(wǎng)卡),和目標(biāo)IP地址無關(guān),而是和ARP緩存內(nèi)的IP地址對應(yīng)的物理地址有關(guān)。ARP病毒大行其道,實(shí)際上就是通過在網(wǎng)絡(luò)內(nèi)發(fā)送一些欺騙性的ARP包,是的被欺騙主機(jī)ARP緩存信息錯誤,達(dá)到擾亂正常通信的目的。
5、HUB和交換機(jī)
這兩者都屬于局域網(wǎng)設(shè)備,從OSI七層互聯(lián)模型上看,HUB是物理層設(shè)備,交換機(jī)是數(shù)據(jù)鏈路層設(shè)備。
HUB可以等效為一段物理網(wǎng)線。例如,用HUB連接的兩臺主機(jī),和用一根交叉雙絞線直接連接的兩臺主機(jī),沒任何區(qū)別。
交換機(jī)相對復(fù)雜一些。它的工作原理是,在內(nèi)存中維護(hù)一張表,表中記錄的交換機(jī)每個端口接了哪些主機(jī),即端口與主機(jī)物理地址的映射表。一個交換機(jī)端口可以通過HUB或其他交換機(jī)接多臺主機(jī),因此端口和主機(jī)物理地址的映射是一對多的關(guān)系。這個表稱為地址轉(zhuǎn)發(fā)表,轉(zhuǎn)發(fā)數(shù)據(jù)幀時,根據(jù)目的地址,查轉(zhuǎn)發(fā)表后,決定將數(shù)據(jù)幀發(fā)送到哪個交換機(jī)端口。如表中未查到,則將數(shù)據(jù)幀發(fā)送到所有交換機(jī)端口。
這個表是如何形成的呢?在交換機(jī)剛初始化時,這張表是空的,進(jìn)入交換機(jī)的數(shù)據(jù)幀,被發(fā)送到所有端口。但只要有數(shù)據(jù)幀進(jìn)入交換機(jī),則根據(jù)數(shù)據(jù)幀的源地址和進(jìn)入的交換機(jī)端口,得到主機(jī)物理地址和交換機(jī)端口之間的關(guān)系。
即,交換機(jī)通過檢查進(jìn)入數(shù)據(jù)幀的源物理地址,逐步構(gòu)造地址轉(zhuǎn)發(fā)表;根據(jù)數(shù)據(jù)幀的目的物理地址和轉(zhuǎn)發(fā)表內(nèi)容,決定將數(shù)據(jù)幀發(fā)到哪個端口。
需要注意的是,交換機(jī)地址轉(zhuǎn)發(fā)表不是固定的,而是隨時根據(jù)實(shí)際情況動態(tài)修改的。
(二)網(wǎng)卡組技術(shù)架構(gòu)
網(wǎng)卡組技術(shù)的實(shí)質(zhì)是對多個物理網(wǎng)絡(luò)接口進(jìn)行統(tǒng)一管理,將多個物理接口虛擬成一個邏輯網(wǎng)絡(luò)接口。具體到服務(wù)器網(wǎng)卡上,可以看作將多塊網(wǎng)卡虛擬為一塊邏輯網(wǎng)卡。從屬性上看,虛擬邏輯網(wǎng)卡和物理網(wǎng)卡無任何不同,也有自己的物理地址和網(wǎng)絡(luò)地址。
服務(wù)器使用邏輯網(wǎng)卡與外部的主機(jī)通信。外部主機(jī)只能看到服務(wù)器的邏輯網(wǎng)卡,至于服務(wù)器具體的物理網(wǎng)卡個數(shù)、物理地址等細(xì)節(jié),外部主機(jī)是不清楚的。
網(wǎng)卡組邏輯結(jié)構(gòu)如圖1所示。
無論是intel還是broadcom,一般都是在原有網(wǎng)卡驅(qū)動程序基礎(chǔ)上,增加一個網(wǎng)卡組驅(qū)動程序,由該驅(qū)動程序完成網(wǎng)卡組功能。
網(wǎng)絡(luò)協(xié)議直接訪問網(wǎng)卡組驅(qū)動程序,網(wǎng)卡組驅(qū)動程序負(fù)責(zé)完成負(fù)載均衡等功能。一般地,網(wǎng)卡組驅(qū)動負(fù)責(zé)對組成網(wǎng)卡組的各個物理網(wǎng)卡進(jìn)行管理,例如,活動探測,流量探測等,并根據(jù)實(shí)際情況,實(shí)現(xiàn)負(fù)載均衡和網(wǎng)卡容錯功能。
1、交換機(jī)無關(guān)方式
交換機(jī)無關(guān)方式網(wǎng)卡組技術(shù),功能在服務(wù)器端實(shí)現(xiàn),而對于交換機(jī)端是完全透明的,即交換機(jī)按正常的轉(zhuǎn)發(fā)功能轉(zhuǎn)發(fā)數(shù)據(jù)包,毋需做其他特殊配置。
Broadcom的Smart Load Balancing(智能負(fù)載均衡,SLB),intel的Adapter Fault Tolerance(網(wǎng)卡容錯,AFT),Switch Fault Tolerance(交換機(jī)容錯,SFT )和Adaptive Load Balancing (自適應(yīng)負(fù)載均衡,ALB),這幾種網(wǎng)卡組技術(shù),都是交換機(jī)無關(guān)的。
(1)SLB
SLB是Braodcom網(wǎng)卡實(shí)現(xiàn)的一種網(wǎng)卡組方式,其中又有負(fù)載均衡+容錯和容錯兩種方式。后者只有容錯方式而不具備負(fù)載均衡功能,配置時可以根據(jù)需要選擇需要的組模式。
負(fù)載均衡分為發(fā)送數(shù)據(jù)均衡和接收數(shù)據(jù)均衡技術(shù)。
對于發(fā)送數(shù)據(jù)負(fù)載均衡,是由服務(wù)器網(wǎng)卡組驅(qū)動程序完成的。負(fù)載均衡不是基于單個數(shù)據(jù)包的,而是基于“應(yīng)用流”的。目的IP地址、目的端口號等信息,定義了一個“應(yīng)用流”;“應(yīng)用流”的負(fù)載均衡可以避免同一應(yīng)用的數(shù)據(jù)包通過不同物理網(wǎng)卡傳輸時出現(xiàn)的亂序問題。
服務(wù)器維護(hù)一張和負(fù)載均衡信息有關(guān)的“哈希表”(如果你不清楚什么是哈希表,只需知道它是一種保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)在其中的存貯位置,是通過一個被稱為“哈希函數(shù)”的公式計(jì)算出來的。這種數(shù)據(jù)結(jié)構(gòu)的最大優(yōu)點(diǎn)就是查找數(shù)據(jù)效率十分高)。表中記錄了每個“流”應(yīng)該從哪個物理網(wǎng)卡發(fā)送出去。
網(wǎng)卡組形成的邏輯網(wǎng)卡的物理地址,是從組中所有物理網(wǎng)卡中的一個的物理地址。每塊物理網(wǎng)卡,發(fā)送數(shù)據(jù)時都必須使用自己的物理地址。這樣,交換機(jī)看到的是不同的交換機(jī)端口,連接了不同的主機(jī)(網(wǎng)卡)。當(dāng)服務(wù)器接收到一個解析自己物理地址的ARP請求包時,回應(yīng)的物理地址邏輯網(wǎng)卡的物理地址,也就是組中某塊網(wǎng)卡的物理地址。
接收數(shù)據(jù)均衡,是通過ARP應(yīng)答實(shí)現(xiàn)的。剛開始時,服務(wù)器以邏輯網(wǎng)卡的物理地址應(yīng)答ARP請求,這樣,所有的接收數(shù)據(jù),均從組中的某一塊網(wǎng)卡中流入。當(dāng)需要做負(fù)載均衡時,服務(wù)器會根據(jù)來自不同客戶端的ARP請求,回應(yīng)以組中不同網(wǎng)卡的物理地址,以此實(shí)現(xiàn)流入數(shù)據(jù)在不同網(wǎng)卡上的均衡分布。和發(fā)送數(shù)據(jù)負(fù)載均衡一樣,系統(tǒng)同樣建立、維護(hù)一個接收數(shù)據(jù)均衡信息哈希表。
一個特殊的情況是,當(dāng)服務(wù)器發(fā)送一個ARP請求時,所有客戶端據(jù)此請求包更新自己的ARP緩存。如此,會影響到接收數(shù)據(jù)的均衡。因此,在服務(wù)器均衡接收流量過程中,不僅僅是回答ARP請求時調(diào)整應(yīng)答的網(wǎng)卡物理地址,還要根據(jù)不同的流量分布,根據(jù)系統(tǒng)維護(hù)的哈希表信息,針對不同的客戶端,發(fā)送特殊ARP(Gratuitous ARP),主動進(jìn)行調(diào)整。
在圖2中,假定服務(wù)器S1有2塊網(wǎng)卡做了網(wǎng)卡組,如何實(shí)現(xiàn)對網(wǎng)絡(luò)內(nèi)的2臺客戶端C1、C2做到發(fā)送和接收負(fù)載均衡呢?例如對客戶端C1的收發(fā)數(shù)據(jù)均通過網(wǎng)卡1,而對客戶端C2的收發(fā)數(shù)據(jù)均通過網(wǎng)卡2進(jìn)行。
對于發(fā)送數(shù)據(jù),服務(wù)器根據(jù)不同的“應(yīng)用流”,將它們分布到組中的不同網(wǎng)卡上傳輸。而對于輸入數(shù)據(jù),則通過控制ARP應(yīng)答,最后在三臺主機(jī)上形成的ARP緩存如表一所示(簡單起見,用4位十六進(jìn)制數(shù)字表示物理地址):
注意客戶端C1,C2解析到的服務(wù)器10.1.1.1的物理地址分別是00AA和00BB,是服務(wù)器網(wǎng)卡1和網(wǎng)卡2的地址,這樣,就實(shí)現(xiàn)了服務(wù)器接收不同客戶端的數(shù)據(jù)負(fù)載均衡
(2)AFT
AFT(Adapter Fault Tolerance,網(wǎng)卡容錯)是Intel網(wǎng)卡實(shí)現(xiàn)的一種網(wǎng)卡組方式,一個組中最多可以有8塊網(wǎng)卡。
組中的網(wǎng)卡有三種狀態(tài):active(活動)、standby(備份)和disable(不可用)。初始化時,網(wǎng)卡組驅(qū)動程序根據(jù)網(wǎng)卡性能(例如速度,支持的雙工模式等),擇優(yōu)挑選一塊網(wǎng)卡作為“活動”網(wǎng)卡,其余網(wǎng)卡被置為“備份”狀態(tài)。如果某塊網(wǎng)卡出現(xiàn)故障,則其狀態(tài)被設(shè)置為“不可用”。
正常情況下,組中“活動”網(wǎng)卡負(fù)責(zé)數(shù)據(jù)的收發(fā)工作,“活動”網(wǎng)卡的MAC地址作為服務(wù)器的對外物理地址。一旦檢測到“活動”網(wǎng)卡出現(xiàn)故障,則“備份”網(wǎng)卡開始作為“活動”網(wǎng)卡使用。
性能高的“活動”網(wǎng)卡可以設(shè)置為“優(yōu)先級”高的網(wǎng)卡。“優(yōu)先級”高的網(wǎng)卡在發(fā)生故障被替換后,一旦故障恢復(fù),可以重新切換為“活動”網(wǎng)卡。
為減少應(yīng)用中斷時間,“備份”網(wǎng)卡變?yōu)?ldquo;活動”后,仍然使用原來的MAC地址。切換發(fā)生后,客戶端無須做任何動作。對交換機(jī)來說,相當(dāng)于服務(wù)器從一個交換機(jī)端口換接到了另外一個端口。
(3)SFT
SFT(Switch Fault Tolerant,交換機(jī)容錯)是Intel網(wǎng)卡實(shí)現(xiàn)的另一種網(wǎng)卡組方式。這種模式只能支持2塊網(wǎng)卡,分別接不同的交換機(jī),主要實(shí)現(xiàn)交換機(jī)容錯功能。
交換機(jī)容錯,是指當(dāng)交換機(jī)出現(xiàn)斷電、宕機(jī)等故障時,保證服務(wù)器網(wǎng)絡(luò)接入不間斷的容錯技術(shù)。和AFT類似,兩塊網(wǎng)卡一塊工作在“活動”狀態(tài),一塊工作在“備份”狀態(tài)。
因?yàn)橐獙?shí)現(xiàn)服務(wù)器接入交換機(jī)冗余,因此服務(wù)器必須要連接兩臺不同的交換機(jī),且兩臺交換機(jī)之間要互聯(lián)。一般地,局域網(wǎng)交換機(jī)之間都采用冗余連接,為避免交換機(jī)環(huán)路,需要啟用STP協(xié)議。但服務(wù)器網(wǎng)卡連接的交換機(jī)端口,不要啟用STP。因?yàn)镾TP協(xié)議會延遲交換機(jī)端口工作狀態(tài)轉(zhuǎn)換時間,在組中網(wǎng)卡切換時延時過大,而導(dǎo)致某些對延時敏感的網(wǎng)絡(luò)應(yīng)用中斷。
“備份”網(wǎng)卡變?yōu)?ldquo;活動”后,仍然使用原來的MAC地址。切換發(fā)生后,客戶端無須做任何動作。對交換機(jī)來說,相當(dāng)于服務(wù)器從一個交換機(jī)換接到了另外一個交換機(jī)。
(4)ALB
ALB(Adaptive Load Balancing,自適應(yīng)負(fù)載均衡)是Intel網(wǎng)卡提供的一種網(wǎng)卡組方式,其實(shí)現(xiàn)原理和Braodcom網(wǎng)卡的SLB模式大同小異,這里不再贅述。
2、交換機(jī)相關(guān)模式
顧名思義,交換機(jī)相關(guān)模式既是交換機(jī)端與服務(wù)器端一起參與網(wǎng)卡組操作。此種模式Braodcom的有靜態(tài)中繼(Generic Trunking)和 Link Aggregation(動態(tài)鏈路聚合);Intel有靜態(tài)鏈路聚合(Static Link Aggregation,SLA)和動態(tài)鏈路聚合(Dynamic Link Aggregation,DLA)。
名字盡管不一樣,其實(shí)也就兩類:靜態(tài)和動態(tài)。它們之間唯一的區(qū)別就是組中的交換機(jī)端口(或網(wǎng)卡)是手工配置的還是自動配置。這些技術(shù)最早應(yīng)用與交換機(jī)之間的鏈路聚合,例如,為擴(kuò)展交換機(jī)之間的帶寬,常見的CISCO 快速以太網(wǎng)通道(FEC)、千兆以太網(wǎng)通道(GEC)等技術(shù),如圖3所示。這些都需要在鏈路連接的兩端交換機(jī)上配置,后來CISCO開發(fā)了一種用于交換機(jī)端口自動聚合的協(xié)議PAgP,啟用了PAgP的端口可以與對端自行協(xié)商,自動聚合端口,動態(tài)管理參與聚合的端口。PAgP是CISCO私有協(xié)議,而LACP則是實(shí)現(xiàn)類似功能的標(biāo)準(zhǔn)協(xié)議,也就是IEEE802.3ad標(biāo)準(zhǔn)。
這類模式的網(wǎng)卡組技術(shù)實(shí)際上是用軟件將服務(wù)器端多塊網(wǎng)卡,模擬為一臺交換機(jī)的多個端口。在交換機(jī)看來,服務(wù)器就是一臺支持鏈路聚合協(xié)議的交換機(jī)。
(1)靜態(tài)鏈路聚合
靜態(tài)鏈路聚合是將交換機(jī)上的端口手工配置為一個聚合鏈路,例如FEC或GEC。
這種模式即實(shí)現(xiàn)出、入負(fù)載均衡,又可以實(shí)現(xiàn)網(wǎng)卡容錯。在交換機(jī)端,所有聚合端口被視為一個邏輯端口,出流量可以按預(yù)先配置的模式,均勻分布到各實(shí)際物理端口上。因此,交換機(jī)端負(fù)責(zé)服務(wù)器入流量的負(fù)載均衡;服務(wù)器端,仍然使用哈系表分布出流量的負(fù)載均衡。 所有網(wǎng)卡使用一個MAC地址,任何一塊物理網(wǎng)卡的損壞,除了分布在該網(wǎng)卡上的網(wǎng)絡(luò)連接會出現(xiàn)短暫中斷外,無其他影響。
(2)動態(tài)鏈路聚合
除了生成鏈路聚合的方式是自動進(jìn)行外,其他同靜態(tài)鏈路聚合。另外,動態(tài)鏈路聚合是依靠協(xié)議進(jìn)行鏈路聚合管理,因此和靜態(tài)鏈路聚合比較,會產(chǎn)生一定的資源開銷。
無論動態(tài)還是靜態(tài)鏈路聚合,交換機(jī)端所有參與聚合的端口,必須在同一交換機(jī)上,即,不能跨越交換機(jī)聚合鏈路。
二、網(wǎng)卡組配置實(shí)例
下面,我們將以intel的intel PRO 1000 PT 服務(wù)器網(wǎng)卡為例,配置服務(wù)器網(wǎng)卡組。
首先安裝隨卡提供的網(wǎng)卡驅(qū)動程序,如果沒有驅(qū)動,可以到intel的網(wǎng)站下載網(wǎng)卡的驅(qū)動程序,目前該網(wǎng)卡最新的驅(qū)動程序?yàn)镻RO2KXP_v13_1_2.exe。
(一)安裝網(wǎng)卡驅(qū)動
(1)直接雙擊驅(qū)動程序,執(zhí)行解壓縮后,出現(xiàn)如圖4的畫面:
(2)點(diǎn)擊“下一步”后,出現(xiàn)如圖5所示畫面:
(3)點(diǎn)擊“下一步”后,出現(xiàn)如圖6所示畫面:
(4)如果想安裝SNMP代理,可以在圖中勾選對應(yīng)的選項(xiàng)。不安裝的話,直接點(diǎn)擊“下一步”,進(jìn)入如圖7所示畫面:
(5)點(diǎn)擊“安裝”,出現(xiàn)如圖8的畫面:
(6)點(diǎn)擊“完成”,系統(tǒng)自動完成相關(guān)配置。重新啟動機(jī)器后,網(wǎng)卡驅(qū)動安裝完畢。
(二)配置網(wǎng)卡組
網(wǎng)卡驅(qū)動安裝好后,可以配置網(wǎng)卡組了。
(1)右鍵點(diǎn)擊任何一塊網(wǎng)卡,進(jìn)入如圖9所示的畫面:
(2)點(diǎn)“配置”,出現(xiàn)如圖10所示畫面:
(3)點(diǎn)“分組”,出現(xiàn)如圖11所示畫面:
(4)勾選“將此適配器與其他適配器組合(T)”,然后點(diǎn)“新組”,出現(xiàn)如圖12所示畫面:
(5)點(diǎn)“下一步”,出現(xiàn)如圖13所示畫面:
(6)選擇對應(yīng)的分組類型后,點(diǎn)“下一步”,出現(xiàn)如圖14所示畫面:
(7)點(diǎn)擊“完成”,完成配置。
網(wǎng)卡組配置完成后,系統(tǒng)會自動生成一塊邏輯網(wǎng)卡。從功能上看,與其他物理網(wǎng)卡無任何區(qū)別。接下來,為邏輯網(wǎng)卡設(shè)置IP地址,子網(wǎng)掩碼和缺省網(wǎng)關(guān)等網(wǎng)絡(luò)參數(shù)后,組就可以正常工作了。
(三)管理網(wǎng)卡組
配置完網(wǎng)卡組后,可以通過對邏輯網(wǎng)卡的屬性設(shè)置,對網(wǎng)卡組進(jìn)行管理。下面是一些管理界面。
(1)在“屬性”對話框中,切換到“設(shè)置”頁面,可以看到如圖15所示畫面:
這里可以看到,網(wǎng)卡組類型(AFT,SFT等),組中網(wǎng)卡狀態(tài)和管理組有關(guān)的一些按鈕。
(2)點(diǎn)“修改組”,出現(xiàn)如圖16所示畫面:
在“適配器”頁,可以增加、刪除組中的網(wǎng)卡,設(shè)置組中網(wǎng)卡的優(yōu)先級等。在“類型”頁,可以修改組的類型,如圖17所示。
圖18所示為在AFT組模式中,將第一塊網(wǎng)卡設(shè)置為“主適配器”。當(dāng)?shù)谝粔K網(wǎng)卡出現(xiàn)故障,第二塊網(wǎng)卡變?yōu)榛顒雍螅绻谝粔K網(wǎng)卡故障恢復(fù),則第一塊網(wǎng)卡繼續(xù)成為活動網(wǎng)卡。
三、網(wǎng)卡組模式實(shí)際應(yīng)用測試
交換機(jī)相關(guān)模式,實(shí)際上就是以前的交換機(jī)鏈路聚合技術(shù),例如CISCO的FEC和GEC。交換機(jī)和服務(wù)器兩端通過手工配置和自動協(xié)商,把多個端口虛擬成一個邏輯接口。這種技術(shù)出現(xiàn)比較早,相對成熟,也容易理解。
交換機(jī)無關(guān)方式,是服務(wù)器端team驅(qū)動唱“獨(dú)角戲”,交換機(jī)端透明,那么,網(wǎng)卡組的功能又是如何具體實(shí)現(xiàn)的呢?
下面,我們對intel網(wǎng)卡實(shí)現(xiàn)的AFT、SFT和RLB三種交換機(jī)無關(guān)模式,通過檢查交換機(jī)中MAC轉(zhuǎn)發(fā)表,捕獲包等手段,揭示網(wǎng)卡組功能是如何實(shí)現(xiàn)的。
測試環(huán)境如圖19所示。
客戶端IP 10.1.1.19 MAC:be34
服務(wù)器IP(team) 10.1.13 .MAC1:8451, MAC2:853F
(一)SFT
將網(wǎng)卡組模式設(shè)置為SFT,檢查組信息,顯示為“適配器容錯”,MAC地址為:8451。
首先進(jìn)行功能性測試。在客戶端不間斷ping服務(wù)器地址,此時,檢查交換機(jī)轉(zhuǎn)發(fā)表,輸出如圖20所示:
由輸出結(jié)果可見,交換機(jī)識別出兩塊網(wǎng)卡分別接在Gi0/5和Gi0/6兩個接口上。在客戶端上觀察ARP緩存,10.1.1.3 的MAC地址為8451。 斷開活動網(wǎng)卡連接的網(wǎng)線,觀察客戶端ping進(jìn)程,丟失一個ping數(shù)據(jù)包,后續(xù)正常,如圖21所示。
此時檢查交換機(jī)轉(zhuǎn)發(fā)表,輸出如圖22所示。
與圖20比較,可以看到,交換機(jī)接口Gi0/5(team主網(wǎng)卡接口)已經(jīng)不可用,原來的備份網(wǎng)卡交換機(jī)接口Gi0/6,變成了原來team主網(wǎng)卡物理地址的接口,即,備網(wǎng)卡接管了team主網(wǎng)卡的物理地址。
這個“戲法”是如何完成的呢?圖23是通過協(xié)議分析軟件抓包得到的結(jié)果。
在第30個數(shù)據(jù)包之前,主網(wǎng)卡狀態(tài)是正常工作的?梢钥吹,主、備兩塊網(wǎng)卡是通過發(fā)送廣播包,表明自己的活動狀態(tài)。第30個數(shù)據(jù)包之后,主網(wǎng)卡網(wǎng)線被斷開,只剩下備網(wǎng)卡(MAC地址:853 f)還在不斷發(fā)送廣播包。經(jīng)過大約30個數(shù)據(jù)包時間(這段時間導(dǎo)致一個ping包丟失),備網(wǎng)卡一直接收不到主網(wǎng)卡發(fā)送的廣播包,它斷定主網(wǎng)卡已經(jīng)停止工作,因此,它發(fā)送了圖23中第58個包,這個包的源、目的物理地址都是8451,也就是自己發(fā)給自己。
交換機(jī)收到這個包后,根據(jù)源地址發(fā)現(xiàn)端口Gi0/6連接了終端8451,馬上修改了轉(zhuǎn)發(fā)表,后續(xù)所有ping包就可以正常轉(zhuǎn)發(fā)給服務(wù)器了。
這個過程在交換機(jī)看來,相當(dāng)于服務(wù)器(10.1.1.3 ,MAC:8451)從交換機(jī)一個端口轉(zhuǎn)接到了另外一個端口。
SFT除了主、備網(wǎng)卡接不同的交換機(jī)外,其余和AFT行為基本一致。
當(dāng)主網(wǎng)卡恢復(fù)后,除非設(shè)置了優(yōu)先級,否則主網(wǎng)卡使用備網(wǎng)卡的MAC地址。即,活動網(wǎng)卡才能使用網(wǎng)卡組虛擬網(wǎng)卡的物理地址,不管這個物理地址具體屬于哪塊網(wǎng)卡。
(二)ALB
適應(yīng)性負(fù)載均衡,服務(wù)器端負(fù)責(zé)發(fā)送數(shù)據(jù)的均衡,接收數(shù)據(jù)均衡主要依靠客戶機(jī)端映射不同網(wǎng)卡的物理地址完成。
ALB模式中,組中所有的網(wǎng)卡同時工作,它們使用各自的物理地址,但對應(yīng)同一個IP地址。同時,通過控制ARP應(yīng)答包,將來自不同的客戶端數(shù)據(jù)包分布在不同的網(wǎng)卡上。
當(dāng)其中一塊網(wǎng)卡出現(xiàn)故障時,分布在該網(wǎng)卡上的ping數(shù)據(jù)流會丟失一個包,未分布在該網(wǎng)卡上的數(shù)據(jù)流則不會受到影響。
圖24-圖26所示是ALB模式中,當(dāng)其中一塊網(wǎng)卡出現(xiàn)問題時,交換機(jī)中的轉(zhuǎn)發(fā)表變化和網(wǎng)卡組驅(qū)動做出的響應(yīng)動作。
從圖中可以看出,8451和853F兩塊網(wǎng)卡位于同一交換機(jī)端口Gi0/6。
此時,物理地址為853F(Gi0/5)的網(wǎng)卡故障,另一塊網(wǎng)卡8541(Gi0/6)在探測不到它發(fā)出的廣播包,確認(rèn)其失效后,同時發(fā)送兩個源、目的物理地址相同數(shù)據(jù)包(圖26中序號為170、171,174、175等),分別是失效網(wǎng)卡的物理地址和自身的的物理地址。交換機(jī)接到這些數(shù)據(jù)包后,根據(jù)源地址,很快會修改轉(zhuǎn)發(fā)表。
四、結(jié)束語
下面是一些關(guān)于網(wǎng)卡組技術(shù)的總結(jié),可以幫助讀者更深刻地理解網(wǎng)卡組的實(shí)現(xiàn)技術(shù)。
1、網(wǎng)卡組技術(shù)是提高終端(不僅僅是服務(wù)器)接入網(wǎng)絡(luò)帶寬和可用性的一種技術(shù)。因此,它只涉及終端和網(wǎng)絡(luò)接入設(shè)備(交換機(jī)、HUB和路由器),參與的雙方必須直接連接,中間不能跨接其他設(shè)備。關(guān)于網(wǎng)卡組,目前都是各廠商自行實(shí)現(xiàn),尚無統(tǒng)一的國際標(biāo)準(zhǔn)。
2、提高帶寬是通過多塊網(wǎng)卡的負(fù)載均衡手段,所有的交換機(jī)相關(guān)網(wǎng)卡組模式(靜態(tài)或動態(tài))、ALB和RLB,都提供負(fù)載均衡模式。負(fù)載均衡參與者必須是同一局域網(wǎng)的設(shè)備,即,客戶端與服務(wù)器必須是同一IP網(wǎng)段,且處于同一廣播域。
3、負(fù)載均衡不是基于單個數(shù)據(jù)包的,而是基于客戶端或網(wǎng)絡(luò)應(yīng)用的。也就是說,某個網(wǎng)絡(luò)應(yīng)用的所有數(shù)據(jù)流,自始至終,只使用組中的某一特定網(wǎng)卡,除非該網(wǎng)卡故障而發(fā)生切換;另外,由于發(fā)送和接收數(shù)據(jù)均衡由不同的設(shè)備實(shí)現(xiàn),因此同一網(wǎng)絡(luò)應(yīng)用的收、發(fā)數(shù)據(jù)流可能會經(jīng)過不同的網(wǎng)卡。
4、HUB屬于物理層設(shè)備,處于同一沖突域,不能增加接入帶寬;路由器屬于網(wǎng)絡(luò)層設(shè)備,HUB和路由器都不能象交換機(jī)那樣處理設(shè)備物理地址,因此,網(wǎng)卡組技術(shù)不能在HUB或路由器上實(shí)現(xiàn)。
5、無論AFT、SFT、ALB還是其他交換機(jī)無關(guān)網(wǎng)卡組技術(shù),在交換機(jī)轉(zhuǎn)發(fā)表中,組中每塊網(wǎng)卡的物理地址都正常出現(xiàn),需要調(diào)整時,由網(wǎng)卡組驅(qū)動程序控制網(wǎng)卡發(fā)送特定的數(shù)據(jù)包,改變交換機(jī)中的MAC表,以實(shí)現(xiàn)冗余互備;谶@個原理,雖然intel網(wǎng)卡支持的AFT,ALB等模式要求接入同一臺交換機(jī),但經(jīng)過測試(在組中只有兩塊網(wǎng)卡的情況下,多塊網(wǎng)卡的情況未測試)在分接兩臺不同的交換機(jī)時,效果基本上是相同的。
6、Intel的技術(shù)資料說明,在做SFT模式時,啟用STP協(xié)議,但網(wǎng)卡連接接口應(yīng)啟用STP速端口(portfast),其余模式的網(wǎng)卡組也應(yīng)該如此。其給出的理由是啟用STP協(xié)議的交換機(jī)端口狀態(tài)轉(zhuǎn)變時候大約有40秒的延遲,會增加網(wǎng)卡切換時的時間,增加網(wǎng)絡(luò)應(yīng)用中斷的時間。
事實(shí)上,無論何種模式,只要在STP協(xié)議穩(wěn)定后,參與網(wǎng)卡組的交換機(jī)全部處于正常轉(zhuǎn)發(fā)狀態(tài),此時如果僅僅是發(fā)生網(wǎng)卡故障,故障網(wǎng)卡上的數(shù)據(jù)流切換到正常網(wǎng)卡上,只要交換機(jī)上的端口物理狀態(tài)沒有改變,STP協(xié)議也不會發(fā)生狀態(tài)轉(zhuǎn)換,整個切換時間取決于交換機(jī)中轉(zhuǎn)發(fā)表的修改時間。
7、關(guān)于交換機(jī)相關(guān)網(wǎng)卡組模式。這種模式實(shí)際上是一種“分流、互備”方式,配置時選擇余地大,技術(shù)成熟,唯一的缺點(diǎn)是,所有與交換機(jī)相關(guān)的網(wǎng)卡組模式,不能跨接交換機(jī),必須接入同一臺交換機(jī)上,即,這種模式只能提供帶寬擴(kuò)展和網(wǎng)卡容錯,無法提供交換機(jī)容錯。
在可用性要求較高的場合,交換機(jī)容錯是必須的。如何解決這個問題呢?最理想的方式是借助交換機(jī)堆疊技術(shù)。就CISCO交換機(jī)來說,兩臺堆疊的交換機(jī)邏輯上可以看做是一臺交換機(jī)。但配置FEC或GEC時,要求成員接口必須位于同一臺物理交換機(jī)上。CISCO 3750在堆疊時沒有這個限制,即,兩臺3750交換機(jī)堆疊后,可以將不同物理交換機(jī)上的交換機(jī)端口捆綁在一起。網(wǎng)卡組技術(shù)結(jié)合CISCO 3750堆疊技術(shù),就可以采用交換機(jī)相關(guān)模式,同時提供交換機(jī)容錯功能。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:服務(wù)器網(wǎng)卡組(team)技術(shù)原理與實(shí)踐
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121521451.html