(轉)linux 實現多網路卡繫結Bonding

mahanso發表於2011-03-19
將多塊網路卡虛擬成為一塊網路卡,使它們具有相同的IP地址。這項技術其實在SUN和Cisco的產品中已經存在,分別稱為Trunking和etherchannel技術,在Linux中,這種技術稱為Bonding。 
因為Bonding在核心2.4.x中已經包含了,我們只需要在編譯的時候把網路裝置選項中的Bonding driver support選中就可以了。然後,重新編譯核心,重新啟動計算機,執行如下命令: 


ismod bonding
ifconfig eth0 down
ifconfig eth1 down
ifconfig bond0 10.10.8.86 netmask 255.255.255.0 up
ifenslave bond0 eth0 eth1
route add default gw 10.10.8.1



現在兩塊網路卡已經能像一塊網路卡一樣工作了。這樣可以提高叢集節點間的資料傳輸速度。當然,最好把這幾句命令寫成一個指令碼,再由/etc/rc.d/rc.local呼叫,以便一開機就生效。 
Bonding技術對於伺服器來說是個比較好的選擇,在沒有千兆網路卡時,用兩三塊100bps的網路卡作Bonding,可大大提高伺服器到交換機之間的頻寬,但是需要在交換機上將連線Bonding網路卡的兩個埠對映為同一個虛擬介面。
 
載入模組:
Modprobe bonding

以下是bond0,eth0,eth1的配置資訊
/etc/sysconfig/network-script/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.1.199
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
/etc/sysconfig/network-script/ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
PEERDNS=no
TYPE=Ethernet
/etc/sysconfig/network-script/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
PEERDNS=no
TYPE=Ethernet

模組載入檔案的配置
/etc/modprobe.conf
alias bond0 bonding
options bond0 miimon=100 mode=1

在開機啟動的指令碼增加
/etc/rc.d/rc.local
ifenslave bond0 eth0 eth1

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12272958/viewspace-689956/,如需轉載,請註明出處,否則將追究法律責任。

相關文章