CentOS 7配置Bonding网卡绑定

d0dc9b23194b06e7a1d2d41861698d2a.gif

正文共:1666 字 16 图,预估阅读时间:2 分钟

在网络中,日常为了提高可靠性,一般会配置链路聚合(Link Aggregation),同样的,在服务器上也有网卡绑定(bonding)的技术,将两个或多个物理网卡通过bonding技术绑定在一起,从而创建一个虚拟的、逻辑上的网络接口,实现网络接口的聚合。

做了网卡绑定之后,就可以提高网络冗余,实现高可用,如果其中一个网卡发生故障,服务能够无缝切换到其他正常工作的网卡上,确保网络连接不间断;结合不同的工作模式,还可以实现负载分担或增加网络带宽的效果,优化资源利用的同时,提高网络容量。

那Linux服务器该如何配置网卡绑定(Bonding)呢?我们以CentOS 7.9.2009来演示一下。

首先为服务器配置2个以上的网卡,比如就用图中的ens224和ens256来进行演示。

a9257ac5ce0540f7b689d73cf6feefc9.png

然后我们使用以下命令在系统中加载bonding模块。

modprobe bonding

55c854288aba6e85617e3a5d8dc90df8.png

可以看到,配置之后,系统中出现了一个bond0网卡,说明bonding模块加载成功。

如果想使配置一直生效,则需要在Linux系统中创建一个配置文件,使系统在启动时自动加载bonding模块。

echo "bonding" > /etc/modules-load.d/bonding.conf

d6ffceabf7b0f668e21c163ff427a8f3.png

在正式开始配置之前,我们先简单测试一下网络性能。

7e2cc6a0fc724e4a13425184eb9a8578.png

以142为服务端、141为客户端,使用iperf2进行测试,最大瞬时带宽为29.2 Gbps,综合带宽为27.6 Gbps。

将服务端和客户端对调一下。

bef9eba2e5005177111c487e7be6153c.png

同样使用iperf2进行测试,测得最大瞬时带宽为28.9 Gbps,综合带宽为28.4 Gbps,相差不大。

因为我们现在的操作基本都是通过直接编辑网络脚本进行静态配置CentOS7多网卡配置(最小化安装),为避免影响,我们将NetworkManager服务关闭并禁用。

systemctl stop NetworkManager
systemctl disable NetworkManager

7aaf62dfefec2be80b8e1e7ae097294c.png

然后我们进入到网卡配置文件路径/etc/sysconfig/network-scripts/目录下,可以看到,现在只有ens192和ens224的配置文件,其中ens224的配置文件也是我们手工创建的。

1e6fdb8b83c2f05047f088d78cc9366a.png

对应的,我们现在还缺少网卡ens256和bond0的配置文件。现在,我们首先修改ens224的配置文件,相比于正常的配置,我们需要移除IP地址相关配置,并添加网卡绑定的配置。

751de2bc8341174e514d7c83bb466f0a.png

其中,MASTER=bond0表示该物理网卡是作为bonding主设备(bond0)的一个从属接口,将被加入到聚合网络接口bond0中,并按照bonding设定的模式参与工作;SLAVE=yes与前一配置相对应,表示该网卡是一个从属设备,作为一个slave加入到一个bonding组中,在系统启动时会自动将此网卡与对应的master(bond0)进行绑定。

然后我们将ens224的配置文件复制一份并做简单调整,即可得到ens256的配置文件。

7f16b58ca774b36fd85e5968c35b9b51.png

现在,网卡ens224和ens256都已经被配置为bond0聚合接口的一部分,然后我们就可以配置bond0聚合接口了。在Linux bonding驱动中,主要通过TYPE=Bonding来指定接口为聚合接口,通过BONDING_OPTS来指定网卡绑定的工作模式,共有7种不同的工作模式,通过指定mode参数的值来进行确定。

1、mode=0:轮询均衡策略(Round Robin Policy,balance-rr),通过轮询的方式将数据包均匀分配到所有slave接口上,提供负载均衡但不保证连续的数据包会走同一条链路。

2、mode=1:主备模式(active-backup),只有一张网卡处于活动状态,另一张作为备份。当活动网卡出现故障时,备份网卡立即接管网络连接。

3、mode=2:XOR哈希策略(balance-xor),根据源MAC地址和目标MAC地址的XOR运算结果进行哈希,然后选择相应的接口发送数据包,可以实现负载均衡。

4、mode=3:广播模式(broadcast),所有的流量都会同时通过所有slave接口发送,主要用于某些需要复制数据流的特殊应用环境。

5、mode=4:IEEE 802.3ad协议(802.3ad,Link Aggregation Control Protocol,LACP),根据LACP协议与交换机协商形成聚合链路,支持动态链路聚合,通常用于带宽增加并提供高可用性。

6、mode=5:传输层感知负载均衡(Transmit Load Balancing,balance-tlb),不需要任何特定配置的交换机,但只能在从服务器向客户端单向发送数据时进行负载均衡。

7、mode=6:带接收负载均衡的传输层感知负载均衡(Adaptive Load Balancing,balance-alb),这是TLB模式的一个增强版,在TLB的基础上增加了基于ARP响应的接收负载均衡功能。

所以,我们在和交换机对接时,一般需要配置为mode=4,而我们现在是主机之间的互联,则可以使用mode=0进行轮询负载。新建一份bond0的配置文件ifcfg-bond0,写入以下内容:

TYPE="Bonding"
BOOTPROTO="none"
DEFROUTE="no"
IPV4_FAILURE_FATAL="no"
NAME="bond0"
DEVICE="bond0"
ONBOOT="yes"
BONDING_OPTS="mode=0 miimon=100"
IPADDR="11.1.1.141"
PREFIX="24"

d3b5855bab88d96069cdf968eb1bddc1.png

BONDING_OPTS中还有一项配置,miimon是链路监测间隔,miimon=100表示每100毫秒检查一次链路状态。

最后,重启网络服务来使变更生效。

systemctl restart network

f16699aefa84b0574fe959befd76faed.png

同理,我们完成142主机的配置。

31e8213d1a2b2b997e6939c7cb7c29cd.png

测试一下业务联通性。

a7e8feedf989aeac2318749838271bff.png

小测一下转发性能。

4b54213a448beb7cbf76bde8f4ba89b6.png

应该是虚拟化的原因,转发性能不升反降,从27.6 Gbps降到了24.3 Gbps。将服务端和客户端对调一下。

dd34e73dc9746d3bc3a80b799cd9d2b6.png

结果为23.4 Gbps,差别不大。

然后我们打1分钟,中间断开其中一条链路,看看业务会不会断。

1bf1241f3698f0ff9633543e9ced9065.png

因为虚拟化的原因,我先断开的141的ens224接口,此时142感知不到状态变化,所以传输接近中断;在断开142的ens224接口之后,此时流量负载到ens256接口,传输恢复,所以链路备份还是有效果的。

结论,虚拟化环境可以配置bonding接口绑定,可以展示链路备份的效果,但是无法体现传输性能的提升。

78a652fd88543f88fc8659840fca5b64.gif

长按二维码
关注我们吧

3195c65257eefc0bd546fb937b115e22.jpeg

5c348ac00e0bb5ef65d46de697091d5f.png

PVE8.0-2安装使用快速指导

借PVE8.0的Debian 12系统配置一下NFS服务器

不想用了PVE了怎么办?那就迁移到VMware呗!

准备搞OpenStack了,先装一台最新的Ubuntu 23.10

如何在Ubuntu 23.10部署KVM并创建虚拟机?

Ubuntu部署OpenStack踩坑指南:还要看系统版本?

在线文档频繁故障不稳定,其实可以自己搭一个Etherpad在线文档

如何手工获取并更新ESXi中macOS的VMware Tools版本

如何在最新版的HCL 5.10.0中导入NFV镜像?

手撸一个自动搭建openVPN服务器的SHELL脚本

ESXi的超线程状态为“已禁用”,是谁动了我的服务器?

添加E1000网卡进行测试,只有VMXNET3性能的四分之一

TensorFlow识别GPU难道就这么难吗?还是我的GPU有问题?

同一个问题,Gemini、ChatGPT、Copilot、通义千问和文心一言会怎么答?

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值