为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断。比如我们可以将eth0和eth1绑定成虚拟网卡bond0

编辑/etc/modprobe.conf文件,加入以下内容

[root@linux-a ~]# vi /etc/modprobe.conf
alias bond0 bonding
options bond0 miimon=100 mode=0

miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0、1、2、3四种模式,常用的为0,1两种。 

  • mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。 
  • mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份. 

bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用 

建立虚拟网卡配置文件:新建/etc/sysconfig/network-scripts/ifcfg-bond0文件

[root@linux-a ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.254
NETMASK=255.255.255.0
GATEWAY=192.168.0.2

TYPE=Ethernet

更改/etc/sysconfig/network-scripts/ifcfg-eth0网卡的属性

[root@linux-a ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp

更改/etc/sysconfig/network-scripts/ifcfg-eth1网卡的属性

[root@linux-a ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
ONBOOT=yes
BOOTPROTO=dhcp

修改vi /etc/rc.d/rc.local 加入两行 

ifenslave bond0 eth0 eth1 

主备模式下,当一个网络接口失效时,不会出现网络中断,系统会按照/etc/rc.d/rc.local里指定网卡的顺序工作,机器仍能对外服务,起到了失效保护的功能。

查看虚拟网卡的状态:

[root@linux-a ~]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 2
Permanent HW addr: 00:0c:29:8b:f4:98

Slave Interface: eth1
MII Status: up
Link Failure Count: 2
Permanent HW addr: 00:0c:29:8b:f4:a2

分享条

转载请注明:

本文转自:http://www.liusuping.com/ubuntu-linux/redhat-linux-network-binding.html

 

上面的在虚拟机测试了,确实可以显示,下图是我们服务器做的双网卡绑定,不过这个是当时同事做的,俺不会弄,看到效果还是很明显的。