linux网络绑定配置需先选模式再按步骤设置。常用模式有:mode=0(负载均衡但需交换机支持)、mode=1(主备高可用)、mode=4(lacp带宽冗余)、mode=5/6(自适应负载均衡无需交换机)。选择依据:稳定性选mode=1,带宽冗余且交换机支持lacp选mode=4,无交换机配合选mode=5/6。配置步骤包括:创建bond接口文件、修改网卡配置绑定到bond、重启网络服务生效。注意事项:mode=4需交换机启用lacp;active-backup模式切换可能导致mac漂移;miimon检测链路,arp_interval检测上层网络连通性。
在linux系统中,网络绑定(bonding)是一种将多个网卡组合成一个逻辑接口的技术,主要用于提高网络带宽、实现冗余或负载均衡。要正确配置 bonding,关键在于理解不同模式的适用场景,并按照步骤完成设置。
bonding常用模式介绍与选择建议
Linux bonding 支持多种工作模式,常见的有以下几种:
- mode=0 (balance-rr):轮询方式发送数据包,提供负载均衡和容错能力,但需要交换机支持。
- mode=1 (active-backup):主备模式,只有一个网卡处于活动状态,另一个作为备份,适合对可用性要求高的环境。
- mode=4 (802.3ad):动态链路聚合模式,要求交换机也配置LACP,可以实现高带宽和冗余。
- mode=5 (balance-tlb) 和 mode=6 (balance-alb):自适应传输负载平衡和自适应负载平衡,无需交换机支持,但在某些场景下效果有限。
选择时可以根据实际需求判断:
- 如果追求稳定性且不依赖负载均衡,推荐使用 mode=1;
- 如果希望提升带宽并具备容错能力,同时交换机支持 LACP,则优先考虑 mode=4;
- 如果没有交换机配合,又想做负载均衡,可尝试 mode=5 或 mode=6。
配置 bonding 的基本步骤
以 centos/RHEL 系统为例,配置 bonding 主要包括以下几个步骤:
- 创建 bond 接口的配置文件
- 修改物理网卡的配置,将其绑定到 bond 接口
- 重启网络服务使配置生效
创建 bond 接口配置文件
在 /etc/sysconfig/network-scripts/ 目录下创建 ifcfg-bond0 文件,内容大致如下:
DEVICE=bond0 NAME=bond0 TYPE=Bond BONDING_MASTER=yes BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"
其中,mode=4 表示使用 802.3ad 模式,miimon=100 是链路监测间隔(单位毫秒),lacp_rate=1 表示每秒发送一次 LACP 包。
修改物理网卡配置
假设你使用的是 eth0 和 eth1,它们的配置文件应修改为:
DEVICE=eth0 NAME=eth0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
对 eth1 做同样处理。
重启网络服务
执行命令:
systemctl restart network
或者使用 nmcli(如果使用 NetworkManager)重新加载配置。
常见问题与注意事项
- 交换机未配置 LACP:如果你用了 mode=4,而交换机没启用 LACP,bond 接口可能无法正常工作。
- MAC 地址漂移:在 active-backup 模式下,切换主备网卡可能导致短暂的 MAC 地址漂移,影响连接。
- miimon 和 arp_interval 的区别:
- miimon 是通过物理链路检测来判断网卡是否失效;
- arp_interval 则是通过定期发送 ARP 请求来检测上层网络是否可达;
- 建议根据网络环境选择合适的检测机制。
基本上就这些。只要搞清楚自己的网络需求,选对模式,再按步骤配置,Linux bonding 并不复杂,但有些细节容易忽略,比如交换机配合、监控参数设置等,这些都会直接影响最终效果。