h00pcie服务器装ningos的操作系统,怎么做bond聚合,
(0)
一、准备工作
1. 确认网卡信息
# 查看网卡信息
lspci | grep -i ethernet
ip link show
nmcli device status
ethtool eth0 # 查看具体网卡信息
# 确认网卡名称(通常是ensX, enpXsX, ethX等)
ls /sys/class/net/
2. 安装必要工具
# 如果使用NetworkManager
systemctl enable NetworkManager
systemctl start NetworkManager
# 如果使用传统network(CentOS/RHEL系)
yum install -y NetworkManager-tui
# 或
yum install -y network-scripts
二、Bonding配置方法
方法1:使用nmcli(NetworkManager命令行工具)- 推荐
创建Bond接口
# 创建bond0接口,模式为active-backup(模式1)
nmcli connection add type bond con-name bond0 ifname bond0 \
mode active-backup \
ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns 8.8.8.8 8.8.4.4
# 或者创建不带IP配置的bond接口
nmcli connection add type bond con-name bond0 ifname bond0 mode balance-rr
将物理网卡加入Bond
# 假设网卡为ens33和ens34
nmcli connection add type ethernet con-name bond-slave-ens33 ifname ens33 master bond0 slave-type bond
nmcli connection add type ethernet con-name bond-slave-ens34 ifname ens34 master bond0 slave-type bond
# 激活bond接口
nmcli connection up bond0
nmcli connection up bond-slave-ens33
nmcli connection up bond-slave-ens34
配置Bond模式参数
# 查看当前bond模式
nmcli connection show bond0 | grep bond.options
# 修改bond参数(例如改为mode 4/LACP)
nmcli connection modify bond0 bond.options mode=4,miimon=100,lacp_rate=fast
方法2:手动编辑配置文件(传统方法)
适用于使用network-scripts的CentOS/RHEL系统:
1. 创建Bond主配置文件
vim /etc/sysconfig/network-scripts/ifcfg-bond0
# bond0配置文件
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
OnBOOT=yes
BOOTPROTO=none
USERCTL=no
NM_COnTROLLED=no # 如果使用network-scripts,设为no
# Bonding参数配置
BONDING_OPTS="mode=1 miimon=100 primary=ens33"
# mode说明:
# mode=0 (balance-rr) 轮询
# mode=1 (active-backup) 主备
# mode=2 (balance-xor) 负载均衡
# mode=3 (broadcast) 广播
# mode=4 (802.3ad) LACP
# mode=5 (balance-tlb) 自适应传输负载均衡
# mode=6 (balance-alb) 自适应负载均衡
2. 配置从属网卡
# ens33配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
NAME=ens33
TYPE=Ethernet
BOOTPROTO=none
OnBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_COnTROLLED=no
# ens34配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens34
DEVICE=ens34
NAME=ens34
TYPE=Ethernet
BOOTPROTO=none
OnBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
NM_COnTROLLED=no
3. 加载Bonding模块
# 编辑模块配置
echo "alias bond0 bonding" > /etc/modprobe.d/bonding.conf
echo "options bonding mode=1 miimon=100" >> /etc/modprobe.d/bonding.conf
# 立即加载模块
modprobe bonding
方法3:使用nmtui(文本界面工具)
# 启动网络配置工具
nmtui
# 操作步骤:
# 1. 选择"Edit a connection"
# 2. 按"Add"添加新连接
# 3. 选择"Bond"
# 4. 配置bond名称、IP、网关等
# 5. 在"Slaves"中添加ens33, ens34
# 6. 保存并退出
# 7. 重启网络服务
三、验证Bonding配置
1. 检查Bonding状态
# 查看bond接口状态
cat /proc/net/bonding/bond0
# 或
ip link show bond0
# 查看bond0统计信息
cat /sys/class/net/bond0/bonding/mode
cat /sys/class/net/bond0/bonding/slaves
正常输出示例:
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2+3 (2)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
System MAC address: 00:0c:29:xx:xx:xx
Active Aggregator Info:
Aggregator ID: 1
Number of ports: 2
Actor Key: 9
Partner Key: 1
Partner Mac Address: 00:00:00:00:00:00
Slave Interface: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:xx:xx:xx
Slave queue ID: 0
Slave Interface: ens34
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:xx:xx:xx
Slave queue ID: 0
2. 网络连通性测试
# 测试网络连通性
ping 192.168.1.1
ping 8.8.8.8
# 查看路由
ip route show
route -n
# 查看ARP表
ip neigh show
3. 故障切换测试
# 模拟网卡故障
ifdown ens33
# 检查bond状态
cat /proc/net/bonding/bond0 | grep -A5 "Slave Interface: ens33"
# 恢复网卡
ifup ens33
# 测试切换
ping -c 1000 192.168.1.1
模式 | 模式名称 | 描述 | 交换机要求 | 适用场景 |
|---|---|---|---|---|
0 | balance-rr | 轮询,负载均衡 | 不需要特殊配置 | 静态负载均衡 |
1 | active-backup | 主备,故障切换 | 不需要特殊配置 | 高可用性 |
2 | balance-xor | 基于哈希的负载均衡 | 不需要特殊配置 | 负载均衡 |
3 | broadcast | 广播 | 不需要特殊配置 | 特殊用途 |
4 | 802.3ad (LACP) | 动态链路聚合 | 需支持LACP | 企业级负载均衡 |
5 | balance-tlb | 发送负载均衡 | 不需要特殊配置 | 出站负载均衡 |
6 | balance-alb | 自适应负载均衡 | 不需要特殊配置 | 双向负载均衡 |
推荐配置:
# 企业服务器推荐:LACP模式(需交换机支持)
BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast xmit_hash_policy=layer2+3"
# 简单主备:active-backup
BONDING_OPTS="mode=1 miimon=100 primary=ens33"
# 静态负载均衡:balance-rr
BONDING_OPTS="mode=0 miimon=100"
五、H3C服务器特殊注意事项
1. 检查H3C网卡驱动
# 查看网卡型号和驱动
lspci -v | grep -A20 -i ethernet
ethtool -i ens33
modinfo igb # Intel网卡驱动
modinfo ixgbe # 万兆网卡驱动
# 确保驱动支持bonding
modinfo bonding
2. 固件和驱动更新
# 从H3C官网下载最新驱动
# 对于Intel网卡
yum install -y kmod-ixgbe
# 或
dpkg -i ixgbe-*.deb
3. BIOS/UEFI设置
进入服务器BIOS/UEFI设置
检查网络接口卡设置
确认SR-IOV/VT-d等虚拟化设置
如有板载网卡,确认启用状态
六、常见问题排查
问题1:Bonding不生效
# 检查日志
dmesg | grep -i bond
journalctl -xe | grep -i bond
# 检查模块是否加载
lsmod | grep bond
# 重新加载模块
rmmod bonding
modprobe bonding
问题2:网卡无法加入bond
# 检查网卡是否被NetworkManager管理
nmcli device status
# 释放网卡控制
nmcli device set ens33 managed no
# 或完全禁用NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
问题3:性能问题
# 检查中断平衡
cat /proc/interrupts | grep -i eth
# 优化中断绑定
yum install -y irqbalance
systemctl enable irqbalance
systemctl start irqbalance
七、完整配置脚本示例
#!/bin/bash
# H3C H800服务器bonding配置脚本
# 适用于CentOS/RHEL 7/8, NingOS
set -e
# 配置参数
BOND_NAME="bond0"
BOND_IP="192.168.1.100"
BOND_NETMASK="255.255.255.0"
BOND_GATEWAY="192.168.1.1"
BOND_DNS1="8.8.8.8"
BOND_DNS2="8.8.4.4"
BOND_MODE="4" # LACP模式
SLAVES=("ens33" "ens34") # 从属网卡
# 安装必要工具
echo "安装必要工具..."
yum install -y NetworkManager network-scripts
# 停止NetworkManager
echo "停止NetworkManager..."
systemctl stop NetworkManager
systemctl disable NetworkManager
# 创建bond配置文件
echo "创建bond配置..."
cat > /etc/sysconfig/network-scripts/ifcfg-${BOND_NAME} << EOF
DEVICE=${BOND_NAME}
NAME=${BOND_NAME}
TYPE=Bond
BONDING_MASTER=yes
IPADDR=${BOND_IP}
NETMASK=${BOND_NETMASK}
GATEWAY=${BOND_GATEWAY}
DNS1=${BOND_DNS1}
DNS2=${BOND_DNS2}
OnBOOT=yes
BOOTPROTO=none
USERCTL=no
NM_COnTROLLED=no
BONDING_OPTS="mode=${BOND_MODE} miimon=100 lacp_rate=fast xmit_hash_policy=layer2+3"
EOF
# 配置从属网卡
for SLAVE in "${SLAVES[@]}"; do
echo "配置从属网卡 ${SLAVE}..."
cat > /etc/sysconfig/network-scripts/ifcfg-${SLAVE} << EOF
DEVICE=${SLAVE}
NAME=${SLAVE}
TYPE=Ethernet
BOOTPROTO=none
OnBOOT=yes
MASTER=${BOND_NAME}
SLAVE=yes
USERCTL=no
NM_COnTROLLED=no
EOF
done
# 配置bonding模块
echo "配置bonding模块..."
cat > /etc/modprobe.d/bonding.conf << EOF
alias ${BOND_NAME} bonding
options bonding mode=${BOND_MODE} miimon=100
EOF
# 加载模块
echo "加载bonding模块..."
modprobe bonding
# 重启网络
echo "重启网络服务..."
ifdown ${SLAVES[@]} 2>/dev/null || true
ifup ${BOND_NAME}
ifup ${SLAVES[@]}
# 设置开机启动
echo "设置网络开机启动..."
systemctl enable network
# 验证配置
echo "验证bonding配置..."
cat /proc/net/bonding/${BOND_NAME}
echo "配置完成!"
八、交换机侧配置(必须匹配)
H3C交换机配置示例:
# 创建聚合组
interface Bridge-Aggregation 1
description Server-Bond
link-aggregation mode dynamic
# 将端口加入聚合组
interface GigabitEthernet 1/0/1
port link-aggregation group 1
interface GigabitEthernet 1/0/2
port link-aggregation group 1
# 配置VLAN
interface Bridge-Aggregation 1
port link-type trunk
port trunk permit vlan 1 100
总结建议
模式选择:
如果交换机支持LACP,使用mode 4 (802.3ad)
如果只要求高可用,使用mode 1 (active-backup)
简单负载均衡用mode 0 (balance-rr)
H3C服务器特定:
检查服务器网卡固件版本
确认操作系统内核版本
测试网络中断恢复时间
测试验证:
一定要进行故障切换测试
测试网络吞吐量
验证服务连续性
如果遇到具体问题,请提供:
cat /proc/net/bonding/bond0输出
ip link show输出
操作系统版本信息
网络拓扑结构
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论