CentOS 7 网卡 Bond 配置详解

在服务器和网络设备管理中,网卡绑定(Bonding)是一种常见的技术,它通过将多个物理网卡绑定成一个逻辑接口,从而提高网络带宽、实现负载均衡和冗余备份,CentOS 7 作为广泛使用的服务器操作系统,内置了对网卡 Bonding 的良好支持,本文将详细介绍如何在 CentOS 7 中配置网卡 Bond,包括基本概念、配置步骤、模式选择以及常见问题排查。
网卡 Bond 的基本概念
网卡 Bonding(也称为链路聚合)是一种将多个物理网卡组合成一个虚拟网卡的技术,这种技术可以显著提升网络的吞吐量、可用性和容错能力,在 CentOS 7 中,Bonding 通过内核模块实现,支持多种工作模式,每种模式适用于不同的应用场景,模式 0(平衡轮询)适合负载均衡,而模式 1(主动备份)则适合高可用性环境。
Bonding 模式及其适用场景
CentOS 7 支持多种 Bonding 模式,每种模式都有其独特的优势和适用场景,常见的模式包括:
- 模式 0(balance-rr):平衡轮询模式,数据包按顺序依次分配到各个物理网卡,适用于需要高带宽但对连接可靠性要求不高的场景。
- 模式 1(active-backup):主动备份模式,只有一个网卡处于活动状态,其他网卡作为备份,适用于对网络稳定性要求极高的环境。
- 模式 4(802.3ad):IEEE 802.3ad 动态链路聚合,需要交换机支持 LACP 协议,适用于需要高带宽和负载均衡的场景。
- 模式 6(balance-tlb):传输负载均衡模式,根据网卡的负载情况分配数据包,适用于服务器输出流量较大的场景。
- 模式 8(balance-alb):适配器负载均衡模式,结合了 TLB 和 ALB 的功能,适用于需要双向负载均衡的场景。
在 CentOS 7 中配置 Bonding
检查内核模块支持
在配置 Bonding 之前,确保系统已加载 Bonding 内核模块,执行以下命令检查:
modprobe bonding lsmod | grep bonding
如果模块未加载,可以编辑 /etc/modules-load.d/bonding.conf 文件,添加以下内容:
bonding
创建 Bond 接口配置文件
在 /etc/sysconfig/network-scripts/ 目录下,创建 Bond 接口的配置文件,ifcfg-bond0:
DEVICE=bond0 TYPE=Bond BOOTPROTO=none ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 BONDING_OPTS="mode=4 miimon=100"
mode 指定 Bonding 模式,miimon 指定链路状态检测间隔(单位为毫秒)。

配置物理网卡
将需要绑定的物理网卡(如 eth0 和 eth1)的配置文件修改为以下内容:
DEVICE=eth0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
对 eth1 执行相同的操作。
重启网络服务
保存所有配置文件后,重启网络服务以使配置生效:
systemctl restart network
验证 Bond 配置
使用以下命令检查 Bond 接口的状态:
cat /proc/net/bonding/bond0
输出应显示 Bond 模式、活动网卡以及链路状态等信息。
高级配置与优化
调整 Bonding 参数
根据实际需求,可以调整 BONDING_OPTS 中的参数,对于模式 4(802.3ad),可以添加 lacp_rate=fast 以加快链路聚合协商速度。
配置多个 Bond 接口
如果需要配置多个 Bond 接口,只需重复上述步骤,为每个 Bond 接口创建独立的配置文件,并指定不同的 DEVICE 名称。

与防火墙协同工作
如果启用了防火墙(如 firewalld),需要确保 Bond 接口被正确识别,可以检查防火墙规则,避免阻止 Bond 接口的流量。
常见问题排查
Bond 接口无法启动
检查物理网卡的配置是否正确,确保 MASTER 和 SLAVE 参数设置无误,确认 Bonding 内核模块已加载。
网络性能未达到预期
根据实际需求选择合适的 Bonding 模式,如果负载均衡效果不佳,可以尝试切换到模式 4(802.3ad)并确保交换机支持 LACP 协议。
相关问答 FAQs
Q1:如何在 CentOS 7 中查看当前 Bond 接口的模式?
A1:可以通过以下命令查看 Bond 接口的详细信息:
cat /proc/net/bonding/bond0
输出中的 Bonding Mode 字段会显示当前的模式,3ad 或 active-backup。
Q2:Bonding 配置后,物理网卡无法单独使用,如何解决?
A2:物理网卡一旦被绑定到 Bond 接口,就会失去独立配置的能力,如果需要单独使用物理网卡,需要将其从 Bond 配置中移除,即删除 /etc/sysconfig/network-scripts/ 下的对应网卡的 MASTER 和 SLAVE 参数,并重启网络服务。