网卡链路聚合(NIC bonding,又称网卡绑定、网卡内部聚合)是指将多个物理网卡通过特定的技术方式绑定成一个逻辑网卡,实现增加带宽、冗余备份等功能。具体来说,网卡链路聚合可以将多个物理网卡的带宽进行汇总,从而提高网络传输速率;同时,当某一物理网卡出现故障时,其他网卡可以自动接管其工作,实现冗余备份,提高网络可靠性。在网络服务器、高性能计算集群等场景下,网卡链路聚合被广泛应用。(屁话)
上述简单来说就是在一个逻辑会话会话或者逻辑网卡中添加两张物理网卡(同一网段),这样一张网卡被使用一张网卡处于就绪状态,一旦一被使用的网卡down掉 ,那么另一张网卡立马可以无缝衔接启用,这样在大型活动中就可以避免一些过载而发生的事故(精华)
简单介绍四种方式
#聚合链路的四种模式
#注意:聚合链路一般有bond和team两种模式,bond模式最多两块网卡,而team最多可以加8快网卡,最常用的为team模式
#聚合链路的几种状态:
#1.active-backup:主备模式,所有的流量都在主链路上处理,备用链路没有任何流量(当主链路 down 掉时,备用链路上场)
#2.loadbalance:主动和被动模式;主动模式是 team 会智能判断进行负载均衡(被动模式是进行随机的负载均衡)
#3.roundrobin:以轮询的方式传输所有端口的包
#4.random:随机分配
#一般都会有三张网卡两张仅主机一张nat
#以下列为例 (ens32 ens35是仅主机网卡 每台主机的网卡接口都可能不一样)
第一步 添加网卡
第二步 检查网卡信息
#第一步检查NetworkManager是否呈现开启状态
[root@server01 ~]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-11-02 08:00:32 EDT; 13h ago
Docs: man:NetworkManager(8)
Main PID: 763 (NetworkManager)
CGroup: /system.slice/NetworkManager.service
├─ 763 /usr/sbin/NetworkManager --no-daemon
└─44367 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/...
Nov 02 21:10:52 server01.kylin2023.com NetworkManager[763]: <info> [1698973852.9240]...
···
Nov 02 21:10:52 server01.kylin2023.com NetworkManager[763]: <info> [1698973852.9306]...
Hint: Some lines were ellipsized, use -l to show in full.
可以看到上述服务处于开启状态 那么就继续执行下面步骤 如果处于stop 或者是disable
systemctl enable --now NetworkManager
#开启此服务
第三步 创建逻辑网卡
创建 team0 汇聚逻辑网卡. 并且将物理网卡添加到逻辑网卡中
nmcli connection add con-name team0 ifname team0 type team config '{"runner":{"name":"activebackup"}}' ip4 192.168.100.32/24
将 enp35和 enp36 添加到 team0
nmcli connection add con-name ens36 ifname eth0 type team-slave master team0
#将eth0网卡添加到team接口中
nmcli connection add con-name ens35 ifname eth1 type team-slave master team0
#将eth1网卡添加到team接口中
nmcli connection show
##查看
第四步 开启两个物理网卡
nmcli connection up eth0
nmcli connection up eth1
nmcli con up team0
#网卡开启为up 关闭则为down
#con即为connection的缩写
查看网卡设备信息
nmcli connection show
#可以看到已经开启和关闭的网卡具体的网卡名字是根据自己的虚拟机生成的网卡名称而定的
完成后测试
查看聚合链路的状态是否处于主备状态
teamdctl team0 state
[root@node2 ~]# teamdctl team0 stat
setup:
runner: activebackup
ports:
ens35
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
ens36
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: ens35
然后我们模拟网卡问题 禁掉ens35网卡
[root@node2 ~]# ifconfig ens35 down
[root@node2 ~]# teamdctl team0 stat
setup:
runner: activebackup
ports:
ens35
link watches:
link summary: down
instance[link_watch_0]:
name: ethtool
link: down
down count: 1
ens36
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: ens36
#由上述操作可得ens35和ens36是主备关系当一个死掉以后另一个会立马顶上去
到此 网卡链路聚合主备已经完成搭建,物理网卡通过特定的技术方式绑定成一个逻辑网卡,实现增加带宽、冗余备份等功能。具体来说,网卡链路聚合可以将多个物理网卡的带宽进行汇总,从而提高网络传输速率;同时,当某一物理网卡出现故障时,其他网卡可以自动接管其工作,实现冗余备份,提高网络可靠性。