网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量

网络组不同于旧版中bonding技术,提供更好的性能和扩展性

网络组由内核驱动和teamd守护进程实现.


下面我们以CentOS7系统为环境,演示下如何在Linux系统上利用nmcli命令创建网络组

nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}'

创建ifcfg-team0配置文件

wKioL1fOJ2fCnJnRAACHn5JzdkI552.png-wh_50

nmcli connection modify team0 ipv4.addresses 10.1.56.56/16

为team0添加IP

wKioL1fOJ2iCDnguAABbn-R1St0006.png-wh_50

修改ifcfg-team0配置文件中的BOOTPROTO=none

wKiom1fOJ2iRsooAAABUsni2L80850.png-wh_50

nmcli connection add con-name team-port1 type team-slave ifname eno33554984 master team0

nmcli connection add con-name team-port2 type team-slave ifname eno50332208 master team0

创建port1和prot2接口

wKioL1fOJ2nAJjI0AABxMKo0K_E080.png-wh_50

查看port1和port2配置文件

wKiom1fOJ2mh6RslAABGABAb0Bg567.png-wh_50

nmcli connection up team0 启用team0并查看


wKioL1fOJ2qSCOTCAABVanCrY64217.png-wh_50

nmcli connection up team-port1 启用port1接口

nmcli connection up team-port2 启用port2接口

并查看

wKiom1fOJ2rzQ_AyAABp1GsMdDo167.png-wh_50

teamdctl team0 state 查看team0的详细信息和启用网卡情况

发现port1的eno33554984处于runner状态

wKiom1fOJ2uCczmXAABBLts9Xtw334.png-wh_50

ifconfig查看网卡,发现eno33554984和eno50332208没有IP地址

而team0拥有IP地址,这说明我们的配置是正确的,eno33554984和eno50332208服务于team0

wKioL1fOJ2uRfawHAACdlt56on4523.png-wh_50

模拟损坏port1,发现在丢失一定数量的数据包后网络恢复正常

wKiom1fOJ2zTcJlAAACjLxJqKGg480.png-wh_50

teamdctl team0 state 查看team0的详细信息和启用网卡情况

发现之前的port1已经处于down状态,port2的eno50332208处于runner状态

wKioL1fOJ23wnmLeAABBgbx-DaY567.png-wh_50

模拟port1和port2全部损坏

wKioL1fOJ23g7_59AABBWlmGxLs329.png-wh_50

在丢失一定数量的数据包后网络再次恢复正常


wKiom1fOJ26ybUxVAADHYLzRXME482.png-wh_50

这是因为在我们之前的IP配置时,默认设置的为global全局可用,所以当team0网络组的两的接口全部损坏时,系统的另一个网卡eno16777736自动接手网络工作,从而就实现了冗错机制。

wKiom1fOJ26APLNXAAANQTKA3IY760.png-wh_50