首先,我们需要打开内核对 bonding 支持。
设置内核 "make menuconfig/xconfig/config",在"Network device support"区段中选择"Bonding driver support",建议设置该驱动程序为模块,这样才能支持给驱动传递参数和设置多个bonding设备。
生成并安装新的内核和模块。
Bonding 的设置
我们需要在 /etc/modules.conf 中加入两行,这样才可以在设置了 bond 设置后,系统启动的时候自动加载 bonding 的驱动程序
alias bond0 bonding
options bond0 miimon=100 mode=1
当mode=1时为主备模式,mode=0时为负载均衡模式。
另外,在 /etc/sysconfig/network-scripts 目录中,创建一个名为 ifcfg-bond0 的文件。
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
在 bond 中的所有网络适配器的脚本中,都要有 SLAVE 和 MASTER 的定义。例如,如果要让eth0和eth1成为bond0的成员,它们对应的配置文件(ifcfg-eth0和ifcfg-eth1)就要仿照下面的内容进行更改:
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
在脚本文件ifcfg-eth1中,把eth0替换成eth1,同时,根据需要还要加入IP地址方面的信息。如果需要设置另外的 bonding 设备(例如bond1),就把MASTER=bond0改成bond1,这样,该网络适配器就成为bond1的附属设备了。
使 bond 生效
用命令 "/etc/rc.d/init.d/network restart" 重新启动网络子系统,也可以重新启动系统来使 bond0 生效。
这样,bond 的设置就基本结束了,如果希望了解更详细的信息,可以参考 "/usr/src/linux-2.4/Documentation/networking/bonding.txt"