Linux 网卡Bonding配置

您所在的位置:网站首页 bond配置选项 Linux 网卡Bonding配置

Linux 网卡Bonding配置

2024-07-17 18:51| 来源: 网络整理| 查看: 265

当在Linux系统上使用Bonding技术时,实际上是将多个物理网络接口(也称为Slave接口)绑定在一起,形成一个虚拟的Bond接口。这个Bond接口可以提高网络的可靠性和性能,有助于负载均衡和容错。

配置Linux系统上Bonding的步骤:

步骤 1:加载Bonding模块

在Linux内核中,Bonding功能是通过一个模块实现的,因此首先需要确保该模块已加载。可以使用以下命令加载Bonding模块:

modprobe bonding

如果要使这个设置永久生效,可以将bonding添加到系统的模块配置文件中,例如,在/etc/modules中添加一行:

bonding

步骤 2:配置Bond接口

编辑Bond接口的配置文件,通常是/etc/network/interfaces或/etc/sysconfig/network-scripts/ifcfg-bondX(X是Bond接口的编号)。在配置文件中,指定Bond接口的基本信息和所使用的Bonding模式。

DEVICE=bond0 TYPE=Bond # mode=balance-rr:这是Bonding接口的工作模式,指定了使用的负载均衡模式。 # 在这里,balance-rr 表示轮询模式(Round Robin)。 # 在轮询模式下,传输的数据包在可用的Slave接口之间轮流分配,实现负载均衡。这可以增加带宽,并提高网络性能。 # miimon=100:这是监测间隔的设置。miimon 指定了Bond接口监测Slave接口是否正常工作的时间间隔,单位是毫秒。在这里,miimon=100 表示每100毫秒检查一次Slave接口的状态。如果在这个间隔内没有从Slave接口收到任何数据包,Bond接口将认为该接口出现故障,并将流量从故障的接口转移到其他正常工作的接口。 # BONDING_OPTS="mode=balance-rr miimon=100" # mode=4:这指定了Bonding接口的工作模式。在这里,mode=4 表示使用的是802.3ad(LACP)模式。 # 这是一种聚合模式,使用IEEE 802.3ad标准的链路聚合控制协议(LACP)。在这种模式下,多个物理接口被聚合成一个逻辑接口,以提高带宽和容错性。 # miimon=100:这是监测间隔的设置,与之前解释的一样。miimon=100 表示每100毫秒检查一次Slave接口的状态。 # xmit_hash_policy=layer3+4:这个选项指定了传输哈希的策略,用于决定如何在Slave接口之间分配传输的数据包。 # 在这里,layer3+4 表示使用Layer 3(IP地址)和Layer 4(端口号)信息进行哈希计算。这样可以在负载均衡时更精确地分配流量。 # lacp_rate=1:这是LACP协议的速率设置。lacp_rate=1 表示LACP的协商速率为快速(fast), # 也就是每秒发送一次LACP协商包。这有助于更快地检测链路状态的变化。 # 这个配置的目的是在Bond接口上启用802.3ad(LACP)模式,使用特定的传输哈希策略, # 并配置快速的LACP协商速率以提高链路的快速故障检测和恢复。 BONDING_OPTS="mode=4 miimon=100 xmit_hash_policy=layer3+4 lacp_rate=1" IPADDR=IP NETMASK=IP GATEWAY=IP BOOTPROTO=none ONBOOT=yes DEVICE=bond0 #指定Bond接口的名称。 TYPE=Bond #指定接口类型为Bond。 BONDING_MASTER=yes #表示这是一个Bond接口。 BOOTPROTO=none #禁用自动配置IP地址。 ONBOOT=yes #表示接口在系统启动时自动激活。 步骤 3:配置Slave接口

配置每个物理网络接口(Slave接口),这些接口将绑定到Bond接口上。编辑每个Slave接口的配置文件,通常是/etc/network/interfaces或/etc/sysconfig/network-scripts/ifcfg-ethX。

DEVICE=eth0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes DEVICE=eth0 #指定物理接口的名称。 TYPE=Ethernet #指定接口类型为以太网。 BOOTPROTO=none #禁用自动配置IP地址。 ONBOOT=yes #表示接口在系统启动时自动激活。 MASTER=bond0 #指定接口绑定到哪个Bond接口上。 SLAVE=yes #表示这是一个Slave接口。

重复以上步骤,为每个物理网络接口创建相应的Slave接口。

步骤 4:重启网络服务或系统 根据不同的Linux发行版,使用适当的命令来重启网络服务,以应用新的配置。例如:

service network restart # 对于Red Hat / CentOS systemctl restart network # 对于Systemd-based系统

或者,也可以直接重启系统。

请注意,以上步骤中的配置文件路径和文件名可能会因Linux发行版的不同而有所变化。确保查阅并根据你的系统进行适当的配置。如果系统使用了NetworkManager,可能需要禁用它或相应地配置。

配置结果

· 用6张物理网卡分别做2个bond对应内网和外网

ifconfig bond0: flags=5187 mtu 1500 inet 内网IP netmask 255.255.255.192 broadcast xxxxx inet6 fe80::22e:c7ff:fede:bbec prefixlen 64 scopeid 0x20 ether 00:2e:c7:de:bb:ec txqueuelen 1000 (Ethernet) RX packets 246355998028 bytes 208303790741491 (189.4 TiB) RX errors 0 dropped 3816775 overruns 0 frame 0 TX packets 202598700106 bytes 93802287439078 (85.3 TiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 bond1: flags=5187 mtu 1500 inet 公网IP netmask 255.255.255.192 broadcast xxxxx inet6 fe80::6e44:2aff:fe11:7e7a prefixlen 64 scopeid 0x20 ether 6c:44:2a:11:7e:7a txqueuelen 1000 (Ethernet) RX packets 24873307632 bytes 16810009736133 (15.2 TiB) RX errors 0 dropped 1580508 overruns 0 frame 0 TX packets 28258917875 bytes 23112510171897 (21.0 TiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp2s0f0: flags=6211 mtu 1500 ether 00:2e:c7:de:bb:ec txqueuelen 1000 (Ethernet) RX packets 124158342391 bytes 104466083013418 (95.0 TiB) RX errors 0 dropped 2640312 overruns 0 frame 0 TX packets 98452382047 bytes 45841408859483 (41.6 TiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp2s0f1: flags=6211 mtu 1500 ether 00:2e:c7:de:bb:ec txqueuelen 1000 (Ethernet) RX packets 122197655638 bytes 103837707728342 (94.4 TiB) RX errors 0 dropped 1176462 overruns 0 frame 0 TX packets 104146318060 bytes 47960878579921 (43.6 TiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp4s0f0: flags=6211 mtu 1500 ether 6c:44:2a:11:7e:7a txqueuelen 1000 (Ethernet) RX packets 11803693682 bytes 7781711756799 (7.0 TiB) RX errors 0 dropped 374624 overruns 0 frame 0 TX packets 14381029459 bytes 11931791763557 (10.8 TiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp4s0f1: flags=6211 mtu 1500 ether 6c:44:2a:11:7e:7a txqueuelen 1000 (Ethernet) RX packets 13069613950 bytes 9028297979334 (8.2 TiB) RX errors 0 dropped 1205884 overruns 0 frame 0 TX packets 13877888419 bytes 11180718408762 (10.1 TiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp5s0f0: flags=4099 mtu 1500 ether b4:96:91:25:eb:2c txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp5s0f1: flags=4099 mtu 1500 ether b4:96:91:25:eb:2e txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3