資源描述:
《linux雙網(wǎng)卡綁定》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、一、Linuxbonding研究及實(shí)現(xiàn)LinuxBonding本文介紹Linux(具體發(fā)行版本是CentOS5.6)下的雙卡綁定的原理及實(shí)現(xiàn)。Linux雙網(wǎng)卡綁定實(shí)現(xiàn)是使用兩塊網(wǎng)卡虛擬成為一塊網(wǎng)卡設(shè)備,這簡(jiǎn)單來(lái)說(shuō),就是兩塊網(wǎng)卡具有相同的IP地址而并行鏈接聚合成一個(gè)邏輯鏈路工作。這項(xiàng)技術(shù)在Sun和Cisco中分別被稱(chēng)為T(mén)runking和Etherchannel技術(shù),在Linux的2.4.x及其以后的內(nèi)核則稱(chēng)為Bonding技術(shù)。bonding的前提條件:網(wǎng)卡應(yīng)該具備自己獨(dú)立的BIOS芯片,并且各網(wǎng)卡芯片組型號(hào)相同。同一
2、臺(tái)服務(wù)器上的網(wǎng)卡毫無(wú)疑問(wèn)是是符合這個(gè)條件的。Bonding原理bonding的原理:在正常情況下,網(wǎng)卡只接收目的硬件地址(MACAddress)是自身MAC的以太網(wǎng)幀,過(guò)濾別的數(shù)據(jù)幀,以減輕驅(qū)動(dòng)程序的負(fù)擔(dān);但是網(wǎng)卡也支持另外一種被稱(chēng)為混雜promisc的模式,可以接收網(wǎng)絡(luò)上所有的幀,bonding就運(yùn)行在這種模式下,而且修改了驅(qū)動(dòng)程序中的mac地址,將兩塊網(wǎng)卡的MAC地址改成相同,可以接收特定MAC的數(shù)據(jù)幀。然后把相應(yīng)的數(shù)據(jù)幀傳送給bond驅(qū)動(dòng)程序處理。為方便理解bonding的配置及實(shí)現(xiàn),順便闡述一下Linux的網(wǎng)
3、絡(luò)接口及其配置文件。在Linux中,所有的網(wǎng)絡(luò)通訊都發(fā)生在軟件接口與物理網(wǎng)絡(luò)設(shè)備之間。與網(wǎng)絡(luò)接口配置相關(guān)的文件,以及控制網(wǎng)絡(luò)接口狀態(tài)的腳本文件,全都位于/etc/sysconfig/netwrok-scripts/目錄下。網(wǎng)絡(luò)接口配置文件用于控制系統(tǒng)中的軟件網(wǎng)絡(luò)接口,并通過(guò)這些接口實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)設(shè)備的控制。當(dāng)系統(tǒng)啟動(dòng)時(shí),系統(tǒng)通過(guò)這些接口配置文件決定啟動(dòng)哪些接口,以及如何對(duì)這些接口進(jìn)行配置。接口配置文件的名稱(chēng)通常類(lèi)似于ifcfg-,其中與配置文件所控制的設(shè)備的名稱(chēng)相關(guān)。在所有的網(wǎng)絡(luò)接口中,最常用的就
4、是以太網(wǎng)接口ifcfg-eth0,它是系統(tǒng)中第一塊網(wǎng)卡的配置文件。雖然在不同的系統(tǒng)之間,文件的類(lèi)型和數(shù)量并不一定相同,但各種的網(wǎng)絡(luò)設(shè)備都需要用到這些文件保證設(shè)備的正常運(yùn)作。bonding技術(shù),就是通過(guò)配置文件建立綁定接口,從而實(shí)現(xiàn)多個(gè)物理網(wǎng)卡綁定到一個(gè)虛擬網(wǎng)卡。測(cè)試環(huán)境本次作業(yè)環(huán)境中,使用的是CentOS5.6,其系統(tǒng)信息如下:[root@support~]#cat/etc/issueCentOSrelease5.6(Final)Kernelronanm[root@support~]#uname-aLinuxsu
5、pport2.6.18-238.9.1.el5#1SMPTueApr1218:10:13EDT2011x86_64x86_64x86_64GNU/Linux可以通過(guò)modinfobonding命令查看Linux是否支持bonding,據(jù)資料介紹,RHEL4已默認(rèn)支持了,RHEL5、CentOS5毫無(wú)疑問(wèn)也是支持的。系統(tǒng)有類(lèi)似下面的信息輸出,就說(shuō)明已支持了。[root@support~]#modinfobondingfilename:??????/lib/modules/2.6.18-238.9.1.el5/kerne
6、l/drivers/net/bonding/bonding.koauthor:????????ThomasDavis,tadavis@lbl.govandmanyothersdescription:???EthernetChannelBondingDriver,v3.4.0-1version:???????3.4.0-1license:???????GPLsrcversion:????358EAAF5610876F44387AEFdepends:???????ipv6vermagic:??????2.6.18-238
7、.9.1.el5SMPmod_unloadgcc-4.1parm:??????????max_bonds:Maxnumberofbondeddevices(int)…………parm:??????????debug:Printdebugmessages;0foroff(default),1foron(int)module_sig:????883f3504da4d65c2ddc58dbbe9356811249c0a0993d9c1c5b9055a7e4f2b4d86e86ebb2c5fbdbf09e2c41b93ca13
8、b6b809914bc6a201c3cf694855143Bonding配置通過(guò)在/etc/sysconfig/network-scripts/目錄下創(chuàng)建ifcfg-bond配置文件,就能夠創(chuàng)建綁定接口。文件名稱(chēng)中的為接口的編號(hào),如第一個(gè)通道綁定接口的名稱(chēng)一般為ifcfg-bond0。ifcfg-bond文件的內(nèi)容與以太網(wǎng)接口