redhat7配置bond4

好的,在 RHEL 7.9 上配置 bond4,您可以使用 nmcli(NetworkManager 命令行工具)或传统的 ifcfg 配置文件。nmcli 是 RHEL 7 推荐的标准方法。

这里我将提供两种方法的配置步骤。

重要假设:

  • Bond 接口: bond4
  • 物理接口 (Slaves): 我将假设您使用 eth0eth1 作为成员。请将其替换为您的实际网卡名称。
  • Bond 模式: 我将使用 mode=4 (LACP, 802.3ad) 作为示例,这是企业环境中常见的模式,但它需要交换机进行相应配置。如果您需要简单的冗余,可以使用 mode=1 (active-backup)。
  • IP 配置: 我将使用静态 IP 192.168.1.100/24 作为示例。

准备工作:加载 Bonding 模块

在开始之前,请确保 bonding 内核模块已加载。

  1. 临时加载模块:Bashsudo modprobe bonding
  2. 使其永久生效(重启后自动加载):创建一个新文件:Bashsudo vi /etc/modules-load.d/bonding.conf 在该文件中添加一行:bonding 保存并退出。

方法一:使用 nmcli (推荐)

这是在 RHEL 7 上管理网络的首选方法,它会动态处理连接,不容易出错。

  1. 创建 Bond Master (bond4):此命令会创建一个名为 bond4 的 bond 连接,使用 bond4 接口,模式为 802.3ad (LACP),并配置静态 IP。Bashsudo nmcli connection add type bond con-name bond4 ifname bond4 \ mode 802.3ad \ ip4 192.168.1.100/24 \ gw4 192.168.1.1
  2. 配置 DNS 和其他选项 (可选):Bashsudo nmcli connection modify bond4 ipv4.dns "8.8.8.8,1.1.1.1" sudo nmcli connection modify bond4 ipv4.method manual sudo nmcli connection modify bond4 connection.autoconnect yes
    • 如果您想使用 DHCP,请将 ipv4.method 设置为 auto,并跳过 IP/GW/DNS 配置。
  3. 添加 Slave 接口 (eth0 和 eth1):注意: 如果 eth0 或 eth1 存在现有的 NetworkManager 配置,您可能需要先删除它们 (sudo nmcli connection delete 'eth0-profile-name') 或确保它们未被管理。Bashsudo nmcli connection add type bond-slave con-name bond4-slave-eth0 ifname eth0 master bond4 sudo nmcli connection add type bond-slave con-name bond4-slave-eth1 ifname eth1 master bond4
  4. 激活 Bond:Bashsudo nmcli connection up bond4 (通常,在添加 slave 后,master 会自动尝试激活)

方法二:使用 ifcfg 配置文件 (传统)

如果您禁用了 NetworkManager 或者更喜欢传统的网络脚本,可以使用此方法。

位置: /etc/sysconfig/network-scripts/

  1. 创建 ifcfg-bond4 (Master 接口):Bashsudo vi /etc/sysconfig/network-scripts/ifcfg-bond4 添加以下内容:Ini, TOMLDEVICE=bond4 NAME=bond4 TYPE=Bond BONDING_MASTER=yes ONBOOT=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no IPADDR=192.168.1.100 PREFIX=24 GATEWAY=192.168.1.1 DNS1=8.8.8.8 # 关键:Bonding 选项 BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"
  2. 配置 ifcfg-eth0 (Slave 1):Bashsudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改或创建内容如下 (删除所有 IP/BOOTPROTO 信息):Ini, TOMLDEVICE=eth0 NAME=eth0 TYPE=Ethernet ONBOOT=yes MASTER=bond4 SLAVE=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no
  3. 配置 ifcfg-eth1 (Slave 2):Bashsudo vi /etc/sysconfig/network-scripts/ifcfg-eth1 修改或创建内容如下:Ini, TOMLDEVICE=eth1 NAME=eth1 TYPE=Ethernet ONBOOT=yes MASTER=bond4 SLAVE=yes BOOTPROTO=none USERCTL=no NM_CONTROLLED=no
  4. 重启网络服务:警告: 重启网络服务会导致服务器短暂断开连接。Bashsudo systemctl restart network 或者,您可以尝试单独启动接口(如果它们之前是关闭的):Bashsudo ifup eth0 sudo ifup eth1 sudo ifup bond4

验证配置

无论使用哪种方法,都可以使用以下命令来验证 bond4 的状态:

  1. 查看 IP 地址:Baship addr show bond4 您应该能看到 bond4 接口以及分配给它的 192.168.1.100 IP。
  2. 查看 Bonding 详细状态 (最重要):Bashcat /proc/net/bonding/bond4 这个命令会显示当前的 Bonding 模式、MII 状态、LACP 状态以及每个 Slave 接口的状态(例如 "Up" 或 "Down")。

常用 Bonding 模式

您可以在 BONDING_OPTSnmclimode 参数中更改模式:

  • mode=0 (balance-rr): 轮询,负载均衡和容错。
  • mode=1 (active-backup): 主备,只有一个 slave 处于活动状态。这是最简单的容错模式,不需要交换机配置。
  • mode=4 (802.3ad): LACP 动态链路聚合。需要交换机支持和配置 LACP。
  • mode=6 (balance-alb): 适应性负载均衡,不需要交换机配置。

上面的示例都使用了 mode=4 (LACP) 和静态 IP。如果您需要使用不同的模式(如 mode=1 主备)或 DHCP,请告诉我,我可以为您提供相应的配置。

发表回复

后才能评论