绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片。
#vi ifcfg-bond0
# cat ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static IPADDR=172.16.0.1 NETMASK=255.255.252.0 BROADCAST=172.16.3.254 ONBOOT=yes TYPE=Ethernet
这里要主意,不要指定单个网卡的IP 地址、子网掩码。将上述信息指定到虚拟适配器(bonding)中即可
[root@rhas-13 network-scripts]# cat ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp [root@rhas-13 network-scripts]# cat ifcfg-eth1 DEVICE=eth1 ONBOOT=yes BOOTPROTO=dhcp
编辑 /etc/modules.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0.加入下列两行:
* /etc/modules.conf 文件已经不再使用
cat >> /etc/modprobe.d/bonding.conf <<EOF alias bond0 bonding options bond0 miimon=100 mode=1 EOF
说明: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会认为链路没有问题而继续使用。
# vi /etc/rc.d/rc.local
ifenslave bond0 eth0 eth1 route add -net 172.31.3.254 netmask 255.255.255.0 bond0
到这时已经配置完毕 重新启动机器。重启会看见以下信息就表示配置成功了
................ Bringing up interface bond0 OK Bringing up interface eth0 OK Bringing up interface eth1 OK ................
mode=1工作在主备模式下,这时eth1作为备份网卡是no arp的 [root@rhas-13 network-scripts]# ifconfig 验证网卡的配置信息
那也就是说在主备模式下,当一个网络接口失效时(例如主交换机掉电等),不回出现网络中断, 系统会按照cat /etc/rc.d/rc.local里指定网卡的顺序工作,机器仍能对外服务,起到了失效保护的功能。在mode=0 负载均衡工作模式,他能提供两倍的带宽,下我们来看一下网卡的配置信息:
在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用。通过查看bond0的工作状态查询能详细的掌握bonding的工作状态
Linux下通过网卡邦定技术既增加了服务器的可靠性,又增加了可用网络带宽,为用户提供不间断的关键服务。
ifenslave
apt-get install ifenslave-2.6
/etc/modules
bonding
modprobe bonding
/etc/modprobe.d/aliases
alias bond0 bonding options bonding mode=0 miimon=100 or options bonding mode=1 miimon=100 downdelay=200 updelay=200
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。