关于激活备份模式

激活备份模式在激活从设备发生连接障碍时,就会切换到其他从设备。切换到的从设备就会作为激活从设备运行。障碍是指线缆或NIC发生问题,连接中断。

拔掉激活从设备的LAN线缆,或执行ifdown命令,就可以确认切换的运行。

当前激活的从设备可以在/proc/net/bonding/bond0中确认。eth0第一次成为激活从设备时,bond0的MAC地址设置为eth0的MAC地址。即使切换为eth1,bond0的MAC地址也不会变化。由于这样的构造,使得从外部看起来bond0是一个端口。

小贴士:从Linux2.6.24开始安装了fail_over_mac选项,可以更改决定bonding接口的MAC地址的策略。

使用ifconfig命令可以确认当前的bonding接口和从设备的MAC地址。接口的原始MAC地址可以在/proc/net/bonding/bond0中确认。

下面将介绍在激活备份模式下使用的主要模块选项。

miimon

激活备份模式的连接障碍可以通过定期监控检查出来。miimon设置的是通过MII(Media Independent Interface)监控时的周期。单位为毫秒,初始设置值为100毫秒。使用MII监视时NIC必须和MII相对应。

NIC是否对应可以使用mii-tool命令来确认。如果与MII相对应,则会输出如下结果。#mii-tool


eth0:negotiated 100baseTx-FD flow-control, link ok

eth1:negotiated 100baseTx-FD flow-control, link ok


在不与MII对应的NIC下使用bonding的激活备份模式时,使用ARP监控。在模块选项中设置arp_interval、arp_ip_target等。这种情况下必须设置使用arp_ip_target监控的IP地址,监控过程中一直传输的是ARP数据包。

updelay

updelay选项在检测出从设备的连接后,不会立刻连接,而是会等待updelay所指定的时间。这个选项以毫秒为单位来设置。

这个选项在MII连接监控中有效。推荐设置为miimon数值的倍数。


updelay=100(单位为毫秒)


从Linux 2.6.31开始,即使指定updelay,最先输入的从设备也无视updelay。

操作系统启动后,bond0被ifup,并按照eth0、eth1的顺序注册为slave。eth0是最先注册的从设备,因此无视updelay,立刻被ifup。由于slave(eth0)已经注册,接下来的eth1就需要等待updelay的时间后再ifup。

primary

这个选项用来设置要作为激活从设备的接口。如果设primary=eth0,eth0就设置为激活从设备。例如,假设为了产生连接问题而执行ifdown eth0。连接会断开,因此激活从设备会切换到eth1。接下来执行ifup eth0命令,使eth0恢复。未设置primary模块选项时,激活从设备仍然是eth1。设置primary=eth0时,在ifup的时候激活slave切换为eth0。