使用场景
bond:网络接口绑定(Network Interface Bonding)也称为 “端口聚合” 或 “链路聚合”。它是一种将多个物理网络接口(如网卡)组合成一个逻辑接口的技术,主要目的是:
提高带宽:多个物理接口的带宽叠加,提升数据传输速率。
冗余备份:当某个物理接口故障时,流量自动切换到其他正常接口,保障网络不中断。
负载均衡:在多个接口间分配网络流量,避免单个单接口过载。
在不同场景中,“bond” 的实现方式和术语可能略有差异:
例如,服务器的两个网卡绑定成一个 bond 接口,再与交换机的两个端口通过 LACP 聚合,可形成一个高带宽、高可靠的逻辑链路。
操作步骤
本文以交换机配置LACP(动态链路聚合)方式为例进行说明
静态聚合(Static Teaming):需与交换机的 LACP 静态模式配合,支持带宽叠加和冗余。
Switch Independent(交换机独立):无需交换机配置,适用于连接不同交换机的场景,支持主备模式。
LACP(动态聚合):需交换机启用 LACP 协议(802.3ad),自动协商聚合参数。
组合名称:自定义名称(如
Team01)。成员适配器:勾选需要加入组合的物理网卡(如
Ethernet、Ethernet 2)。组合模式:根据需求选择(我们使用时一般是做双网卡同时跑流量 而不是一主一备)
1、网络设备端(一般指网管型交换机)
一般由代理商/学校运维进行配置,大概步骤如下(华为交换机举例,服务器两个网卡插交换机的10/11口,并配置vlan2204):
1.1 创建 Eth-Trunk 接口并配置 LACP 模式
<Huawei> system-view [Huawei] sysname Switch //可选,设置设备名称 [Switch] interface eth-trunk 1 //创建Eth-Trunk 1接口 [Switch-Eth-Trunk1] mode lacp-dynamic //配置为动态LACP模式
1.2 将 10/11 端口加入 Eth-Trunk
[Switch-Eth-Trunk1] quit [Switch] interface GigabitEthernet 0/0/10 //进入10端口 [Switch-GigabitEthernet0/0/10] eth-trunk 1 //将端口加入Eth-Trunk 1 [Switch-GigabitEthernet0/0/10] quit [Switch] interface GigabitEthernet 0/0/11 //进入11端口 [Switch-GigabitEthernet0/0/11] eth-trunk 1 //将端口加入Eth-Trunk 1 [Switch-GigabitEthernet0/0/11] quit
1.3 配置 Eth-Trunk 接口加入 VLAN 2204
[Switch] interface eth-trunk 1 [Switch-Eth-Trunk1] port link-type access //设置为access类型 [Switch-Eth-Trunk1] port default vlan 2204 //加入VLAN 2204
1.4 保存配置
[Switch-Eth-Trunk1] quit [Switch] save //保存配置 The current configuration will be written to the device. Are you sure to continue?[Y/N]y
1.5 验证配置
[Switch] display eth-trunk 1 //查看Eth-Trunk状态 [Switch] display lacp statistics eth-trunk 1 //查看LACP统计信息 [Switch] display port vlan eth-trunk 1 //验证VLAN配置 配置完成后,10/11 端口会形成一个逻辑聚合链路,提高带宽并提供冗余备份功能,同时属于 VLAN 2204。
2、服务器端
1.1 Linux系统(以龙蜥8.10系统举例)
在龙蜥 8.10(Anolis OS 8.10)系统中,配置双网卡 bond(网络绑定)可以通过nmcli工具(NetworkManager)或手动编辑配置文件实现。以下是具体步骤:
前提条件
1、创建 bond 链路聚合网卡
# 创建名为bond0的绑定接口,模式根据需求选择
sudo nmcli connection add type bond con-name bond0 ifname bond0 mode 0 #mode 0 是两个网卡同时参与数据传输
# 启动bond接口
sudo nmcli connection up bond0
2、配置bond0网卡的地址
# 配置静态IP(实际项目中 替换为实际网络参数) sudo nmcli connection modify bond0 ipv4.addresses sudo nmcli connection modify bond0 ipv4.gateway sudo nmcli connection modify bond0 ipv4.dns sudo nmcli connection modify bond0 ipv4.method manual # 重启bond0使配置生效 sudo nmcli connection up bond0
2. 配置从属网卡
分别编辑两块网卡的配置文件(以 ens33 和 ens37 为例,项目中请修改为实际网卡名称):
# 配置ens33,如果之前配置过ip地址,可删除掉IPADDR等的相关信息
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
#按i添加/修改如下内容后:按Esc 再输入:wq!保存退出。
DEVICE=ens37
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
# 配置ens37
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens37
#按i添加/修改如下内容后:按Esc 再输入:wq!保存退出。
DEVICE=ens37
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
3. 重启网络服务
# 重启NetworkManager
sudo systemctl restart NetworkManager
sudo nmcli c reload
sudo nmcli c up bond0
sudo nmcli c up ens33
sudo nmcli c up ens374.验证配置
尝试ping 网关及baidu 测试联通性
尝试拔出任一网线,测试联通性
5.注意事项
若使用802.3ad(LACP)模式,需在交换机上对对应端口配置 LACP 聚合,否则 bond 可能无法正常工作。
龙蜥系统基于 CentOS/RHEL 8,配置方式与 RHEL 8 系列兼容。
如需删除 bond,可使用nmcli connection delete bond0及删除从属接口配置。
1.2 windows server系统
在Window上也称之为NIC Teaming,用于将多个物理网卡(NIC)组合为一个逻辑接口,实现带宽叠加、冗余备份或负载均衡。以下是具体配置步骤:
前提 1:检查前提条件
步骤 2:打开 NIC Teaming 配置界面
步骤 3:创建网络组合(Team)
步骤 4:配置组合接口的网络参数
步骤 5:验证配置(前提是交换机端已完成链路聚合配置)
3、链路聚合后传输速度功能验证
前提:两个服务器都做了聚合,或者有其他服务器是万兆可以用来测试做了双联路后突破千兆瓶颈。
3.1 部署接收端
sudo dnf install iperf3 -y
# 默认端口5201,直接启动服务端
sudo iperf3 -s
# 开放防火墙端口
vim /opt/esim/firewall/accept.conf
添加如下内容后 :wq!保存退出即可
192.168.1.101:TCP:5201 #发送服务器地址192.168.1.101为例
192.168.1.0/24:TCP:5201 #也可以设置允许IP段来测试上传
3.2 部署发送端(以接收端IP地址为192.168.1.100为例)
sudo dnf install iperf3 -y
iperf3 -c 192.168.1.100
3.3 观察测试结果
做链路聚合前,传输速度基本为单网卡的上限
做链路聚合后,传输速度>单网卡的速度,如下图。此时代表链路聚合是成功的。
如果配置过程中有其他问题,可以联系技术支持
