RHEL7 网口绑定Network Teaming
1、选择Networking Teaming配置方法
-
使用文本用户界面工具nmtui
-
使用命令行工具nmcli
-
使用ifcfg配置文件创建网络成组
-
使用图形用户界面配置网络成组
2、了解主接口和从属接口的默认行为【参考的官方文档】
3、网络成组和绑定对比
我的理解是传统bonding和teaming的对比。【参考的官方文档】
4、Network Teaming配置模式
-
broadcast (可将数据传送到所有端口)
-
round-robin (可按顺序将数据传送到所有端口)
-
active-backup(使用一个端口或链接时其他则处于备用状态)
-
loadbalance(使用主动Tx负载平衡及基于BPF的Tx端口选择程序)
-
lacp(采用802.3ad链接合并控制协议)
此外还可以使用以下链接监视程序
-
ethtool(Libteam lib使用ethtool监视链接状态变化)。若没有在配置中指定其他链接监控程序,则默认使用该程序。
-
arp_ping(使用arp_ping程序监控使用ARP数据包的远端硬件地址状态)
-
nsna_ping(使用IPv6邻居发现协议中的邻居播发和邻居请求监控邻居的接口状态)
注意,使用lacp运行程序时,只推荐使用ethtool链接监视程序
5、安装相应的软件包
服务器环境:
系统环境:
安装软件包:
#yum install teamd
查看系统中的网口:
#ip link show
eno49和eno50做绑定,模式为 :主备-activebackup(一个网卡处于活跃状态,另一个处于备份状态,所有流量都在主链路上处理,当活跃网卡down掉时,启用备份网卡。)
6、使用nmcli命令行配置绑定
6.1 创建组接口team0
设备类型:team;设备名称和连接名称均为team0;绑定模式:activebackup-主备模式
#nmcli connection add type team ifname team0 con-name team0 config '{"runner":{"name":"activebackup"}}'
6.2 设置ip地址和子网掩码,设置ip获取方法为手动
# nmcli connection modify team0 ipv4.addresses '192.168.10.10/24 ' ipv4.gateway '192.168.10.254' ipv4.dns '8.8.8.8'
#nmcli connection modify team0 ipv4.method manual
配置完成后,会在/etc/sysconfig/network-scripts目录下生成ifcfg-team0的配置文件,如下图:
6.3将两块网卡添加进team0
添加网卡eno49/50,设备类型:team-slave;连接名称:team0-p1;master:team0
#nmcli connection add type team-slave ifname eno49 con-name team0-p1 master team0
#nmcli connection add type team-slave ifname eno50 con-name team0-p2 master team0
配置完成后,此时会在/etc/sysconfig/network-scripts目录下生成ifcfg-team0-p1,ifcfg-team0-p2的配置文件:
查看配置文件:
6.4 激活team0及其子网卡
直接重启网络服务:systemctl restart network
或者一个一个就激活:
# 激活team0-p1
# nmcli connection up team0-p1
# 激活team0-p2
# nmcli connection up team0-p2
# 激活team0
# nmcli connection up team0
查看当前活跃网卡:
如果有网口配置错误的,直接删除,再重新配置:nmcli conn delete eno50/team0-p1
6.5查看team0配置信息
6.6查看team0状态
查看当前活跃网卡:
查看team0端口状态:
最后的切换测试,直接在机房拔一根服务器的网线,ping只有一次丢包,没有中断。此次配置成功。
苦难并非乐事,但能者等闲视之,人生本来就是苦中作乐,切莫长吁短叹,虚度年华。