文章目录

  • 前言
  • 示例


前言

在 linux 中, Rhel7 之前都是使用 bond 机制 来实现多网卡绑定同一个 IP 地址,来对网络提供访问,并按不同的模式来负载均衡或者轮回接替管理处理数据。而到了 Rhel7 之后,提供了一种强大的工具, nmcli 工具命令,使用此工具,将会根据命令参数的配置来重新生成特定的配置文件来供网络接口使用,方便而又灵活。在 Rhel7中,不再使用bond 机制定义,而是使用网络组 team 机制 ,把 team 组当作一个设备

示例

接下来我们直接做一个简单实验


先添加两张网卡

CentOS7 配置聚合链路配置教程 centos7配置team聚合_服务器


查看网卡及其绑定信息:nmcli devicenmcli connection

CentOS7 配置聚合链路配置教程 centos7配置team聚合_linux_02


很显然,ens33是我们原有的网卡,并且已成功连接,而 ens37ens38 是我们刚刚添加的网卡,我们可以对其进行手动配置

现在,我们需要查看Team网络组的示例文件并选择链路聚合模型

路径:/usr/share/doc/teamd/example_configs/,我们 cd 过去看一下

CentOS7 配置聚合链路配置教程 centos7配置team聚合_linux_03


我们选择第一个文件,并截取其中的一部分内容:cat activebackup_arp_ping_1.conf

CentOS7 配置聚合链路配置教程 centos7配置team聚合_IP_04


截取如下:"runner": {"name": "activebackup"}(没有逗号)添加 Team 设备及会话:nmcli connection add ifname team0 con-name team0 type team config '{"runner": {"name": "activebackup"}}'

CentOS7 配置聚合链路配置教程 centos7配置team聚合_IP_05

我们为其手动配置 IP 地址(这里也可以 dhcp 自动获取):nmcli connection modify team0 ipv4.method manual ipv4.addresses 192.168.32.168/24 ipv4.gateway 192.168.32.1 ipv4.dns 114.114.114.114

CentOS7 配置聚合链路配置教程 centos7配置team聚合_服务器_06


我们已经成功为其配上 168 的地址(我随便配的)

添加设备到 team0 :(team0-port1 也是我随便写的)

  1. nmcli connection add type team-slave ifname ens37 con-name team0-port1 master team0
  2. nmcli connection add type team-slave ifname ens38 con-name team0-port2 master team0

CentOS7 配置聚合链路配置教程 centos7配置team聚合_linux_07


激活从设备:nmcli connection up team0-port1nmcli connection team0-port2

CentOS7 配置聚合链路配置教程 centos7配置team聚合_网络_08


激活主设备:nmcli connection up team0

CentOS7 配置聚合链路配置教程 centos7配置team聚合_CentOS7 配置聚合链路配置教程_09


查看状态:teamdctl team0 state

CentOS7 配置聚合链路配置教程 centos7配置team聚合_linux_10


可以看到,当前活跃的设备是 ens37

我们用另一台设备 ping 一下 168(本机)

CentOS7 配置聚合链路配置教程 centos7配置team聚合_linux_11


这时,我们关闭 ens37:nmcli connection down team0-port1

CentOS7 配置聚合链路配置教程 centos7配置team聚合_CentOS7 配置聚合链路配置教程_12


此时工作的就只剩下 ens38,我们看一下另一台主机是否还可以 ping 通

CentOS7 配置聚合链路配置教程 centos7配置team聚合_服务器_13


很显然,依然可以,这就是链路聚合的优点


最后一步,删除Team0

断开连接:nmcli connection down team0 删除team0:nmcli connection delete team0

nmcli connection delete team0-port1

nmcli connection delet team0-port2

CentOS7 配置聚合链路配置教程 centos7配置team聚合_CentOS7 配置聚合链路配置教程_14