Bonding
就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。
Bonding的工作模式
•Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
•Mode 1 (active-backup)
活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
•Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。
创建bonding设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS=“miimon=100 mode=0”
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
查看bond0状态:/proc/net/bonding/bond0
miimon是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
删除bond0
ifconfig bond0 down
rmmod bonding
详细帮助参看:/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
实验,创建bond0.在vmware虚拟机,首先添加两块网卡,连接模式相同。
然后创建一个/etc/sysconfig/network-scripts/ifcfg-bond0 [root@god /etc/sysconfig/network-scripts]#vim ifcfg-bond0 DEVICE=bond0 #设备名 ONBOOT=yes #开机启动 BOOTPROTO=static #静态地址(必须是) BONDING_OPTS="miimon=100 mode=0" #链路检测,模式为0 IPADDR=192.168.200.6 PREFIX=24
绑定的两个网卡设备配置
[root@god /etc/sysconfig/network-scripts]#cat ifcfg-eth1 ifcfg-eth2 DEVICE=eth1 ONBOOT=yes BOOTPROTO=none MASTER=bond0 #主从设置 SLAVE=yes #主从设置 USERCTL=no DEVICE=eth2 ONBOOT=yes BOOTPROTO=none MASTER=bond0 #主从设置 SLAVE=yes #主从设置 USERCTL=no #普通用户不得配置
然后在重启网络服务即可
[root@god /etc/sysconfig/network-scripts]#service network restart Shutting down interface bond0: [ OK ] Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface bond0: Device eth2 does not seem to be present, delaying initialization. Unable to start slave device ifcfg-eth2 for master bond0. Determining if ip address 192.168.200.6 is already in use for device bond0... [ OK ] Bringing up interface eth0: Determining if ip address 10.1.36.6 is already in use for device eth0... [ OK ]
查看bond0是否完成
[root@god /etc/sysconfig/network-scripts]#ifconfig bond0 Link encap:Ethernet HWaddr 3E:6E:AC:F7:A9:16 #配置成功,现在两个网卡虚拟成一个接口从而达到复杂均衡的效果! inet addr:192.168.200.6 Bcast:192.168.200.255 Mask:255.255.255.0 UP BROADCAST MASTER MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) eth0 Link encap:Ethernet HWaddr 00:0C:29:00:07:39 inet addr:10.1.36.6 Bcast:10.255.255.255 Mask:255.0.0.0 inet6 addr: fe80::20c:29ff:fe00:739/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:16024 errors:0 dropped:0 overruns:0 frame:0 TX packets:872 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1436100 (1.3 MiB) TX bytes:115537 (112.8 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
原创文章,作者:ladsdm,如若转载,请注明出处:http://www.178linux.com/47544