一、什么是bond
Bonding allows you to aggregate multiple ports into a single group, effectively combining the bandwidth into a single connection.
简而言之:把多个网口绑成一个出口,优化从而追求网络冗余,网络传输层的负载均衡
参考:https://wiki.centos.org/TipsAndTricks/BondingInterfaces
二、bond0配置
2.1 服务器配置
操作前请备份原有ifcfg-emx或者ifcfg-pxxx文件
1、vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=xxx.xxx.xxx.xxx NETMASK=255.255.255.192 GATEWAY=xxx.xxx.xxx.xxx USERCTL=no
2、vim /etc/sysconfig/network-scripts/ifcfg-p4p1
#设备和名称根据实际调整 DEVICE=p4p1 NAME=p4p1 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no
3、vim /etc/sysconfig/network-scripts/ifcfg-p4p2
#设备和名称根据实际调整 DEVICE=p4p2 NAME=p4p2 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no
多个网卡,修改对应网卡的DEVICE和NAME参数即可
4.vim /etc/modprobe.d/bond0.conf
使用模式mode 6(balance-alb)(适配器适应性负载均衡),不需要交换机策略支持,链路检测时间间隔100ms
alias bond0 bonding options bond0 mode=6 miimon=100
修改完成后重启网卡:
systemctl restart network (或:/etc/init.d/network restart)
5.查看bond状态:UP
6.确认bond状态、传输策略:cat /proc/net/bonding/bond0
三、bond4配置(CentOS 7.x)
3.1 交换机配置
[Huawei] int Eth-Trunk 44 //trunk口 [Huawei-Eth-Trunk44] trunkport GigabitEthernet 0/0/8 to 0/0/11 //服务器接入交换机对应的端口 [Huawei-Eth-Trunk44] mode lacp [Huawei-Eth-Trunk44] save
3.2 服务器配置
操作前请备份原有ifcfg-em或者ifcfg-pxxx文件
vim /etc/sysconfig/network-scripts/ifcfg-bond4
DEVICE=bond4 NAME=bond4 TYPE=Bond BONDING_MASTER=yes IPADDR=192.168.91.200 //bond后的IP NETMASK=255.255.255.0 PEERDNS=yes ONBOOT=yes BOOTPROTO=static BONDING_OPTS="mode=4 miimon=100 xmit_hash_policy=1" //bond相关策略
2.
vim /etc/sysconfig/network-scripts/ifcfg-p4p1
DEVICE=p4p1 NAME=p4p1 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond4 SLAVE=yes
3.
vim /etc/sysconfig/network-scripts/ifcfg-p4p2
DEVICE=p4p2 NAME=p4p2 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond4 SLAVE=yes
多个网卡,修改对应网卡的DEVICE和NAME参数即可
修改完成后重启网卡:
systemctl restart network (或:/etc/init.d/network restart)
4.查看bond状态:UP
5.确认bond4传输策略为:layer3+4 (1)
六、问题处理
6.1 bond4状态down,整个bond无法使用
1. 确认bond4端口状态为UP
2. 确认交换机对应端口配置为trunk口,对应trunk口开启lacp
6.2 bond状态up,部份端口无法使用
1. sar -n DEV 5 (确认具体哪个端口故障)
2.确认对应端口的状态,是否亮
3.交换机对应端口的光衰:dis transceiver int xg 1/0/3 verbose
6.3 bond4状态up,每个端口状态正常,但流量传输不是最大值
现象:4个xg端口bond,最大流量只有20G
1.查看bond4传输策略:layer3+4 (1)
正确传输策略:(相对公司推流系统使用情况)
错误传输策略:(相对公司推流系统使用情况)
解决方案:
ifcfg-bond4文件中,BONDING_OPTS增加:xmit_hash_policy=1
最后,重启可能是万能的...官方解释:bond模式长时间满流量传输存在“死机”可能