在Skbyiltiy HA配置网卡的bonding负载均衡与互备

如果是RedHat系统,需要先将/etc/sysconfig/network-script/中的以ifcfg开头的几个网卡配置文件删除,因为配置bonding时不需要为每块网卡设置IP信息,如果是SLESt系统,则删除/etc/sysconfig/network中的以ifcfg-eth0开关的文件。

注意:不要删除lo的网卡配置文件

然后修改/etc/init.d/network文件,依次加入下列信息:

1、找到启动网卡的代码段,SLES系统大概在817行左右,如:
rc_reset
if [ -z "$INTERFACE" ] ; then
$FAKE ifup-route noiface -o rc $MODE
rc_status
test $FAILED -gt 0 && rc_failed 7
echo -n "Setting up service network . . . . . . . . . . . . . . . ."
rc_status -v
fi

reload_firewall not_on_boot
modprobe bonding mode=balance-rr miimon=100
ifconfig bond0 netmask <子网掩码> broadcast <广播地址>
ifenslave bond0 eth0
ifenslave bond0 eth0
;;

在双引号上加入以下内容:
modprobe bonding mode=balance-rr miimon=100
ifconfig bond0 netmask <子网掩码> broadcast <广播地址>
ifenslave bond0 eth0
ifenslave bond0 eth1

# 其中参数:
# mode=balance-rr为负载均衡
# mode=active-backup为互备
# 如果使用互备模式,则需要加上参数primary=ethx,例如:
# modprobe bonding mode=active-backup miimon=100 primary=eth0
# eth0和eth1是两块物理网卡

2、在stop选项的最前面加上:
大概在853行左右
$FAKE ifdown-dhcp all -o rc
rc_status
rm -f $RUN_FILES_BASE/if-*
rm -f $NETWORK_RUNFILE
echo -n "Shutting down service network . . . . . . . . . . . . . . ."
rc_status -v
fi
ifenslave -d bond0 eth2
ifenslave -d bond0 eth3
ifconfig bond0 down
modprobe -r bonding
;;

3、重起网络
>/etc/init.d/network restart

就可以在HA的服务配置中使用bond0作为网络接口了。