修改三类文件: /etc/sysconfig/network-scripts/下的ifcfg-*文件 /etc/modprobe.conf文件 /etc/init.d/rc.local文件 设置方法: 1. 环境:windows xp+vmware, centos 5.3, 4块网卡,做两组绑定。 当前网卡:eth0-3 绑定后虚拟网卡:bond0-1 eth0、eth2绑定为bond0,eth1、eth3绑定为bond1,不同网段。 2. 修改ifcfg-*文件 增加ifcfg-bond0、ifcfg-bond1两个文件: 文件内容: [root@localhost network-scripts]# cat ifcfg-bond0 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE= bond0BOOTPROTO=none IPADDR= 192.168.100.101NETMASK=255.255.255.0 NETWORK=192.168.100.0 ONBOOT=yes USERCTL=no TYPE=Ethernet GATEWAY=192.168.100.101 [root@localhost network-scripts]# cat ifcfg-bond1 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE= bond1BOOTPROTO=none IPADDR= 172.16.0.1NETMASK=255.255.255.0 NETWORK=172.16.0.0 ONBOOT=yes USERCTL=no #TYPE=Ethernet TYPE=Ethernet 修改ifcfg-eth0、ifcfg-eth1、ifcfg-eth2、ifcfg-eth3四个网卡配置文件: 内容: [root@localhost network-scripts]# cat ifcfg-eth0 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE= eth0BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER= bond0SLAVE=yes TYPE=Ethernet [root@localhost network-scripts]# cat ifcfg-eth1 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE= eth1BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER= bond1SLAVE=yes TYPE=Ethernet [root@localhost network-scripts]# cat ifcfg-eth2 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE= eth2BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER= bond0SLAVE=yes TYPE=Ethernet [root@localhost network-scripts]# cat ifcfg-eth3 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE= eth3BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER= bond1SLAVE=yes TYPE=Ethernet 3. 修改/etc/modprobe.conf文件 [root@localhost network-scripts]# cat /etc/modprobe.conf alias eth0 pcnet32 alias eth1 pcnet32 alias scsi_hostadapter mptbase alias scsi_hostadapter1 mptspi alias scsi_hostadapter2 ata_piix alias eth2 pcnet32 alias eth3 pcnet32 alias bond0 bonding options bond0 miimon=100 mode=0 alias bond1 bonding options bond1 miimon=100 mode=0 4. 修改/etc/rc.d/rc.local文件 [root@localhost network-scripts]# cat /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local modprobe bonding miimon=100 mode=0 5. 测试 方法1:检查网络配置是否正常,是否可启动 /etc/init.d/network restart 方法2:检查系统启动时虚拟网卡是否正常启动 reboot 方法3:检查绑定网卡是负载均衡模式,还是主备冗余模式 cat /proc/net/bonding/bond0 cat /proc/net/bonding/bond1 6. 说明 如果是主备冗余模式,需将 options bond0 miimon=100 mode=0中 mode改为1 其它改为 options bond0 miimon=100 mode=1 primary=eth0 primary=eth0表示当前主网卡为eth0 其它在/etc/rc.d/rc.local中也修改 modprobe bonding miimon=100 mode=1 注1:经过测试,一直没试通一组网卡配置成负载均衡,一组配置成主备冗余的效果,两组网卡“必须”同一种模式,不知道能不能设,和应该怎么设。 注2:如果在5.3中使用/etc/modules.conf代替/etc/modprobe.conf文件,会在系统出现如下错误: bonding device bond0 does not seem to be present,delaying initialization. 这可能是因为5.3版本后,modprobe.conf取代了modules.conf文件的缘故,modules.conf文件虽仍可用,或在某些linux系统中可用,但在centos 5.3中不推荐使用。 注3:如果非要使用modules.conf文件,可以添加如下参数解决启动信息报错问题。 options bond0 miimon=100 mode=1 primary=eth0 max_bonds=2 max_bonds=2中的2表示虚拟网卡的数量。