LEMON

记录站

0%

CentOS7 网卡聚合链路

CentOS7 网卡聚合链路

作用:将主机的多块网卡通过逻辑的方式聚合在一起,目的是加大带宽、冗余备份;

1. 实验环境

准备一台虚拟机,添加两块网卡(在同一通道)

1
2
#查看网卡名称及MAC地址
ifconfig

LjU5Zo

2. 保证 NetworkManager 服务正常运行

1
[root@lemon ~]# systemctl status NetworkManager | grep running

pt1kUj

3. 移走原有的网卡配置文件并重启网卡服务

1
2
3
4
[root@lemon ~]# mkdir /opt/network_bak
[root@lemon ~]# cd /etc/sysconfig/network-scripts/
[root@lemon network-scripts]# mv ifcfg-ens* /opt/network_bak/
[root@lemon network-scripts]# systemctl restart network

注:此时 xhell 应该已经断开了,所以后面的操作就得在虚拟机 或 服务器上面操作

4. 创建 team 公共逻辑网卡设备,并且将物理网卡添加到网卡中

提示:这里的 c 选项可以用 connection 来代替

  • 创建公共网卡设备 team0
1
2
3
[root@lemon ~]# nmcli c add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}'
连接“team0”(4980fa49-c5e6-4070-9553-686a8df23fb8) 已成功添加。
[root@lemon ~]# nmcli d #查看网卡列表

hv5WiP

  • 将物理网卡 ens32 添加到 team0
1
2
[root@lemon ~]# nmcli c add con-name team0-1 type team-slave ifname ens32 master team0
连接“team0-1”(f52c2b7a-1322-4cf1-a361-82dee280c68a) 已成功添加。
  • 将物理网卡 ens34 添加到 team0
1
2
[root@lemon ~]# nmcli c add con-name team0-2 type team-slave ifname ens34 master team0
连接“team0-2”(032b8040-5906-4c57-adef-d620b8d3b3e1) 已成功添加。

5. 模式介绍

1
2
3
4
5
6
7
8
9
10
11
# 其实除了activebackup模式,其余三种模式都属于负载均衡模式

# activebackup 高可用模式的特点:一个端口处于主状态 ,一个处于从状态,所有流量都在主链路上处理,从不会有任何流量。当主端口down掉时,从端口接手主状态。【主down掉,从就会顶上来】

# loadbalance 模式其中又分为:主动和被动模式。主动模式,是team会智能判断进行负载均衡。被动模式是进行随机的负载均衡。

# roundrobin 模式以轮循的方式传输所有端口的包。

# random模式  随机分配

# 一般在现实环境中都是用负载均衡模式

6. 开启添加到 team0 逻辑网卡里的两个物理网卡

1
2
3
[root@lemon ~]# nmcli connection up team0-1
[root@lemon ~]# nmcli connection up team0-2
[root@lemon ~]# nmcli d #查看网卡列表

pilJG8

7. 查看链路聚合状态是冗余备份的状态,并且当前活跃网卡为 ens32

1
[root@lemon ~]# teamdctl team0 state

wcrBCv

8. 检查物理网卡的MAC地址是否统一

DQHgd2

9. 设置 team0 网卡的临时 ip 地址并且启动该网卡

注:会自动生成 team0 网卡的配置文件

1
2
[root@lemon ~]# nmcli c modify team0 ipv4.addresses 192.168.1.1/24 ipv4.method manual
[root@lemon ~]# nmcli c up team0 && echo $?
  • # ifconfig 查看一下 team0 网卡的 IP地址,mac地址是否一样

u0VA1h

10. 使用 xshell 连接测试

UVzlC4

ZKmmaU

11. 查看并修改自动生成的 team0 网卡的配置文件

1
cat /etc/sysconfig/network-scripts/ifcfg-team0

q8HG6N

1
cat /etc/sysconfig/network-scripts/ifcfg-team0-1

tYZdhs

1
cat /etc/sysconfig/network-scripts/ifcfg-team0-2

1wev9a

修改并重启网络

1
[root@lemon ~]# vim /etc/sysconfig/network-scripts/ifcfg-team0

THXM5u

1
[root@lemon ~]# systemctl restart network

查看网络状态

1
2
[root@lemon ~]# nmcli c show
[root@lemon ~]# ifconfig

BFKbId

7t0fDS

12. 测试网卡高可用

fKTZll

注:断开连接后,记得到虚拟机中重启一下网络,不然 xsell 是远程不上这台服务器的;至于这个步骤在真实环境中,你可以写个监控触发脚本来完成这步操作。

1
systemctl restart network

查看 team0 公共网卡的状态信息,发现活跃网卡从 ens32 切换到 ens34

1
[root@lemon ~]# teamdctl team0 state

oYVrTG

使用 ping 命令测试一下网络是否是到影响

qNE4Wd

13. 扩展1

如若出现重启主机后,发现 ens32 ens34 team0 网卡的MAC地址不一致,处理方法如下

重新启动一下 team0 team0-1 team0-2 网卡

1
2
[root@lemon ~]# nmcli connection down team0 && nmcli connection up team0
[root@lemon ~]# nmcli connection up team0-1 && nmcli connection up team0-2

14. 扩展2

更改为负载均衡的方式

  • 修改 team0 配置文件
1
[root@lemon ~]# vim /etc/sysconfig/network-scripts/ifcfg-team0

lsUuib

  • 然后再重启一下team0 team0-1 team0-2
1
2
3
[root@lemon ~]# nmcli connection down team0 && nmcli connection up team0
[root@lemon ~]# nmcli connection up team0-1 && nmcli connection up team0-2
[root@lemon ~]# systemctl restart network
  • 查看是否更改成功
1
[root@lemon ~]# teamdctl team0 state

tsKFlL

15. 扩展3

将上面关掉的网络设备打开,验证链路聚合的网卡状态是否会自动恢复

GkZ5JE

nPODSz

-------------本文结束感谢您的阅读-------------