目录标题
一、巡检结论(172.x.x.180)
- 宿主环境:VMware,虚拟网卡 VMXNET3
- 当前接口:
ens192(单口) - 链路能力:10 Gb/s,Full Duplex,Link detected: yes
- 结论:未配置
bond0聚合;若需冗余/扩展能力,应先在虚拟化层补齐多网卡,再做系统内 Bond/Team。
二、如何标准化查看 Bond0 聚合模式
1)最常用(内核 Bonding 状态)
cat /proc/net/bonding/bond0
# 关注:Bonding Mode / Transmit Hash Policy / MII Status / Slave Interface / Speed / Duplex
2)简洁检查
# bond 设备是否存在/模式
cat /sys/class/net/bond0/bonding/mode 2>/dev/null
# 详细链路与从口
ip -d link show bond0
# 所有 bond
ip link show type bond
# 模块加载与版本
lsmod | grep bonding || modinfo bonding
3)网络统计/健康度
cat /proc/net/dev | grep -E 'bond0|ens'
ethtool bond0 2>/dev/null
三、Bonding 常见模式速查
| 模式 | 名称 | 特点与前置 | 典型场景 |
|---|---|---|---|
| 0 | balance-rr | 轮询分担;交换机无需特性 | 简单聚合、实验 |
| 1 | active-backup | 主备切换;不需交换机改造 | 虚拟化/生产首选冗余 |
| 2 | balance-xor | 按 XOR(MAC/IP/端口)分担 | 简单负载、对称流量 |
| 3 | broadcast | 广播到所有从口 | 特殊容灾 |
| 4 | 802.3ad (LACP) | 需要交换机/虚拟交换机支持 LACP | 物理机/高端虚拟化 |
| 5 | balance-tlb | 仅发送自适应,交换机无要求 | 轻量分担 |
| 6 | balance-alb | 收发均衡,自适应,交换机无要求 | 虚拟化里较实用 |
VMware 提醒
- LACP(mode=4)仅在 vSphere Distributed Switch(vDS) 上支持;标准 vSwitch 不支持 LACP。
- VM 内多 vNIC 连接同一 vSwitch 时,冗余提升明显,单流吞吐未必线性提升;多流可更接近总带宽。
四、Bonding 效果与负载验证
# 聚合健康(所有从口必须 up)
grep -E 'MII Status|Slave Interface|Aggregator|LACP rate' /proc/net/bonding/bond0
# 实时流量(安装 iftop)
iftop -i bond0
# Prometheus(主机角度)
rate(node_network_transmit_bytes_total{device="bond0"}[5m]) * 8 / 1e9 # Gbit/s
单 TCP/UDP 单流常受制于单条从口速率;多并发流量更能体现聚合收益。
五、在当前 VMware 环境的实施建议
1)若只为高可用冗余
- 推荐模式:
mode=1 (active-backup)或mode=6 (balance-alb) - 动作:在 vSphere 为该 VM 新增 ≥1 张 vNIC(同一 PortGroup),再在来宾 OS 做 bond。
2)若追求汇聚带宽
- 需满足:ESXi 侧 vDS + LAG(LACP) 且上联交换机端口组也启用 LACP,链路与哈希策略一致。
- 来宾 OS 选
mode=4 (802.3ad) + xmit_hash_policy=layer3+4(更均衡)。
六、配置示例(可直接套用)
以下以 RHEL/CentOS 7/8 为例;NetworkManager 场景给出
nmcli;老式 network-scripts 也附示例。Debian/Ubuntu 在文末给出 Netplan 示例。
A. active-backup(推荐冗余)
NetworkManager(nmcli)
# 创建 bond
nmcli con add type bond ifname bond0 mode active-backup miimon 100
# 绑定从口(把 ens192/ens224 替换成你的 vNIC)
nmcli con add type bond-slave ifname ens192 master bond0
nmcli con add type bond-slave ifname ens224 master bond0
# 配置 IP
nmcli con mod bond0 ipv4.addresses 172.30.30.180/24
nmcli con mod bond0 ipv4.gateway 172.30.30.1
nmcli con mod bond0 ipv4.method manual
nmcli con up bond0
network-scripts(ifcfg-*)
# /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
NAME=bond0
BOOTPROTO=static
IPADDR=172.30.30.180
NETMASK=255.255.255.0
ONBOOT=yes
BONDING_OPTS="mode=active-backup miimon=100"
# /etc/sysconfig/network-scripts/ifcfg-ens192
DEVICE=ens192
ONBOOT=yes
MASTER=bond0
SLAVE=yes
# /etc/sysconfig/network-scripts/ifcfg-ens224
DEVICE=ens224
ONBOOT=yes
MASTER=bond0
SLAVE=yes
B. 802.3ad(LACP 聚合带宽)
# nmcli
nmcli con add type bond ifname bond0 mode 802.3ad miimon 100
nmcli con mod bond0 +bond.options "xmit_hash_policy=layer3+4,ad_lacp_rate=fast"
nmcli con add type bond-slave ifname ens192 master bond0
nmcli con add type bond-slave ifname ens224 master bond0
nmcli con mod bond0 ipv4.addresses 172.30.30.180/24 ipv4.method manual
nmcli con up bond0
交换机/vDS 侧:与
layer3+4或src-dst-ip-port等哈希保持一致;LACP 状态应为 active/fast。
C. 临时测试(无需重启,回滚方便)
modprobe bonding
ip link add bond0 type bond mode active-backup miimon 100
ip link set ens192 down
ip link set ens224 down
ip link set ens192 master bond0
ip link set ens224 master bond0
ip addr add 172.30.30.180/24 dev bond0
ip link set bond0 up
ip link set ens192 up
ip link set ens224 up
# 验证后再写入持久化配置
D. Ubuntu/Debian(Netplan)
# /etc/netplan/01-bond0.yaml
network:
version: 2
ethernets:
ens192: {}
ens224: {}
bonds:
bond0:
interfaces: [ens192, ens224]
addresses: [172.30.30.180/24]
gateway4: 172.30.30.1
parameters:
mode: active-backup # 或 802.3ad
mii-monitor-interval: 100
transmit-hash-policy: layer3+4 # 802.3ad 时可加
netplan apply
七、变更后验证清单(上线前/后各跑一遍)
cat /proc/net/bonding/bond0:Bonding Mode、MII Status: up、所有Slave Interface均 upip -d link show bond0:从口与上联状态一致,无频繁 up/downping/traceroute:连通性无丢包;ethtool -S看无异常错误计数- 压测多并发:
iperf3 -P 8(多流),验证聚合是否生效 - 监控:
node_network_*{device="bond0"}、告警规则同步调整
八、常见故障速排
- LACP 不起效:确认 vDS+LAG、上联交换机也启用 LACP,速度/双工一致,哈希策略匹配。
- 单流速度没提升:正常现象,聚合提升多流总吞吐;单流受制于单从口速率及对端能力。
- 偶发丢包/时延跳变:检查混接到不同速率/不同 STP 域;核对
miimon、物理链路质量与驱动版本。 - 虚拟化内多 vNIC:冗余收益明确;带宽收益依赖 vSwitch/LAG 与上联带宽规划。
1031

被折叠的 条评论
为什么被折叠?



