一 引入互聯網時代,網絡的高可用性一直都是非常關鍵的一環,網絡故障即直接導致應用服務的中斷,而從IT技術發展的趨勢來看,除了高可用之外,網絡對於高性能的要求也將會越來越高。為了提供網絡的高可用性或高性能,我們可能需要將多塊網卡綁定成一塊虛擬網卡對外提供服務,這樣既可以獲得更高的帶寬,而且即使其中的一塊物理網卡出現故障,也不會導致連接中斷。多網卡綁定這個詞在不同的平台有不同叫法,在Linux下叫bonding。下面我們來看如何配置bonding。
本文以RHEL 6版本為例,其它版本的操作系統的配置原理上是大致相同的,差別是配置文件的不同,在此不一一贅述。如有需要,根據此文所述舉一反三,應該問題不大。
Linux的網卡綁定一般以雙網卡居多,兩張以上的網卡綁定也是相同的步驟,本文介紹的是4張網卡的配置。
[root@dddhost Desktop]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
依次編輯4張網卡,其中DEVICE為設備名稱(eth1-4),MASTER為bond網卡名稱(bond0)。
[root@dddhost Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
USERCTL=no
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.2.1.123
NETMASK=255.255.255.0
GATEWAY=10.2.1.1
BONDING_OPTS="miimon=80 mode=1"
設置IP、子網掩碼、網關等參數,以及網卡綁定的模式,其中BONDING_OPTS選項:
[root@dddhost Desktop]# cat /etc/modprobe.d/bonding.conf
alias bond0 bonding
[root@dddhost Desktop]# service NetworkManager stop
Stopping NetworkManager daemon: [ OK ]
[root@dddhost Desktop]# chkconfig NetworkManager off
[root@dddhost Desktop]# service network restart
Shutting down interface bond0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface bond0: [ OK ]
由上邊的輸出可以看到激活的網卡為eth1,為了測試網卡綁定是否成功,我們找另一台計算機ping bond0的IP,然後禁用eth1,觀察網絡連通性。
測試完成,網卡綁定工作正常。