网卡聚合链路
技术作用:将主机的多块网卡通过逻辑的方式聚合在一起,目的是加大带宽、冗余备份;
1. 实验环境
准备一台虚拟机,添加两块网卡(在同一通道)
#查看网卡名称及MAC地址
ifconfig
2. 保证 NetworkManager 服务正常运行
[root@lemon ~]# systemctl status NetworkManager | grep running
3. 移走原有的网卡配置文件并重启网卡服务
[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
[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 #查看网卡列表
- 将物理网卡
ens32
添加到team0
[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
[root@lemon ~]# nmcli c add con-name team0-2 type team-slave ifname ens34 master team0
连接“team0-2”(032b8040-5906-4c57-adef-d620b8d3b3e1) 已成功添加。
5. 模式介绍
# 其实除了activebackup模式,其余三种模式都属于负载均衡模式
# activebackup 高可用模式的特点:一个端口处于主状态 ,一个处于从状态,所有流量都在主链路上处理,从不会有任何流量。当主端口down掉时,从端口接手主状态。【主down掉,从就会顶上来】
# loadbalance 模式其中又分为:主动和被动模式。主动模式,是team会智能判断进行负载均衡。被动模式是进行随机的负载均衡。
# roundrobin 模式以轮循的方式传输所有端口的包。
# random模式 随机分配
# 一般在现实环境中都是用负载均衡模式
6. 开启添加到 team0 逻辑网卡里的两个物理网卡
[root@lemon ~]# nmcli connection up team0-1
[root@lemon ~]# nmcli connection up team0-2
[root@lemon ~]# nmcli d #查看网卡列表
7. 查看链路聚合状态是冗余备份的状态,并且当前活跃网卡为 ens32
[root@lemon ~]# teamdctl team0 state
8. 检查物理网卡的MAC地址是否统一
9. 设置 team0 网卡的临时 ip 地址并且启动该网卡
注:会自动生成 team0 网卡的配置文件
[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地址是否一样
10. 使用 xshell 连接测试
11. 查看并修改自动生成的 team0 网卡的配置文件
cat /etc/sysconfig/network-scripts/ifcfg-team0
cat /etc/sysconfig/network-scripts/ifcfg-team0-1
cat /etc/sysconfig/network-scripts/ifcfg-team0-2
修改并重启网络
[root@lemon ~]# vim /etc/sysconfig/network-scripts/ifcfg-team0
[root@lemon ~]# systemctl restart network
查看网络状态
[root@lemon ~]# nmcli c show
[root@lemon ~]# ifconfig
12. 测试网卡高可用
注:断开连接后,记得到虚拟机中重启一下网络,不然
xsell
是远程不上这台服务器的;至于这个步骤在真实环境中,你可以写个监控触发脚本来完成这步操作。
systemctl restart network
查看
team0
公共网卡的状态信息,发现活跃网卡从ens32
切换到ens34
[root@lemon ~]# teamdctl team0 state
使用 ping 命令测试一下网络是否是到影响
13. 扩展1
如若出现重启主机后,发现 ens32 ens34 team0 网卡的MAC地址不一致,处理方法如下
重新启动一下
team0
team0-1
team0-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 配置文件
[root@lemon ~]# vim /etc/sysconfig/network-scripts/ifcfg-team0
- 然后再重启一下
team0 team0-1 team0-2
[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
- 查看是否更改成功
[root@lemon ~]# teamdctl team0 state
15. 扩展3
将上面关掉的网络设备打开,验证链路聚合的网卡状态是否会自动恢复