redhat7配置bond4
好的,在 RHEL 7.9 上配置 bond4,您可以使用 nmcli(NetworkManager 命令行工具)或传统的 ifcfg 配置文件。nmcli 是 RHEL 7 推荐的标准方法。
这里我将提供两种方法的配置步骤。
重要假设:
- Bond 接口:
bond4 - 物理接口 (Slaves): 我将假设您使用
eth0和eth1作为成员。请将其替换为您的实际网卡名称。 - Bond 模式: 我将使用
mode=4(LACP, 802.3ad) 作为示例,这是企业环境中常见的模式,但它需要交换机进行相应配置。如果您需要简单的冗余,可以使用mode=1(active-backup)。 - IP 配置: 我将使用静态 IP
192.168.1.100/24作为示例。
准备工作:加载 Bonding 模块
在开始之前,请确保 bonding 内核模块已加载。
- 临时加载模块:Bash
sudo modprobe bonding - 使其永久生效(重启后自动加载):创建一个新文件:Bash
sudo vi /etc/modules-load.d/bonding.conf在该文件中添加一行:bonding保存并退出。
方法一:使用 nmcli (推荐)
这是在 RHEL 7 上管理网络的首选方法,它会动态处理连接,不容易出错。
- 创建 Bond Master (bond4):此命令会创建一个名为 bond4 的 bond 连接,使用 bond4 接口,模式为 802.3ad (LACP),并配置静态 IP。Bash
sudo nmcli connection add type bond con-name bond4 ifname bond4 \ mode 802.3ad \ ip4 192.168.1.100/24 \ gw4 192.168.1.1 - 配置 DNS 和其他选项 (可选):Bash
sudo 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 配置。
- 如果您想使用 DHCP,请将
- 添加 Slave 接口 (eth0 和 eth1):注意: 如果 eth0 或 eth1 存在现有的 NetworkManager 配置,您可能需要先删除它们 (sudo nmcli connection delete 'eth0-profile-name') 或确保它们未被管理。Bash
sudo 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 - 激活 Bond:Bash
sudo nmcli connection up bond4(通常,在添加 slave 后,master 会自动尝试激活)
方法二:使用 ifcfg 配置文件 (传统)
如果您禁用了 NetworkManager 或者更喜欢传统的网络脚本,可以使用此方法。
位置: /etc/sysconfig/network-scripts/
- 创建
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" - 配置
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 - 配置
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 - 重启网络服务:警告: 重启网络服务会导致服务器短暂断开连接。Bash
sudo systemctl restart network或者,您可以尝试单独启动接口(如果它们之前是关闭的):Bashsudo ifup eth0 sudo ifup eth1 sudo ifup bond4
验证配置
无论使用哪种方法,都可以使用以下命令来验证 bond4 的状态:
- 查看 IP 地址:Bash
ip addr show bond4您应该能看到bond4接口以及分配给它的192.168.1.100IP。 - 查看 Bonding 详细状态 (最重要):Bash
cat /proc/net/bonding/bond4这个命令会显示当前的 Bonding 模式、MII 状态、LACP 状态以及每个 Slave 接口的状态(例如 "Up" 或 "Down")。
常用 Bonding 模式
您可以在 BONDING_OPTS 或 nmcli 的 mode 参数中更改模式:
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,请告诉我,我可以为您提供相应的配置。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。




