服务器双网卡bonding绑定配置实战:链路聚合与高可用模式详解

服务器bonding是什么,为什么需要链路冗余

服务器网卡bonding就是把多块物理网卡绑定成一个逻辑网卡,输出给上层使用。效果有两类:一类提升带宽,把流量分摊到多块网卡;另一类保障可用性,一块网卡故障或网线被拔掉时流量自动切到剩余网卡。物理机架设、IDC数据中心托管场景下,单网卡是单点,网线误插、交换机端口故障都可能把服务直接打挂,双网卡bonding是成本最低的服务器高可用手段。

bonding模式怎么选:mode 0到7适用场景对比

bonding支持7种模式,Linux内核自带,配置前先按场景确认选型:

mode 0(balance-rr):轮询分发,吞吐高,需要交换机支持静态聚合,且对端配置必须一致,否则乱序丢包。

mode 1(active-backup):主备模式,同一时刻只有一块网卡工作,故障自动切换,不需要交换机支持,是双网卡最稳、最常见的配置。

mode 4(802.3ad):动态链路聚合,需要交换机开启LACP,两块网卡同时工作并提高带宽,物理服务器与核心交换机对接的通用做法。

mode 2(balance-xor)、mode 5(balance-tlb)、mode 6(balance-alb)偏向负载均衡,其中5、6可以不依赖交换机聚合。没有明确需求时,先上mode 1保稳,再考虑mode 4提性能。

配置bonding:nmcli与配置文件两种方式

新版Rocky/CentOS Stream使用NetworkManager,用nmcli直接创建bond,配置写在/etc/sysconfig/network-scripts里:

nmcli con add type bond ifname bond0 mode active-backup miimon 100
nmcli con add type ethernet ifname ens33 master bond0
nmcli con add type ethernet ifname ens37 master bond0
nmcli con mod bond0 ipv4.method manual ipv4.addresses 192.168.1.100/24
nmcli con mod bond0 ipv4.gateway 192.168.1.1
nmcli con up bond0

miimon 100表示每100毫秒检测一次链路状态,检测到断开自动切换。查看绑定后的聚合状态:

cat /proc/net/bonding/bond0

输出里会列出当前活动接口(Currently Active Slave)和各从接口的MII状态,状态为up表示正常。

链路切换验证与故障演练

配置完成后强制进行验证,不要等到线上故障。演练方法:启动bond0后,用ip link set ens33 down主动断开主卡,观察ping进程是否连续,同时cat /proc/net/bonding/bond0确认活动接口切换到ens37。恢复ens33后流量会切回,注意mode 1默认不会自动切回,需要手动设置primary让主卡优先后回到主卡。

nmcli con mod bond0 +bond.options primary=ens33

切换过程正常应无丢包或仅切换瞬间丢弃个别包,如果出现长时间不可用,检查驱动与交换机配置。

与交换机联动及常见故障排查

mode 4需要交换机端口配置静态LACP或动态LACP,交换机侧没开聚合,绑定就失效,表现为只走一块网卡或持续丢弃。排查顺序:先确认两端口都在同一VLAN与聚合组,再检查两端口速率协商一致(千兆对千兆、万兆对万兆),最后看bonding状态文件里的链路速度。

另一个常见坑是IP与bond同时配置在物理网卡上,物理网卡绑定后在物理网卡上还留着一个IP,路由表出现冲突。slave网卡只配置主接口地址,IP只放在bond0上,否则ARP混乱。配置完成重启network服务或直接重启服务器,确认系统启动后bond正常、对端能ping通,才算收尾。

原创文章,作者:小编,如若转载,请注明出处:https://www.yunthe.com/fu-wu-qi-shuang-wang-ka-bonding-bang-ding-pei-zhi-shi-zhan/

(0)
小编小编
上一篇 13小时前
下一篇 13小时前

相关推荐