五、bond技术

wangzhaoyang 发布于 17 天前 40 次阅读 网络工程中的Linux系统 无~ 1347 字


bond级 别bond名称bond特点对交换机要求
0round-robin按照设备顺序依次传输数据包。提供负载均衡和容错能力交换机需要配 置trunking
1active-backup只有一个设备处理数据,当它宕机的时候就会由备份代替, 仅提供容错能力交换机不需要 配置trunking
2load-balancing(xor)根据MAC地址异或运算的结果来选择传输设备,提供负载 均衡和容错能力交换机需要配 置trunking
3fault-tolerance (broadcast)通过全部设备来传输所有数据,提供容错能力交换机需要配 置trunking
4lacp通过创建聚合组来共享相同的传输速度,需要交换机也支 持802.3ad模式,提供容错能力需要交换机支 持802.3d、交 换机需要配置 trunking
5transmit load balancing由负载最轻的网口发送,由当前使用的网口接收。提供负 载均衡和容错能力。交换机不需要 配置trunking
6adaptive load balancing用负载最轻的网口进行发送和接收。提供负载均衡和容错 能力。交换机不需要 配置trunking
  1. 创建绑定接口: 使用 nmcli 创建一个新的绑定接口 bon0
   $ nmcli con add type bond con-name bon0 ifname bon0 master no
  1. 配置绑定接口模式: 设置 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"
  1. 设置 miimon 参数: 设置 miimon 参数为 1000,这通常用于监控网卡状态。
   $ nmcli con mod bon0 bond.options "miimon=1000"
  1. 添加网卡到绑定接口: 将 ens192ens224 添加到 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
  1. 配置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
  1. 检查配置: 使用 nmcli 检查配置是否正确。
$ nmcli con status
$ nmcli con show

VLAN

  1. 创建 bond 接口: 创建一个 bond 接口,这里以 balance-rr(轮询模式)为例,并且不立即分配 IP 地址,因为稍后会在 VLAN 层面上配置:
   nmcli con add type bond con-name Bond0 ifname bond0 mode balance-rr
  1. balance-rr (Round-Robin): 轮询模式,网络流量依次在各个 slave 接口间分发。
  2. active-backup: 主备模式,只有一个 slave 接口处于活动状态,其他作为备用。
  3. balance-xor: XOR 模式,基于源和目的 MAC 地址的异或运算结果来选择 slave 接口。
  4. broadcast: 广播模式,所有网络流量都会在所有 slave 接口上复制和发送。
  5. 802.3ad: LACP(链路聚合控制协议)模式,动态选择 slave 接口,根据流量负载和链路状态。
  6. balance-tlb (Adaptive Load Balancing): 动态传输负载均衡模式,根据当前网络流量动态选择 slave 接口。
  7. balance-alb (Adaptive Load Balancing with Broadcast): 动态传输负载均衡模式,同时支持广播流量。
  1. 添加网卡作为 bond 的 slave: 将 ens160ens224 添加为 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
  1. 配置 VLAN: 假设您想要创建一个 VLAN 接口,VLAN ID 为 100,您可以这样添加 VLAN 接口:
   $ nmcli con add type vlan con-name Vlan100 dev bond0 id 100
  1. 为 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"
  1. 启动 bond 和 VLAN 接口: 启动 bond 接口以及两个 slave 接口,然后启动 VLAN 接口:
   $ nmcli con up Bond0-ens160
   $ nmcli con up Bond0-ens224
   $ nmcli con up Bond0
   $ nmcli con up Vlan100
  1. 验证配置: 使用以下命令检查 bond 和 VLAN 接口的状态:
   $ nmcli con show
   $ nmcli con status Bond0
   $ nmcli con status Vlan100

网桥

  1. 创建网桥: 首先,你需要创建一个网桥。你可以使用如下命令创建一个名为 br0 的网桥:
   nmcli con add type bridge con-name br0 ifname br0
  1. 添加网卡到网桥: 接下来,将 ens192ens224 这两个网卡添加到你刚刚创建的网桥中:
   nmcli con modify ens192 master br0
   nmcli con modify ens224 master br0
  1. 启动网桥和网卡: 然后,启动网桥和这两个网卡:
   nmcli con up br0
   nmcli con up ens192
   nmcli con up ens224
  1. 配置网桥的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服务器地址。

  1. 重启网络服务(如果需要): 如果更改没有立即生效,你可能需要重启网络服务:
   systemctl restart NetworkManager

## 配置和状态信息

[root@localhost ~]# cat /proc/net/bonding/bond0