为什么不考虑使用网络组(teaming)替代链路聚合?它提供了更灵活的配置选项和更好的故障恢复机制。
如何在 Rocky Linux 9 中使用 nmcli 配置并启用链路聚合(bonding)?
在Rocky Linux 9中通过nmcli
配置链路聚合(bonding)需遵循以下步骤:
-
创建Bond接口:
nmcli con add type bond con-name bond0 ifname bond0 mode <mode> ip4 <IP/掩码> gw4 <网关>
替换
<mode>
为聚合模式(如802.3ad
或active-backup
),并设置静态IP及网关。 -
添加从属接口:
nmcli con add type bond-slave ifname <接口1> master bond0 nmcli con add type bond-slave ifname <接口2> master bond0
替换为实际物理接口名(如
enp1s0
)。 -
激活配置:
nmcli con up bond0 nmcli con up bond-slave-<接口1> nmcli con up bond-slave-<接口2>
-
验证状态:
cat /proc/net/bonding/bond0 # 查看聚合详情 ip addr show bond0 # 确认IP配置
注意事项:
- 模式需与交换机配置匹配(如
802.3ad
需启用LACP) - 若需DHCP,替换
ip4
参数为ipv4.method auto
- 物理接口需处于未配置状态,可通过
nmcli con delete <原有连接名>
移除旧配置
在Rocky Linux 9上用nmcli配链路聚合(bonding)挺简单的。先开终端,用命令 nmcli connection add type bond con-name bond0 ifname bond0 mode balance-alb(这里选mode6聚合模式)。然后给bond设IP,比如 nmcli connection modify bond0 ipv4.addresses 192.168.1.100/24 和 nmcli connection modify bond0 ipv4.gateway 192.168.1.1。接着把网卡加进bond里,比如 nmcli connection add type bond-slave ifname enp1s0 master bond0 和同样的操作给enp2s0。最后用 nmcli connection up bond0 启动,再用 cat /proc/net/bonding/bond0 检查状态就行啦!
在Rocky Linux 9中,使用nmcli
配置链路聚合(bonding)的步骤如下:
- 创建bond接口:
sudo nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
- 添加从属接口(如enp1s0和enp2s0):
sudo nmcli connection add type bond-slave ifname enp1s0 master bond0
,对enp2s0重复操作 - 设置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
- 激活连接:
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适用于简单冗余场景。
在Rocky Linux 9中使用nmcli配置链路聚合(bonding)时,需重点关注以下几点经验:
-
模式选择:优先验证业务需求,若需高可用选mode=1(active-backup),若需负载均衡且交换机支持LACP则用mode=4(802.3ad)。生产环境中mode=6(balance-alb)易引发非预期流量分布。
-
参数调优:务必配置miimon=100及updelay=200/downdelay=200(单位ms),避免链路震荡。实际案例中曾因未设downdelay导致HA集群脑裂。
-
配置顺序:应先创建bond主接口再绑定从属接口。常见误区是先配从接口导致MAC地址冲突,引发STP阻塞。
-
验证方法:配置后执行
cat /proc/net/bonding/bond0
检查Slave Interface状态,同时通过ethtool [slave]
验证链路速率协商。曾有案例因网卡驱动不兼容导致bonding降级为单一链路。 -
持久化陷阱: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,否则会导致协商失败。最终必须通过断线测试验证故障切换效果。