目录

Linux-多网卡绑定bond

Linux 多网卡绑定bond

一、简介

多网卡 bonding 是指将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一 IP 地址是不可以的,但是可以通过 bonding,虚拟一块网卡对外提供连,物理网卡被修改为相同的MAC地址。

二、bond模式

bond聚合链路模式有 0-6 共 7 种模式,常用的模式为 0、1、3、6。

1、模式 0 (mod=0)

Round-robin policy(轮询)聚合口数据报文按包轮询从物理接口转发。

  • 负载均衡:所有链路处于负载均衡状态,轮询方式往每条链路发送报文这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。
  • 性能问题:一个连接或者会话的数据包如果从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。
  • Bond0在大压力的网络传输下,性能增长的并不是很理想。需要交换机进行端口绑定。

2、模式 1 (mod=1)

Active-backup policy(主-备份策略)只有Active状态的物理接口才转发数据报文。

  • 容错能力:只有一个slave是激活的(active)。也就是说同一时刻只有一个网卡处于工作状态,其他的slave都处于备份状态,只有在当前激活的slave故障后才有可能会变为激活的(active)。
  • 无负载均衡:此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。

3、模式 3(mod=3)

broadcast(广播策略)这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去。

  • 当有对端交换机失效,感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。
  • 此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。

4、模式 6(mod=6)

Adaptive load balancing(适配器适应性负载均衡)

  • 该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡,而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个物理接口的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。
  • 无负载均衡:会先把第一个网卡的流量占满,再依次占第二个网卡。

三、网卡绑定实践

1、前期准备

网卡绑定实践案例的时候,最好将仅主机模式的 dhcp 能力关闭。

https://i-blog.csdnimg.cn/direct/cbed90a759d345ea993736a7864d4274.png

一定要确保物理网卡驱动是支持 bonding 技术的,异常测试的时候,推荐使用NAT模式网卡加载网卡绑定环境。

 添加两块网卡,网络连接选择“仅主机模式”。

https://i-blog.csdnimg.cn/direct/f520932b300c45eb8856a93ac30c90cf.png

 加载 bonding 模块,并查看

https://i-blog.csdnimg.cn/direct/53d124e0d67c4335a77f3129d852937f.png

2、openEuler 系统双网卡绑定

 查看网卡设备信息,新增两块网卡 ens224 和 ens256

https://i-blog.csdnimg.cn/direct/0551495fe1a142b1a9dce213bb844af4.png

2.1、定制 bond 配置

https://i-blog.csdnimg.cn/direct/91ca0e88c6d44aa0b15a8c165f2b14ec.png


mode=1           # 这指定了绑定的模式为模式1,也称为“活动-备份”(active-backup)模式。
miimon=100       # 设置了链路监控的间隔时间为100毫秒为单位。这意味着系统每100毫秒检查一次物理接口的状态。
fail_over_mac=1  # 绑定接口在故障转移时是否改变其MAC地址。
                 # 1(active)意味着在故障转移到另一个物理接口时,绑定接口的MAC地址会改变为活动接口的MAC地址。这有助于保持网络中的一致性,因为某些网络设备可能基于MAC地址进行过滤或路由决策。

2.2、定制网卡配置

创建新增两张网卡 ens224 和 ens256 的配置文件,MASTER 同时指向 bond0

https://i-blog.csdnimg.cn/direct/4f07614a7aab4476a2afc975f9ce32b8.png

2.3、应用及查看

重启网络服务 或 重新加载配置

https://i-blog.csdnimg.cn/direct/aa7aabff56324a7eb3a759234f7a6b46.png

查看 ip 地址

https://i-blog.csdnimg.cn/direct/fc153dfa068545af92825655248edbcc.png

查看网络设备

https://i-blog.csdnimg.cn/direct/6501041868084bfd93fb3a88808a32cf.png

查看 bond0 绑定的网卡信息

https://i-blog.csdnimg.cn/direct/6f6b1b3a33ec4621a426f6d69a69dffa.png

3、Rocky9 系统双网卡绑定

查看网卡设备信息,新增两块网卡 ens224 和 ens192

https://i-blog.csdnimg.cn/direct/35c31cf32e054b9ab6b0ccd36df5f698.png

3.1、定制 bond 配置

添加连接 bond0,设置为主备模式,心跳检测时间间隔为1s,也可直接编辑配置文件

https://i-blog.csdnimg.cn/direct/473e3cb29f1d45a2a0c3b8a23148cc82.png

绑定两张网卡,也可直接编辑配置文件

https://i-blog.csdnimg.cn/direct/809f088ea82e4241b4a02d844cb6451b.png

查看配置

https://i-blog.csdnimg.cn/direct/580f8562406241a38baac81fc4ef38f5.png

3.2、定制网卡配置

设置 ip 地址

https://i-blog.csdnimg.cn/direct/8394591599b945b4b2ab45b961e1e2c2.png

查看配置文件

https://i-blog.csdnimg.cn/direct/91886f09ec4648c29c4a66506697d096.png

3.3、应用及查看

启用绑定网卡 bond0

https://i-blog.csdnimg.cn/direct/8e96a2cc075f4a0eae8cf699c07f0ce4.png

启动两个绑定端口

https://i-blog.csdnimg.cn/direct/23aea1292f624a529d6983eca788004d.png

查看网卡设备连接

https://i-blog.csdnimg.cn/direct/06ba774c2b61441ca64dea0468702d51.png

查看网卡信息

https://i-blog.csdnimg.cn/direct/f5ece868e1ee462b9612cbe5a22ca595.png

查看网卡绑定信息

https://i-blog.csdnimg.cn/direct/702ac5ba6beb473f9d704788277fdd20.png

4、Ubuntu 系统双网卡绑定

查看网卡设备,新增两块网卡 ens37 和 ens38

https://i-blog.csdnimg.cn/direct/15a3b8ce7c314ce7b5871f7f58676222.png

4.1、定制 bond 配置

定义网卡绑定的ip地址,bond 模式设置为轮询模式。(配置文件权限必须为600,否则应用会报错)

https://i-blog.csdnimg.cn/direct/7f5faf162c6241499ced4395aafc04ae.png

4.2、应用及查看

应用网卡配置生效

https://i-blog.csdnimg.cn/direct/afe4cb84e81a4b10882652f4d11c2d29.png

查看网卡 ip 地址

https://i-blog.csdnimg.cn/direct/c308975a13184500a481e821120e0ba3.png

查看网卡连接信息

https://i-blog.csdnimg.cn/direct/791c11d8b38a43738157513e716b9c5c.png

查看网卡绑定配置效果

https://i-blog.csdnimg.cn/direct/cab011c9d5d24be3a5fcd4e80ec1cfe7.png

5、异常测试(bond主备模式)

在另一台主机长 ping 当前主机(192.168.10.122)

https://i-blog.csdnimg.cn/direct/9ef1d58383304e0a8cea688bfbd04dcc.png

断开 Currently Active Slave 的网卡

https://i-blog.csdnimg.cn/direct/f928ad3e99cf4469b1752b12b9d4e211.png

查看绑定网卡配置信息,此时只剩下单网卡,且 Currently Active Slave 已经切换到另一个网卡 ens256上。

https://i-blog.csdnimg.cn/direct/83f7505d5ebf4ce28d7b45ead22d4fca.png

且 ping 依然可以正常运行,没有单网卡流量异常

https://i-blog.csdnimg.cn/direct/0f617c43cf0c4b4190e1279d161ff7ba.png