Linux系统之Team链路聚合配置
操作步骤
一、Team链路聚合介绍
1. Teaming技术简介
2. 网卡的bonding和Teaming技术
3. Team常用工作模式
二、实践环境规划
三、添加物理网卡
1. 新增物理网卡
2. 查看网卡信息
四、Team链路聚合配置
1. 查看team的工作模式
2. 创建team0的网络接口
3. 配置team0接口的IP地址
4. 添加team0的子接口
5. 激活网卡
6. 检查team0接口的状态
五、测试Team链路聚合
1. 测试team0接口的网络连通情况
1. 停用ens37网卡
3. 测试网络情况
六、删除子接口操作
1. 删除子接口
2. 查看网卡信息
3. 重启team0
来自:https://blog.51cto.com/u_14664141/7060447
一、Team链路聚合介绍
- Teaming技术简介
1. 1.Teaming技术就是把同一台服务器上的多个物理网卡通过软件绑定成一个虚拟网卡;
2.我们可以通过Teaming技术做链路聚合,实现不同网卡的网卡的负载均衡和冗余;
- 网卡的bonding和Teaming技术
1. 1.一般在在RHEL5/RHEL6中使用的是Bonding,而RHEL7提供了一项新的实现技术Teaming,
用来实现链路聚合的功能。
2.网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,
"team"模式最多可以添加八块网卡。
- Team常用工作模式
3. Team常用工作模式如下:
roundrobin: 以轮循的模式传输所有端口的包
activebakup:主备模式这是一个故障迁移程序,监控链接更改并选择活动的端口进行传输
loadbalance: 监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡
broadcast: 广播容错,设备通过所有端口传输数据包
二、实践环境规划
本次实践规划:
hostname team接口IP地址 物理网卡 操作系统版本 jeven 192.168.200.126 ens37/38/39/40 centos 7.6 三、添加物理网卡
- 新增物理网卡
给虚拟机新增四张物理网卡 需要注意的是添加的网络适配器需网络模式一致,添加的个数为2的指数。
Linux系统之Team链路聚合配置_docker
- 查看网卡信息
查看新增的4张网卡ens37/38/39/40,已正常添加。
[root@localhost ~]# ip add |grep ens
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 10.10.201.222/24 brd 10.10.201.255 scope global noprefixroute ens33
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 10.10.201.127/24 brd 10.10.201.255 scope global noprefixroute dynamic ens37
4: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 10.10.201.101/24 brd 10.10.201.255 scope global noprefixroute dynamic ens38
5: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 10.10.201.229/24 brd 10.10.201.255 scope global noprefixroute dynamic ens39
6: ens40: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 10.10.201.138/24 brd 10.10.201.255 scope global noprefixroute dynamic ens40
四、Team链路聚合配置
- 查看team的工作模式
通过teamd.conf查看team的工作模式
man teamd.conf
翻译:
runner.name(字符串)
团队设备的名称。以下跑步者可用:
broadcast—简单的runner,它指导团队设备通过所有端口传输数据包。
roundrobin——简单的runner,它指导团队设备以roundrobing的方式传输数据包。
random——简单的runner,它指导团队设备在随机选择的端口上传输数据包。
activebackup--监视链接更改并选择用于数据传输的活动端口。
loadbalance——要进行被动负载平衡,runner只设置BPF散列函数,该函数将确定数据包的端口
传输为了进行主动负载平衡,runner在可用端口之间移动散列,试图达到完美的平衡。
lacp——实现802.3ad lacp协议。可以使用与负载平衡运行程序相同的Tx端口选择可能性。
默认值:循环
Linux系统之Team链路聚合配置链路02
- 创建team0的网络接口
使用 nmcli 命令,添加一个 team 网络接口 team0,我们选择的team模式是activebakup主备模式。
1.创建team0网络接口
[root@localhost ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
显示如下成功
Connection 'team0' (d53b931e-3f20-4ff0-b883-ea25e6c9b6fc) successfully added.
2.显示网络设备连接状态:
nmcli device status
3.配置team0接口的IP地址
配置team0接口的IP地址为10.10.201.211/24
命令如下
mcli connection modify team0 ipv4.addresses 10.10.201.211/24 ipv4.method manual
下面是nmcli其他一些命令也许以后用得到
一、基本命令 (也可以使用缩写:如nmcli dev status)
1、查询操作:
显示网络设备连接状态:nmcli device status
显示所有网络设备的详情:nmcli device show
显示所有网络连接:nmcli connection show
2、开关操作
启用网络连接:nmcli connection up ens30
停用网络连接:nmcli connection down ens30
禁用网卡:nmcli device disconnect ens30
启用网卡:nmcli device connect ens30
启用所有的网络连接:nmcli networking on
关闭所有的网络连接:nmcli networking off
3、创建与删除网卡连接配置
动态获取IP:nmcli connection add type ethernet con-name ens30 ifname ens30
静态获取IP:nmcli connection add type ethernet con-name ens30 ifname ens30 autoconnect yes ipv4.addresses 192.168.1.13/24 ipv4.gateway 192.168.1.1
删除网络配置文件:nmcli connection delete ens30
4、修改网卡连接配置
设置自动连接:nmcli connection modify ens30 connection.autoconnect yes
- 添加team0的子接口
将物理网卡ens37、ens38、ens39、ens40作为team0的子接口。
注意下面一一对应:
team0-port1 ifname ens37
team0-port2 ifname ens38
team0-port3 ifname ens39
team0-port4 ifname ens40
命令如下
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port1 ifname ens37 master team0
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port2 ifname ens38 master team0
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port3 ifname ens39 master team0
[root@localhost ~]# nmcli connection add type team-slave con-name team0-port4 ifname ens40 master team0
- 激活网卡
重启网络服务
1.重启动网卡
[root@localhost ~]# nmcli con reload
2.激活网卡
[root@localhost ~]# nmcli con up team0-port1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@localhost ~]# nmcli con up team0-port2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
[root@localhost ~]# nmcli con up team0-port3
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
[root@localhost ~]# nmcli con up team0-port4
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/10)
- 检查team0接口的状态
检查team0接口的状态,当前活动的网卡为ens37。
[root@localhost ~]# teamdctl team0 state
setup:
runner: activebackup
ports:
ens37
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens38
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens39
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens40
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: ens37
五、测试Team链路聚合
- 测试team0接口的网络连通情况
在宿主机,ping其team0的IP地址,网络正常。
ping 10.10.201.211 -t
Linux系统之Team链路聚合配置
- 停用ens37网卡
在本机停用ens37网卡,在局域网其他主机测试其连通性。
本机停用ens37网卡
1.
ifdown ens37
或者
nmcli device disconnect ens37
显示如下
Device 'ens37' successfully disconnected.
2.
查看当前team接口状态,可以看到现在ens40网卡接管服务。
[root@localhost ~]# teamdctl team0 state
setup:
runner: activebackup
ports:
ens38
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens39
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens40
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: ens40
如果启用网卡命令:
nmcli device connect ens37
- 测试网络情况
继续查看网络连通性,网络正常,网络没有中断即可。
六、删除子接口操作
- 删除子接口
查看网卡连接信息
[root@localhost ~]# nmcli con show
显示如下
NAME UUID TYPE DEVICE
ens33 a61ae827-15bb-44cd-acc3-8025b97abedd ethernet ens33
team0 d53b931e-3f20-4ff0-b883-ea25e6c9b6fc team team0
team0-port2 3fdee742-6e83-4e4d-a846-fc4e858241df ethernet ens38
team0-port3 b0546ac9-3ca5-4e12-ae4a-da94f8f0499a ethernet ens39
team0-port4 593652e3-3cbe-4d47-871a-06ba53461dbe ethernet ens40
team0-port1 aebb661a-5836-4ee4-9c49-175a717bf4fa ethernet --
team0-port1 f01db18b-bd22-4174-a1d8-978799c8b7b9 ethernet --
team0-port1 74506247-02c4-476b-b942-9e44084a6c43 ethernet --
team0-port1 3daaa4b9-8e4d-4818-af36-64b1c53ed43d ethernet --
team0-port1 1c526bd5-16f2-4953-9def-a3b9bb745f1c ethernet --
team0-port1 2553fccc-a125-49e8-9f06-65d2ad9d677b ethernet --
Wired connection 1 b151e0c3-44dc-3b0f-bfbf-1c12ba9907f0 ethernet --
Wired connection 2 3998995e-c0a0-30c3-afc6-c489e27bbcbb ethernet --
Wired connection 3 de1ee7b2-d972-3b2a-8b18-8f0eafd623de ethernet --
Wired connection 4 59cedfe2-8df6-3627-a535-aa0c6feaae0d ethernet --
删除子接口team0-port4 team0-port3 留team0-port1 team0-port2
命令如下
[root@localhost ~]# nmcli con delete team0-port4
显示如下
Connection 'team0-port4' (593652e3-3cbe-4d47-871a-06ba53461dbe) successfully deleted.
[root@localhost ~]# nmcli con delete team0-port3
显示
Connection 'team0-port3' (b0546ac9-3ca5-4e12-ae4a-da94f8f0499a) successfully deleted.
- 查看网卡信息
查看网卡连接信息
只有两个了
team0-port1 3daaa4b9-8e4d-4818-af36-64b1c53ed43d ethernet ens40
team0-port2 3fdee742-6e83-4e4d-a846-fc4e858241df ethernet ens38 )
[root@localhost ~]# nmcli con show
NAME UUID TYPE DEVICE
ens33 a61ae827-15bb-44cd-acc3-8025b97abedd ethernet ens33
team0 d53b931e-3f20-4ff0-b883-ea25e6c9b6fc team team0
team0-port1 74506247-02c4-476b-b942-9e44084a6c43 ethernet ens39
team0-port1 3daaa4b9-8e4d-4818-af36-64b1c53ed43d ethernet ens40
team0-port2 3fdee742-6e83-4e4d-a846-fc4e858241df ethernet ens38
team0-port1 aebb661a-5836-4ee4-9c49-175a717bf4fa ethernet --
team0-port1 f01db18b-bd22-4174-a1d8-978799c8b7b9 ethernet --
team0-port1 1c526bd5-16f2-4953-9def-a3b9bb745f1c ethernet --
team0-port1 2553fccc-a125-49e8-9f06-65d2ad9d677b ethernet --
Wired connection 1 b151e0c3-44dc-3b0f-bfbf-1c12ba9907f0 ethernet --
Wired connection 2 3998995e-c0a0-30c3-afc6-c489e27bbcbb ethernet --
Wired connection 3 de1ee7b2-d972-3b2a-8b18-8f0eafd623de ethernet --
Wired connection 4 59cedfe2-8df6-3627-a535-aa0c6feaae0d ethernet --
- 查看team接口状态
[root@localhost ~]# teamdctl team0 state
setup:
runner: activebackup
ports:
ens38
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens39
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens40
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: ens40
- 重启team0,查看当前网络连接状态,ens39/40两张网卡已停止使用。
[root@localhost ~]# nmcli con reload
[root@localhost ~]# nmcli con up team0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
[root@localhost ~]# nmcli con show