bond级 别 | bond名称 | bond特点 | 对交换机要求 |
---|---|---|---|
0 | round-robin | 按照设备顺序依次传输数据包。提供负载均衡和容错能力 | 交换机需要配 置trunking |
1 | active-backup | 只有一个设备处理数据,当它宕机的时候就会由备份代替, 仅提供容错能力 | 交换机不需要 配置trunking |
2 | load-balancing(xor) | 根据MAC地址异或运算的结果来选择传输设备,提供负载 均衡和容错能力 | 交换机需要配 置trunking |
3 | fault-tolerance (broadcast) | 通过全部设备来传输所有数据,提供容错能力 | 交换机需要配 置trunking |
4 | lacp | 通过创建聚合组来共享相同的传输速度,需要交换机也支 持802.3ad模式,提供容错能力 | 需要交换机支 持802.3d、交 换机需要配置 trunking |
5 | transmit load balancing | 由负载最轻的网口发送,由当前使用的网口接收。提供负 载均衡和容错能力。 | 交换机不需要 配置trunking |
6 | adaptive load balancing | 用负载最轻的网口进行发送和接收。提供负载均衡和容错 能力。 | 交换机不需要 配置trunking |
- 创建绑定接口: 使用
nmcli
创建一个新的绑定接口bon0
。
$ nmcli con add type bond con-name bon0 ifname bon0 master no
- 配置绑定接口模式: 设置
bon0
的模式为active-backup
。
balance-rr
:轮询模式active-backup
:主备模式balance-xor
:XOR 模式broadcast
:广播模式802.3ad
:LACP 模式balance-tlb
:传输负载均衡模式balance-alb
:适配器负载均衡模式
$ nmcli con mod bon0 bond.options "mode=active-backup"
- 设置 miimon 参数: 设置
miimon
参数为 1000,这通常用于监控网卡状态。
$ nmcli con mod bon0 bond.options "miimon=1000"
- 添加网卡到绑定接口: 将
ens192
和ens224
添加到bon0
。
$ nmcli con add type bond-slave con-name ens192 master bon0 ifname ens192
$ nmcli con add type bond-slave con-name ens224 master bon0 ifname ens224
- 配置IP地址
$ nmcli con mod bon0 ipv4.addresses 192.168.1.2/24 ipv4.gateway 192.168.1.1 ipv4.dns "114.114.114.114" ipv4.method manual autoconnect yes
6.启用绑定接口和网卡: 启用 bon0
和两个网卡。
$ nmcli con up bon0
$ nmcli con up ens192
$ nmcli con up ens224
- 检查配置: 使用
nmcli
检查配置是否正确。
$ nmcli con status
$ nmcli con show
VLAN
- 创建 bond 接口: 创建一个 bond 接口,这里以
balance-rr
(轮询模式)为例,并且不立即分配 IP 地址,因为稍后会在 VLAN 层面上配置:
nmcli con add type bond con-name Bond0 ifname bond0 mode balance-rr
- balance-rr (Round-Robin): 轮询模式,网络流量依次在各个 slave 接口间分发。
- active-backup: 主备模式,只有一个 slave 接口处于活动状态,其他作为备用。
- balance-xor: XOR 模式,基于源和目的 MAC 地址的异或运算结果来选择 slave 接口。
- broadcast: 广播模式,所有网络流量都会在所有 slave 接口上复制和发送。
- 802.3ad: LACP(链路聚合控制协议)模式,动态选择 slave 接口,根据流量负载和链路状态。
- balance-tlb (Adaptive Load Balancing): 动态传输负载均衡模式,根据当前网络流量动态选择 slave 接口。
- balance-alb (Adaptive Load Balancing with Broadcast): 动态传输负载均衡模式,同时支持广播流量。
- 添加网卡作为 bond 的 slave: 将
ens160
和ens224
添加为 bond 的 slave:
$ nmcli con add type bond-slave con-name Bond0-ens160 ifname ens160 master Bond0
$ nmcli con add type bond-slave con-name Bond0-ens224 ifname ens224 master Bond0
- 配置 VLAN: 假设您想要创建一个 VLAN 接口,VLAN ID 为 100,您可以这样添加 VLAN 接口:
$ nmcli con add type vlan con-name Vlan100 dev bond0 id 100
- 为 VLAN 接口分配 IP 地址: 为 VLAN 接口
Vlan100
分配 IP 地址,这里假设您使用的是静态 IP 地址配置:
$ nmcli con modify Vlan100 ipv4.addresses 192.168.100.10/24
$ nmcli con modify Vlan100 ipv4.gateway 192.168.100.1
$ nmcli con modify Vlan100 ipv4.dns "8.8.8.8 8.8.4.4"
- 启动 bond 和 VLAN 接口: 启动 bond 接口以及两个 slave 接口,然后启动 VLAN 接口:
$ nmcli con up Bond0-ens160
$ nmcli con up Bond0-ens224
$ nmcli con up Bond0
$ nmcli con up Vlan100
- 验证配置: 使用以下命令检查 bond 和 VLAN 接口的状态:
$ nmcli con show
$ nmcli con status Bond0
$ nmcli con status Vlan100
网桥
- 创建网桥: 首先,你需要创建一个网桥。你可以使用如下命令创建一个名为
br0
的网桥:
nmcli con add type bridge con-name br0 ifname br0
- 添加网卡到网桥: 接下来,将
ens192
和ens224
这两个网卡添加到你刚刚创建的网桥中:
nmcli con modify ens192 master br0
nmcli con modify ens224 master br0
- 启动网桥和网卡: 然后,启动网桥和这两个网卡:
nmcli con up br0
nmcli con up ens192
nmcli con up ens224
- 配置网桥的IP地址(如果需要): 如果你需要给网桥配置静态IP地址,可以使用以下命令:
nmcli con mod br0 ipv4.addresses 192.168.1.100/24
nmcli con mod br0 ipv4.gateway 192.168.1.1
nmcli con mod br0 ipv4.dns "8.8.8.8"
nmcli con mod br0 ipv4.method manual autoconnect yes
请将 192.168.1.100/24
替换为你的网桥IP地址和子网掩码,192.168.1.1
替换为你的网关地址,8.8.8.8
替换为你的DNS服务器地址。
- 重启网络服务(如果需要): 如果更改没有立即生效,你可能需要重启网络服务:
systemctl restart NetworkManager
## 配置和状态信息
[root@localhost ~]# cat /proc/net/bonding/bond0
Comments NOTHING