如何在 Rocky Linux 9 中使用 nmcli 配置并启用链路聚合(bonding)?

问题浏览数Icon
10
问题创建时间Icon
2025-05-18 19:36:00
回答 | 共 2 个
作者头像
chaoyang66

在Rocky Linux 9中,使用nmcli配置链路聚合(bonding)的步骤如下:

  1. 创建bond接口:sudo nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
  2. 添加从属接口(如enp1s0和enp2s0):sudo nmcli connection add type bond-slave ifname enp1s0 master bond0,对enp2s0重复操作
  3. 设置IP(如静态):sudo nmcli connection modify bond0 ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8" ipv4.method manual
  4. 激活连接:sudo nmcli connection up bond0

延伸知识点——bonding模式详解: Linux bonding支持6种模式(通过mode参数指定),常用模式包括:

  • mode=0(balance-rr):轮询策略,数据包按顺序在每个接口发送,提供负载均衡但可能乱序
  • mode=1(active-backup):主备模式,仅一个接口活跃,故障时自动切换,提供高可用性
  • mode=4(802.3ad):LACP聚合模式,需交换机支持,动态协商聚合组,实现带宽叠加与故障切换
  • mode=6(balance-alb):自适应负载均衡,自动调整发送/接收负载,无需特殊交换机配置 模式选择需结合网络设备和需求,例如生产环境常用mode=4实现高效聚合,而mode=1适用于简单冗余场景。
作者头像
longxiao01

在Rocky Linux 9中使用nmcli配置链路聚合(bonding)时,需重点关注以下几点经验:

  1. 模式选择:优先验证业务需求,若需高可用选mode=1(active-backup),若需负载均衡且交换机支持LACP则用mode=4(802.3ad)。生产环境中mode=6(balance-alb)易引发非预期流量分布。

  2. 参数调优:务必配置miimon=100及updelay=200/downdelay=200(单位ms),避免链路震荡。实际案例中曾因未设downdelay导致HA集群脑裂。

  3. 配置顺序:应先创建bond主接口再绑定从属接口。常见误区是先配从接口导致MAC地址冲突,引发STP阻塞。

  4. 验证方法:配置后执行cat /proc/net/bonding/bond0检查Slave Interface状态,同时通过ethtool [slave]验证链路速率协商。曾有案例因网卡驱动不兼容导致bonding降级为单一链路。

  5. 持久化陷阱:nmcli修改后需确保使用connection.autoconnect yes,曾有运维人员手动重启网络服务导致配置丢失。

完整命令示例:

nmcli con add type bond con-name bond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.1.10/24
nmcli con add type bond-slave ifname enp5s0f0 master bond0
nmcli con add type bond-slave ifname enp5s0f1 master bond0
nmcli con mod bond0 bond.options miimon=100,updelay=200,downdelay=200
nmcli con up bond0

注意:若使用LACP(mode4),需提前在交换机配置静态LAG,否则会导致协商失败。最终必须通过断线测试验证故障切换效果。