本文将两张网卡进行链路聚合,操作系统为Ubuntu 22。
Ubuntu 22 采用的网络管理软件为netplan,所以我们的操作都是在netplan中进行的。
Bond 背景
Linux系统下的链路聚合一共有七种模式,详细可见下表:
俗称 | 配置简称 | 英文名 | 中文名 | 解释 |
---|---|---|---|---|
bond0 | balance-rr | Round-robin policy | 平衡轮询策略 | 传输数据包顺序是依次传输,直到最后一个传输完毕,此模式提供负载平衡和容错能力。 |
bond1 | active-backup | Active-backup policy | 活动备份策略 | 只有一个设备处于活动状态。一个链路断开后,另一个马上由备份转换为主设备。此模式提供了容错能力。 |
bond2 | balance-xor | XOR policy | 平衡策略 | 传输根据 (源MAC地址 xor 目标MAC地址) mod 设备数量 的布尔值选择传输设备。 此模式提供负载平衡和容错能力。 |
bond3 | broadcast | Broadcast policy | 广播策略 | 将所有数据包传输给所有设备。此模式提供了容错能力。 |
bond4 | 802.3ad | IEEE 802.3ad Dynamic link aggregation | IEEE 802.3ad 动态链接聚合 | 创建共享相同的速度和双工设置的聚合组。此模式提供了容错能力。每个设备需要基于驱动的重新获取速度和全双工支持;如果使用交换机,交换机也需启用 802.3ad 模式。 |
bond5 | balance-tlb | Adaptive transmit load balancing | 适配器传输负载均衡 | 通道绑定不需要专用的交换机支持。发出的流量根据当前负载分给每一个设备。由当前设备处理接收,如果接受的设 备传不通就用另一个设备接管当前设备正在处理的mac地址。 |
bond6 | balance-alb | Adaptive load balancing | 适配器负载均衡 | 包括mode5,由 ARP 协商完成接收的负载。bonding驱动程序截获 ARP在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。 |
– bond 1,bond 5 和 bond 6 不需要交换机端的设置,网卡能自动聚合
– bond 4 需要支持 802.3ad,需要配置交换机
本文选择Bond 2模式,分别对交换机与设备进行聚合配置。
一,交换机配置
上级为华为交换机,首先根据
二,设备配置
创建netplan配置,文件需要创建在目录“/etc/netplan”下,文件后缀为yaml。
network:
version: 2
renderer: networkd
ethernets:
enp3s0f0:
addresses: []
dhcp4: false
enp3s0f1:
addresses: []
dhcp4: false
bonds:
bond0:
interfaces:
- enp3s0f0
- enp3s0f1
addresses:
- 【IPv4地址】
- 【IPv6地址】
routes:
- to: 0.0.0.0/0
via: 【网关】
- to: ::/0
via: 【网关】
nameservers:
addresses:
- 223.5.5.5
- 8.8.8.8
- 2001:dc7:1000::1
search:
- localhost
- local
parameters:
mode: balance-xor
mii-monitor-interval: 100
执行命令使此配置生效
netplan apply
完毕后,执行ifconfig就可以看到新的bond0网卡了。