信创服务器网络更稳了!链路聚合Bonding实战

发布于:2025-04-11 ⋅ 阅读:(41) ⋅ 点赞:(0)

原文链接:信创服务器网络更稳了!链路聚合Bonding实战

Hello,大家好啊!今天给大家带来一篇信创服务器操作系统上链路聚合(Bonding)配置实战的文章。链路聚合可以让两块网卡协同工作,提高服务器网络可靠性和带宽利用率,是企业级部署和关键业务系统中非常重要的网络配置技能。本文将手把手教你,在信创服务器系统中通过NetworkManager和nmcli命令配置双网卡Active-Backup模式的链路聚合,即便是网络故障也能保障通信不中断!欢迎大家分享点赞,点个在看和关注吧!

什么是链路聚合(Bonding)?

链路聚合(Bonding)是一种把多块网卡虚拟成一块网卡使用的技术。

本次配置采用的是:模式:active-backup(主备模式)

一块网卡工作,另一块处于备份状态;

主用网卡故障时,备份网卡接管,网络不中断;

保证系统网络的高可用性,降低单点故障风险。

1.查看系统信息

[pdsyw@pdsyw1024 桌面]$ cat /etc/os-release 
​
[pdsyw@pdsyw1024 桌面]$ uname -a

cat /etc/os-release:查看系统发行版信息,包括版本号、ID 等。

uname -a:显示内核版本、硬件架构、主机名等整体系统信息。

这一步主要是确认当前操作系统的版本和内核版本,以便后续判断所需的软件包或配置策略是否兼容。

img

2.查看网卡信息

[root@pdsyw1024 ~]# ip a

ip a:显示系统中所有网络接口(包括物理网卡、虚拟网卡、回环接口等)的 IP 配置、MAC 地址、状态(UP/DOWN)等。通过这一步,可以了解到网卡的名称(如 ens160, ens192),确认它们是否已经有 IP等,为后续 Bond 配置做准备。

img

3.安装NetworkManager

[root@pdsyw1024 ~]# dnf install NetworkManager

dnf install NetworkManager:如果系统中尚未安装或缺失此包,可以通过此命令安装 NetworkManager。一般默认都会安装 NetworkManager。但如果是极简镜像,可能需要手动安装。NetworkManager 提供了 nmcli 命令,使我们能够用更现代、灵活的方式管理网络连接。

img

4.确认内核模块

[root@pdsyw1024 ~]# lsmod | grep bonding
​
[root@pdsyw1024 ~]# modprobe bonding
​
[root@pdsyw1024 ~]# lsmod | grep bonding

lsmod | grep bonding:查看系统是否已经加载了 bonding 模块。

modprobe bonding:如果未加载,就通过 modprobe 手动加载;加载后再 lsmod | grep bonding 看看是不是已经进入内核模块列表。

bonding 是实现链路聚合(Bond)的关键内核模块,没有它就无法进行 Bond 配置。

img

5.创建Bond主连接

[root@pdsyw1024 ~]# nmcli connection add \
​
\> type bond \
​
> ifname bond0 \
​
> con-name bond0 \
​
> ip4 192.168.80.10/24 \
​
> gw4 192.168.80.254 \
​
> ipv4.dns 223.5.5.5 \
​
> bond.options "mode=active-backup,miimon=100"
连接 "bond0" (e73fd75d-4f12-4248-b5dc-d1da699de634) 已成功添加。

type bond:告诉 NetworkManager 创建的是一个 Bond 类型连接。

ifname bond0 con-name bond0:将该连接的接口名和连接名都指定为 bond0。

ip4 192.168.80.10/24:给 bond0 分配静态 IP 地址 192.168.80.10,掩码是 /24 (255.255.255.0)。

gw4 192.168.80.254:设置网关为 192.168.80.254。

ipv4.dns 223.5.5.5:设置 DNS 为 223.5.5.5。

bond.options "mode=active-backup,miimon=100":

mode=active-backup 指定了主备模式(只用一个网卡做流量,另一条网卡仅在故障时顶上)。

miimon=100 表示每 100 ms 检测一次链路状态。

这样就创建了一个 “Bond 主接口”,它在系统里会成为一个新的虚拟网卡 bond0,并且拥有 IP、网关和 DNS 设置。

img

6.创建并配置从属(Slave1)连接

[root@pdsyw1024 ~]# nmcli connection add \
​
> type ethernet \
​
> con-name ens160-slave \
​
> ifname ens160 \
​
> master bond0
​
连接 "ens160-slave" (57037856-3d79-4895-a733-c16179b8969a) 已成功添加。

type ethernet:从属网卡是物理以太网类型。

con-name ens160-slave:给连接一个自定义名称(便于区分这是给 ens160 网卡用的,从属到 bond0)。

ifname ens160:表示这是针对物理网卡 ens160 的配置。

master bond0:将 ens160 绑定到 bond0 主连接作为从属。

通过这一步,NetworkManager 会记录“ens160 这块网卡属于 bond0”,让其不再独立分配 IP,而是受 bond0 控制。

img

7.创建并配置从属(Slave2)连接

[root@pdsyw1024 ~]# nmcli connection add \
​
> type ethernet \
​
> con-name ens192-slave \
​
> ifname ens192 \
​
> master bond0
​
连接 "ens192-slave" (d00f01b8-3bee-42db-b0d0-814ebd1f56e2) 已成功添加。

与第 6 步类似,只是更换了网卡名称为 ens192,让它也成为 bond0 的从属。

img

8.查看所有连接

[root@pdsyw1024 ~]# nmcli connection show

罗列系统中已创建的所有连接。会看到 ens160, ens192, bond0, ens160-slave, ens192-slave 五条连接(前两者为旧的独立网卡连接,后者为新建的 bond 相关连接)。

img

9.彻底删除旧连接(不推荐)

[root@pdsyw1024 ~]# nmcli connection delete ens160
​
[root@pdsyw1024 ~]# nmcli connection delete ens192

这两条命令删除了系统中原本针对 ens160 / ens192 的独立连接。这样做的结果是:只保留 ens160-slave 和 ens192-slave 可以绑定到 bond0,而不会再有同名的旧连接来冲突。之所以说“不推荐”是因为有时我们也许想保留原有连接配置以作参考,或者只想暂时停用而不删除。

img

10.仅禁用自动连接而不删除(推荐)

[root@pdsyw1024 ~]# nmcli connection modify ens160 connection.autoconnect no
​
[root@pdsyw1024 ~]# nmcli connection modify ens192 connection.autoconnect no
​
[root@pdsyw1024 ~]# nmcli connection down ens160
​
[root@pdsyw1024 ~]# nmcli connection down ens192

前两条命令让旧的 ens160、ens192 连接在开机或网线插拔时不再自动激活。这样可以避免它们和新的 ens160-slave / ens192-slave 产生冲突。后两条命令是手动停止当前活跃的 ens160、ens192 连接,让它们立即下线。停用后,我们的 bond0 才可以接管 ens160、ens192。

img

11.激活bond0连接

[root@pdsyw1024 ~]# nmcli connection up bond0

启动(激活)bond0 主连接。此时它会等待从属网卡上线,如果没有从属,那么 bond0 会暂时显示“master waiting for slaves”。

img

12.激活从属连接

[root@pdsyw1024 ~]# nmcli connection up ens160-slave
​
[root@pdsyw1024 ~]# nmcli connection up ens192-slave

分别启动 ens160-slave、ens192-slave 两个连接,让物理网卡 ens160、ens192 加入 bond0。

这样 bond0 就获得了实际物理链路,MII Status 应能变为 “up”。

img

13.查看状态

[root@pdsyw1024 ~]# nmcli connection show --active
​
[root@pdsyw1024 ~]# nmcli device status

nmcli connection show --active:查看当前所有“已激活”的连接;

nmcli device status:查看每个网卡 (DEVICE) 关联的连接以及管理状态。

可以确认bond0 是否为 “已连接”;ens160、ens192 是否已连接到各自的从属连接(ens160-slave, ens192-slave)。

img

14.查看Bond内核信息

[root@pdsyw1024 ~]# cat /proc/net/bonding/bond0

这是查看内核中 bond0 设备的详细信息的关键命令。可以看到:Bonding Mode、Currently Active Slave、MII Status、Speed、Link Failure Count 等。这里如果 “MII Status: up”,说明物理链路正常;Currently Active Slave: ens160 表示当前是 ens160 在主动工作(active-backup 模式下)。

img

15.查看bond0网卡

[root@pdsyw1024 ~]# ip addr show bond0

显示 bond0 这个虚拟网卡的 IP、MAC、状态等信息。如果 state UP 并且能看到分配好的 192.168.80.10/24,说明这个 IP 生效了。

img

16.在其他终端上测试连通性

pdsyw@pdsyw-PC:~/Desktop$ ping 192.168.80.10

从另一台机器(或同一台机器上其他网络环境) ping 192.168.80.10,验证是否可以正常响应。

如果能正常 ping 通,代表 bond0 这条虚拟网卡的网络访问已经配置成功了。

img

17.重启测试

[root@pdsyw1024 ~]# reboot

让服务器重启,以验证开机后是否还能保持正确的 Bond 配置和连接状态。

若重启后因自动连接优先级或 ifcfg 文件干扰,可能导致 bond0 无法自动 UP,需要排查并正确保留 only bond + slave 连接。

img

18.查看状态

[root@pdsyw1024 ~]# nmcli connection show --active   
​
[root@pdsyw1024 ~]# ip addr show bond0

同上,用来确认重启以后,bond0 依旧是“UP”,ens160、ens192 依旧是从属到 bond0。

如果这时看到 “ens160-slave”、“ens192-slave” 依然激活,bond0 拥有 IP,说明配置生效并成功持久化。

img

19.查看Bond内核信息

[root@pdsyw1024 ~]# cat /proc/net/bonding/bond0

再次确认目前的模式 (active-backup)、当前活动从属网卡、链路状态等,都和重启前一致。

表明系统在开机时自动加载 bonding 模块并启用了 bond0 配置。

img

20.测试网卡

20.1.当ens160网卡状态异常

[root@pdsyw1024 ~]# cat /proc/net/bonding/bond0

当人为断开 ens160 网线或者在虚拟机管理界面禁用 ens160 时,会看到:

ens160 的 MII Status: down

Currently Active Slave: ens192

在 active-backup 模式下,bond0 会把流量切换到另一块网卡 (ens192),保证网络连续性。

img

20.2.从其他终端测试连通性

pdsyw@pdsyw-PC:~/Desktop$ ping 192.168.80.10

验证故障转移是否成功:如果 ping 不间断或只丢一两个包,则表示故障转移工作正常。

img

20.3.当ens192网卡状态异常

[root@pdsyw1024 ~]# cat /proc/net/bonding/bond0

同理,如果拔掉 / 禁用 ens192,则 ens192 会显示 down,Currently Active Slave 切换到 ens160。依旧可以通过 ping 测试来确认网络是否保持畅通。

img

20.2.从其他终端测试连通性

pdsyw@pdsyw-PC:~/Desktop$ ping 192.168.80.10

验证故障转移是否成功:如果 ping 不间断或只丢一两个包,则表示故障转移工作正常。

img

到这里,信创服务器系统上链路聚合(Bonding)配置就全部完成了!通过active-backup主备模式,哪怕一条链路故障,系统网络依然畅通无阻,大大提高了服务器的稳定性和可靠性。如果您觉得这篇文章对您有帮助,欢迎分享点赞,点个在看和关注哦!后续我还会分享更多服务器网络、存储和高可用配置的实战技巧,敬请期待!


网站公告

今日签到

点亮在社区的每一天
去签到