資源描述:
《linux下通過bonding技術(shù)實現(xiàn)網(wǎng)絡負載均衡及冗余》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學術(shù)論文-天天文庫。
1、LinuxBonding一、什么是bondingLinuxbonding驅(qū)動提供了一個把多個網(wǎng)絡接口設備捆綁為單個的網(wǎng)絡接口設置來使用,用于網(wǎng)絡負載均衡及網(wǎng)絡冗余二、bonding應用方向1、網(wǎng)絡負載均衡對于bonding的網(wǎng)絡負載均衡是我們在文件服務器中常用到的,比如把三塊網(wǎng)卡,當做一塊來用,解決一個IP地址,流量過大,服務器網(wǎng)絡壓力過大的問題。對于文件服務器來說,比如NFS或SAMBA文件服務器,沒有任何一個管理員會把內(nèi)部網(wǎng)的文件服務器的IP地址弄很多個來解決網(wǎng)絡負載的問題。如果在內(nèi)網(wǎng)中,文件服務器為了管理和應用上的方便,大多是用同一個IP地址。對于一個百M的本地網(wǎng)絡來說,文件
2、服務器在多個用戶同時使用的情況下,網(wǎng)絡壓力是極大的,特別是SAMABA和NFS服務器。為了解決同一個IP地址,突破流量的限制,畢竟網(wǎng)線和網(wǎng)卡對數(shù)據(jù)的吞吐量是有限制的。如果在有限的資源的情況下,實現(xiàn)網(wǎng)絡負載均衡,最好的辦法就是bonding2、網(wǎng)絡冗余對于服務器來說,網(wǎng)絡設備的穩(wěn)定也是比較重要的,特別是網(wǎng)卡。在生產(chǎn)型的系統(tǒng)中,網(wǎng)卡的可靠性就更為重要了。在生產(chǎn)型的系統(tǒng)中,大多通過硬件設備的冗余來提供服務器的可靠性和安全性,比如電源。bonding也能為網(wǎng)卡提供冗余的支持。把多塊網(wǎng)卡綁定到一個IP地址,當一塊網(wǎng)卡發(fā)生物理性損壞的情況下,另一塊網(wǎng)卡自動啟用,并提供正常的服務,即:默認情況下
3、只有一塊網(wǎng)卡工作,其它網(wǎng)卡做備份三、bonding實驗環(huán)境及配置1、實驗環(huán)境系統(tǒng)為:CentOS,使用4塊網(wǎng)卡(eth0、eth1?==>?bond0;eth2、eth3==>bond1)來實現(xiàn)bonding技術(shù)2、bonding配置第一步:先查看一下內(nèi)核是否已經(jīng)支持bonding1)如果內(nèi)核已經(jīng)把bonding編譯進內(nèi)核,那么要做的就是加載該模塊到當前內(nèi)核;其次查看ifenslave該工具是否也已經(jīng)編譯modprobe?-l??bond*?或者modinfo??bondingmodprobe??bondinglsmod
4、grep'bonding'echo?'modprobebon
5、ding&>/dev/null'?>>?/etc/rc.local(開機自動加載bonding模塊到內(nèi)核)which?ifenslave注意:默認內(nèi)核安裝完后就已經(jīng)支持bonding模塊了,無需要自己手動編譯2)如果bonding還沒有編譯進內(nèi)核,那么要做的就是編譯該模塊到內(nèi)核(1)編譯bondingtar-jxvf?kernel-XXX.tar.gzcd?kernel-XXXmake?menuconfig選擇"Networkdevicesupport"?->?"Bondingdriversupport"makebzImagemakemodules?&&?makemodules_i
6、nstallmakeinstall(2)編譯ifenslave工具gcc-Wall-O-I??kernel-XXX/includeifenslave.c-oifenslave第二步:主要有兩種可選擇(第1種:實現(xiàn)網(wǎng)絡負載均衡,第2種:實現(xiàn)網(wǎng)絡冗余)例1:實現(xiàn)網(wǎng)絡冗余(即:mod=1方式,使用eth0與eth1)(1)編輯虛擬網(wǎng)絡接口配置文件(bond0),并指定網(wǎng)卡IPvi?/etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.254BROAD
7、CAST=192.168.0.255NETMASK=255.255.255.0NETWORK=192.168.0.0GATEWAY=192.168.0.1USERCTL=noTYPE=Ethernet注意:建議不要指定MAC地址vi?/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes注意:建議不要指定MAC地址vi?/etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1B
8、OOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes注意:建議不要指定MAC地址(2)編輯模塊載入配置文件(/etc/modprobe.conf),開機自動加載bonding模塊到內(nèi)核vi??/etc/modprobe.confalias?bond0?bonding?options?bond0?miimon=100?mode=1alias?net-pf-10?off??#關(guān)閉ipv6支持說明:miimon是用來進