一、配置网卡聚合链路的作用
将主机的多块网卡通过逻辑的方式聚合在一起,目的是加大带宽、冗余备份,提供了网卡的高可用
二、聚合链路的四种模式
注意:聚合链路一般有bond和team两种模式,bond模式最多两块网卡,而team最多可以加8快网卡,最常用的为team模式
- active-backup: 一个端口处于主状态,一个处于从状态,所有的流量都在主链路上处理,从链路不会有任何流量,当主链路出错,从链路会顶替原来的主链路成为新的主链路。当坏掉的主链路恢复后并不会顶替掉从链路
- loadbalance: 这个模式又分为主动模式和被动模式。
主动模式为:逻辑网卡team会智能判断并且进行负载均衡
被动模式为:逻辑网卡team进行随机的负载均衡
- roundrobin: 这个模式会让两个链路以轮询的方式来处理所有端口的流量
- random: 这个模式会让两个链路的流量进行随机分配
三、实验环境
Centos7 | 双网卡(必须都是同一VM网卡) | 最好先使用Xshell或其他的软件进行远程连接 |
四、实验步骤
(1)保证Network Manager服务正常允许,然后写一份脚本,因为此实验需要关闭网卡,使用远程连接软件方便进行配置
[root@Centos7 ~]# systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since 六 2021-03-27 00:01:14 CST; 13min ago Docs: man:NetworkManager(8) Main PID: 667 (NetworkManager) CGroup: /system.slice/NetworkManager.service ├─ 667 /usr/sbin/NetworkManager --no-daemon └─1779 /usr/bin/teamd -o -n -U -D -N -t team0 -c {"hw... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... 3月 27 00:07:53 Centos7.4-1 NetworkManager[667]: <info> [16167... Hint: Some lines were ellipsized, use -l to show in full [root@Centos7 ~]# vim aaa.sh #!/bin/bash # 创建公共网卡设备team0,使用active-backup模式 nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}' # 将ens32和ens34网卡添加到逻辑网卡team中并且重命名为team0-1和team0-2 nmcli connection add con-name team0-1 type team-slave ifname ens32 master team0 nmcli connection add con-name team0-2 type team-slave ifname ens34 master team0 # 启动新建的team0-1和team0-2网卡 nmcli connection up team0-1 nmcli connection up team0-2 # 查看网卡设备信息,team0为黄色,team0-1和team0-2为绿色即为正常 nmcli connection show # 让脚本停止十秒钟,方便查看状态 sleep 10 # 查看链路聚合状态是冗余备份的状态,会发现当前的活跃网卡 active port 为ens32 teamdctl team0 state # 让脚本停止十秒钟,方便查看状态 sleep 10 # 设置team0网卡的临时ip并且启动该网卡 nmcli connection modify team0 ipv4.addresses 192.168.100.203/24 ipv4.gateway 192.168.100.254 ipv4.method manual nmcli connection up team0 # 修改team0的配置文件,把none改为static sed -i 's/none/static/g' /etc/sysconfig/network-scripts/ifcfg-team0 # 重新启动网卡 systemctl restart network # 查看网卡信息 ifconfig 保存退出
(2)删除原来的ens32和ens34网卡的配置文件,并且重新启动网络服务
[root@Centos7 ~]# rm -rf /etc/sysconfig/network-scripts/ifcfg-ens32 [root@Centos7 ~]# rm -rf /etc/sysconfig/network-scripts/ifcfg-ens34 [root@Centos7 ~]# systemctl restart network
(3)这时候远程连接的设备会掉,跳到虚拟机,执行脚本
(4)提示网卡内容如图所示,“黄绿绿”即为正常
(5)可以看到现在的活跃网卡为ens32
(6)发现ens32的地址和team0相同
(7)这个时候发现xshell已经可以重新连接了
(8)关掉第一个网卡,点击断开连接
(9)发现还是可以连接xshell,但是活跃端口active port 变成了ens34,至此,网卡的高可用已经配置完成