為了提供網絡的高可用我們需要將多塊網卡綁定設置成一塊虛擬的網卡對外提供服務,這樣可以防止一塊網卡損壞或者防止網線連接故障造成的連接中斷。
下面在Linux下我們使用eth0與eth1來虛擬成為bond0為例:------綁定的前提條件:芯片組型號相同,而且網卡應該具備自己獨立的BIOS芯片。
操作平台:OLE Linux 6.6
1、創建虛擬網絡接口配置文件ifcfg-bond0,並指定網卡IP:vi /etc/sysconfig/ network-scripts/ifcfg-bond0
cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
IPADDR=10.0.11.10
NETMASK=255.255.252.0
GATWAY=10.0.11.1
ONBOOT=yes
USERCTL=no
TYPE=Ethernet
2、分別修改ifcfg-eth0和ifcfg-eth1-----不能設置有關IP,網關,子網掩碼等信息。
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
TYPE=Ethernet
cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
TYPE=Ethernet
3、因為虛擬網卡實在內核模塊中實現的,所以需要安裝有module,在/etc/modules.conf中添加如下內容,以使系統在啟動時加載bonding模塊,對外虛擬網絡接口設備為 bond0。
加入下列兩行
alias bond0 bonding
options bond0 miimon=100 mode=0 --- 0表示兩塊物理網卡是以負載均衡的方式運行。
注:miimon是用來進行鏈路監測的。比如:miimon=100,那麼系統每100ms監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路;mode的值表示工作模式,他共有0,1,2,3四種模式,常用的為0,1兩種。
mode=0表示load balancing (round-robin)為負載均衡方式,兩塊網卡都處於active狀態。
mode=1表示fault-tolerance (active-backup)提供冗余功能,就是說默認情況下只有一塊網卡處於active,另一塊做備份.
如果采用此模式則:options bond0 miimon=100 mode=1 primary=eth0---表示eth0為active狀態,eth1為備用狀態。
bonding只能提供鏈路監測,即從主機到交換機的鏈路是否接通。如果只是交換機對外的鏈路down掉了,而交換機本身並沒有故障,那麼bonding會認為鏈路沒有問題而繼續使用
4、在/etc/rc.local中添加如下命令。
cat /etc/rc.local
modprobe bonding miimon=100 mode=0
配置完成重啟主機.
Bringing up interface bond0 OK
Bringing up interface eth0 OK
Bringing up interface eth1 OK