当前位置:首页 > 操作系统 > 正文内容

Linux系统下bonding配置方法

李云召8个月前 (09-06)操作系统790

由于每次使用都需要搜索查找,所以就搞来一篇文章记录下,方便后续使用,顺便也琢磨了下各个bond模式的区别。接下来先简单介绍下七种工作模式,常用的模式有 0、1、4、6,每种工作模式都有其各自的优缺点:

一、bond工作模式:

1、mode=0(balance-rr):Round-robin policy(平衡轮询策略)

特点:传输数据包顺序是依次传输,比如第一个包走 eth0,第二个包走 eth1,直到数据包发送完毕。增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。

缺点:需要接入交换机做端口聚合。

2、mode=1(active-backup):Active-backup policy(主-备份策略)

特点:当一个宕掉另一个马上由备份转换为主设备。冗余性高,不需要交换机端支持。

缺点:资源利用率较低,只有一个接口处于工作状态。

3、mode=2(balance-xor):XOR policy(平衡策略)

特点:基于指定的传输 HASH 策略传输数据包。此模式提供负载平衡和容错能力。

缺点:需要交换机配置端口聚合。

4、mode=3(broadcast):broadcast(广播策略)

特点:在每个 slave 接口上传输每个数据包,此模式提供了容错能力。

5、802.3ad(mode=4):IEEE 802.3adDynamic link aggregation(IEEE 802.3ad 动态 链接聚合)

创建一个聚合组,它们共享同样的速率和双工设定。根据 802.3ad 规范将多个slave工作在同一个激活的聚合体下。

特点:

(1)ethtool支持获取每个slave的速率和双工设定。

(2)交换机支持IEEE 802.3ad Dynamic link aggregation。

(3)交换机需经过特定配置才能支持 802.3ad模式。

6、mode=5(balance-tlb):Adaptive transmit load balancing(适配器传输负载均衡)

特点:不需要任何特别的交换机支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。

7、mode=6(balance-alb):Adaptive load balancing(适配器适应性负载均衡)

特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance,rlb),而且不需要任何交换机的支持。

二、配置举例

参考如下信息进行配置举例:

操作系统: Centos7网卡: ens1、ens2

bond1:192.168.0.100 

负载模式: mode=1 #主备模式

1、关闭NetworkManager服务

[root@localhost ~]# systemctl stop NetworkManager #停止服务
[root@localhost ~]# systemctl disable NetworkManager #禁用服务

2、加载 bonding 模块

[root@localhost ~]# modprobe --first-time bonding

3、创建基于 bond1 接口的网卡配置文件

配置文件 ifcfg-bond1的内容如下:

DEVICE=bond1
TYPE=Bond
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.0.100  #根据自己的需求进行更换
GATEWAY=192.168.0.1   #根据自己的需求进行更换
DNS1=192.168.1.0     #根据自己的需求进行更换
PREFIX=24         #根据自己的需求进行更换,也可以替换为NETMASK=255.255.255.0
USERCTL=no
BONDING_OPTS="mode=1 miimon=100 primary=ens2" #将ens2设置为主用网卡

BONDING_OPTS参数解释:
miimon参数:指定网卡故障时的切换时间间隔以ms为单位。
primary参数:指定默认的主网卡设备。
mode参数:指定工作模式
xmit_hash_policy参数:(此参数对mode参数中的2、4模式有影响):
    layer1-通过MAC地址进行HASH计算。
    layer3+4-通过TCP及UDP端口及其IP地址进行HASH计算。

如果使用mode4的方式配置bond4如下

vi /etc/sysconfig/network-scripts/ifcfg-bond4 
IPADDR=192.168.0.100  #根据自己的需求进行更换
GATEWAY=192.168.0.1   #根据自己的需求进行更换
DNS1=192.168.1.0      #根据自己的需求进行更换
PREFIX=24             #根据自己的需求进行更换,也可以替换为NETMASK=255.255.255.0
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast xmit_hash_plicy=laye3+4"  #其中mode=4说明该为bond4,且lacp_rate和xmit_hash_plicy参数只有bond4需要。

laye3+4:源目IP+源目端口算法,用于三、四层网络环境,可根据源目端口来区分同一源目IP不同连接的数据,做的四层负载分担。
laye2+3:源目MAC地址+源目IP算法,用于二、三层网络环境,用于三层转发情况下,源目mac地址唯一,源目IP地址不同情况。
fast:表示lacp链路协商模式为快模式,表示每隔1s发送l次lacpdu,超时时间是3s (slow模式是发送时间30s,超时时间90s)

4、修改 ens1、ens2接口文件的内容

修改ens1内容如下:

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vi ifcfg-ens1

###具体内容内容如下###
DEVICE=ens1
MASTER=bond1
SLAVE=yes
USERCTL=no
ONBOOT=yes
BOOTPROTO=none

修改ens2 内容如下:

[root@localhost network-scripts]# vi ifcfg-ens2

###内容如下###
DEVICE=ens2
MASTER=bond1
SLAVE=yes
USERCTL=no
ONBOOT=yes
BOOTPROTO=none

5、加载 bond1 接口到内核

###(1)创建加载bonding的文件###
[root@localhost network-scripts]# vi /etc/modprobe.d/bonding.conf
###内容如下###
lias bond1 bonding
options bonding mode=1 miimon=200

###(2)加载模块(或重启系统)###
[root@localhost network-scripts]# modprobe bonding
libkmod: kmod_config_parse:/etc/modprobe.d/bonding.conf line 1: ignoring bad line starting with 'lias'

###(3)检查模块是否加载成功###
[root@localhost network-scripts]# lsmod | grep bonding
bonding 141566 0

6、重启网络,查看网卡绑定信息

[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2023)
Bonding Mode: fault-tolerance (active-backup)  # bonding模式为 active-backup(mode=1)
Primary Slave: None
Currently Active Slave: ens2  #网卡ens2为Active状态
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: ens2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:00:00:00:00:01
Slave queue ID: 0
Slave Interface: ens1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:00:00:00:00:00
Slave queue ID: 0


  • 测试了下最少代码条数:

vi /etc/sysconfig/network-scripts/ifcfg-bond1
###内容###
BOOTPROTO=static
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.0.100
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
BONDING_OPTS="mode=1 miimon=100"

vi /etc/sysconfig/network-scripts/ifcfg-ens1
###内容###
DEVICE=ens1
ONBOOT=yes
MASTER=bond0
SLAVE=yes

vi /etc/sysconfig/network-scripts/ifcfg-ens2
###内容###
DEVICE=ens2
ONBOOT=yes
MASTER=bond1
SLAVE=yes

bond.png

声明:本文由云召博客收集发布,如有侵权,请联系我们,我们将第一时间进行处理。

本文链接:https://www.liyunzhao.com/post/128.html

标签: LinuxBond
分享给朋友:

“Linux系统下bonding配置方法” 的相关文章

桌面ie图标无法删除 如何解决

桌面ie图标无法删除 如何解决

       今天云召写结课作业,就是需要到源码,然后在百度上找了半天,结果源码没有找到,但是病毒却找到了,发现我的桌面上有了一个ie图标,并且右键,没有删除,郁闷,只要求救百度了     ...

删除Win8.1这台电脑中视频、图片、文档、下载

删除Win8.1这台电脑中视频、图片、文档、下载

最近把系统安装了8.1,只是为了解决偶尔计算机偶尔不能正常睡醒的问题,只要升级系统了,可是安装了发现多了一些头疼的文件夹,而且名字变成了“这台电脑”,只要想办法去解决。Windows 8.1 默认将视频、图片、文档、下载、音乐、桌面等常用文件夹显示我的电脑中。这些文件夹在这里对我来跟本就没有用,而且...

Windows 8.1 Flash For IE 修复方法

Windows 8.1 Flash For IE 修复方法

在Windows8.1的操作系统上,IE打开各种视频网站基本都能播放,但是打开部分网站的时候提示需要升级Flash插件或者是安装Flash插件,但是下载下来有提示如下图:可以采用如下的方式进行修复:1、将32位,64位的flash文件夹分别拷贝到C:\Windows\System32\Macrome...

性能测试知多少--系统计数器与硬件分析

性能测试知多少--系统计数器与硬件分析

性能计数器(Performance Counter),也叫性能监视器。一个人健康状况如何,我们通过对其做各项体检获得相关的状况指标,如血压、心跳,肺活量等。那么在做性能测试过程中,整个系统的软硬件进行监控也必不可少,监控所获得的数据也是我们分析系统性能的主要依据。在整个系统中,对于不同的软件和硬件,...

对硬盘进行分区时,GPT和MBR有什么区别?

对硬盘进行分区时,GPT和MBR有什么区别?

在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区。GPT是一种新的标准,并在逐渐取代MBR。GPT带来了很多新特性,但MBR仍然拥有最好的兼容性。GPT并不是Windows专用的新标准—— Mac OS X,Linux,及其他操作系统同样使用GPT。在使用新磁盘...

ssh_exchange_identification:read:Connection reset by peer

ssh_exchange_identification:read:Connection reset by peer

SSH登录相关主机时,提示如下报错如何解决?在客户端连接服务端:[root@foundation66 ~]# ssh root@172.25.254.1ssh_exchange_identification: read: Connection reset by peer## -v表示查看连接详细信息...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。