作者简介:oracle dba,现从事大型oracle数据库维护工作

双网卡绑定不仅可以实现网卡主备功能还能实现网卡IO的负载均衡作用。
以下实验通过rhel 6.4设置双网卡成功。
[root@xxxx ~]# lsb_release -a 系统版本
实施计划:
1:创建/etc/sysconfig/network-scripts/ifcfg-bond0文件
2:用ethtool命令确定每个网口对应的配置文件,例如ethtool -p eth2,会看到对应的网口闪烁。确定后修改ifcfg-eth2和ifcfg-eth3配置文件
3:配置模块信息
4:重启网络服务,使配置生效
5:尝试手动导入bonding驱动
6:手动激活bond0
7:Ifenslave工具手动配置eth2和eth3
8:重启服务器
9:验证双网卡绑定功能
注意:
如果服务器直接重启,那么第4步骤、第5步骤、第6步骤可以不执行。
具体步骤:
1:创建/etc/sysconfig/network-scripts/ifcfg-bond0文件
去掉mac地址相关信息(HWADDR),给个ip地址,网络地址,以下是ifcfg-bond0配置文件内容:
[root@xxxx network-scripts]# catifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=xx.xx.xx.xx
NETMASK=xxx.xxx.xxx.xxx
USERCTL=no

网卡核心参数说明:
DEVICE=eth0 #物理设备名
HWADDR=xx:xx:xx:xx:xx:xx #MAC地址
UUID=xxxxx-xxx-xxxx-xxxx-xxxxx #设备唯一标识
ONBOOT=yes #是否激活设备
BOOTPROTO=static #静态分配
IPADDR=xx.xx.xx.xx #静态IP地址
NETMASK=xxx.xxx.xxx.xxx #子网掩码
GATEWAY=xxx.xxx.xxx.xxx #网关
USERCTL=no #不许非root控制该设备
2:修改ifcfg-eth2和ifcfg-eth3配置文件
此服务器采用eth2和eth3来绑定成一个IP
[root@xxxx network-scripts]# catifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
MASTER=bond0
SLAVE=yes
USERCTL=no

[root@xxxx network-scripts]# catifcfg-eth3
DEVICE=eth3
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
MASTER=bond0
SLAVE=yes
USERCTL=no

3:配置模块信息
[root@xxxx modprobe.d]# vi/etc/modprobe.d/dist.conf
在文件最后添加两行:
alias bond0 bonding
options bond0 miimon=100 mode=1
注意:所有的网口不需要全部开启,要将NetworkManager服务关闭,可以使用service NetworkManager stop和chkconfigNetworkManager off关闭该服务,因为该服务与network服务有冲突;
参数说明:
miimon是指多久时间要检查网路一次,单位是ms(毫秒)
mode=0:平衡负载模式,两块网卡都在工作。
Mode=1:主备模式,其中一块网卡发生故障,则自动切换到另一个块网卡。
4:重启网络服务,使配置生效
启动过程中发现,eth2和eth3网卡启动失败,ifconfig查看网卡发现eth2和eth3网卡都失活了。
通过dmesg查看相关系统报错,没有有效信息
5:尝试手动导入bonding驱动
执行命令:modprobe -i bonding
重启网络,网卡绑定还是失效。
6:手动激活bond0
执行命令:ifconfig bond0 xxx.xxx.xxx.xxx up,发现bond0网卡已经激活
7:Ifenslave工具手动配置eth2和eth3
执行命令: ifenslave bond0 eth2 eth3
通过cat /proc/net/bonding/bond0 发现网卡绑定正常。正常之后需要在启动文件/etc/rc.d/rc.local添加 ifenslave bond0 eth2 eth3
8:重启服务器
这一步非常重要。需要验证网卡绑定是否生效。
重启之后查看网卡情况:
[root@xxxx ~]# cat/proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0(September 26, 2009)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: xx:xx:xx:xx:xx:xx
Slave queue ID: 0
Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: xx:xx:xx:xx:xx:xx
Slave queue ID: 0
从中可以看出两个网卡都是千兆网卡。如果服务器直接重启,那么第4步骤、第5步骤、第6步骤可以不执行。
9:验证双网卡绑定功能
ifconfig中查看两个网卡的绑定情况。
1)验证双网卡绑定是否负载均衡
eth2 Linkencap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
RXbytes:14707534910 (13.6 GiB) TX bytes:24060834322 (22.4 GiB)
Interrupt:18 Memory:df200000-df220000
eth3 Linkencap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
RXbytes:14787646217 (13.7 GiB) TX bytes:24048820114 (22.3 GiB)
Interrupt:19 Memory:df100000-df120000
RX表示接收数据包的情况
TX表示发送数据包的情况
如果两个网卡接受和发送的数据包基本一致可以肯定,双网卡绑定是负载均衡作用。
2)验证双网卡绑定是否有主备功能
[root@xxxx network-scripts]# ifconfigeth2 down
将网卡2失活,查看网络是否能够ping通;




