小白Linux学习:网卡bond模式

小白Linux学习:网卡bond模式网卡 bond 模式共有 7 种总的来说 mode1 5 6 不需要要交换机设置 而 mode0 2 3 4 需要交换机设置一 bond 的七种模式介绍 1 mode 0 balance rr 平衡抡循环策略 链路负载均衡 增加带宽 支持容错 一条链路故障

大家好,欢迎来到IT知识分享网。

网卡bond模式共有7种

总的来说mode1、5、6不需要要交换机设置,而mode0、2、3、4需要交换机设置

一、bond的七种模式介绍:

1、mode=0(balance-rr)(平衡抡循环策略)

链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路。交换机需要配置聚合口。

特点:传输数据包顺序是依次在成员口传输,此模式提供负载平衡和容错能力;但是如果数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。

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

这个是主备模式,只有一块网卡是active,另一块是备用的standby,所有流量都在active链路上处理。

特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。

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

表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。

特点:基于指定的传输HASH策略传输数据包。

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

表示所有包从所有网络接口发出,这个不均衡,只有冗余机制,但过于浪费资源。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。需要和交换机的聚合强制不协商方式配合。

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

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

表示支持802.3ad协议,和交换机的聚合LACP方式配合。标准要求所有设备在聚合操作时,要在同样的速率和双工模式。

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

必要条件:

条件1:ethtool支持获取每个slave的速率和双工设定

条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation

条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式

6、mode=5(balance-tlb)(适配器传输负载均衡)

是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。

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

必要条件:

ethtool支持获取每个slave的速率

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

在5的tlb基础上增加了rlb(接收负载均衡receive load balance).不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的.

特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

二、配置步骤

(1) 增加冗余口的配置文件

创建冗余口 bond0,将网卡绑定模式配置为模式 2:

通过“vim /etc/sysconfig/network-scripts/ifcfg-bond0” 命令创建聚合口 bond0,并进入

ifcfg-bond0 的配置文件增加以下配置,参数均必选,参数取值以实际组网规划为准。

DEVICE=bond0

IPADDR=192.168.15.99

NETMASK=255.255.0.0

GATEWAY=192.168.15.1

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

NM_CONTROLLED=no

BONDING_OPTS=”mode=2 miimon=120″

其中, “DEVICE”需与虚拟网卡名称保持一致。 “miimon” 表示进行链路状态检测的时间间

隔。

(2) 加载 bond0 接口到内核

通过“vim /etc/modprobe.d/bonding.conf” 命令进入 bonding 配置文件,增加以下配置:

alias bond0 bonding

(3) 配置成员端口

创建目录,备份待聚合网卡的文件后对文件进行修改。将要聚合的网口分别添加到冗余口下,

以网卡 ens32 的配置为例,通过“vim /etc/sysconfig/network-scripts/ifcfg-ens32” 命令

进入网卡配置文件,增加以下配置,参数均必选,参数取值以实际组网规划为准:

TYPE=Ethernet

DEVICE=ens32

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes17-4

USERCTL=no

NM_CONTROLLED=no

其中, DEVICE 需要与网卡名称保持一致, MASTER 为虚拟网卡的名称。

(4) 加载 bonding 模块

通过“modprobe bonding”命令加载 bonding 模块。

(5) 重启服务

通过“service network restart” 命令重启服务。如果多次修改过 bond 配置,可能需要重启

服务器。

(6) 查看配置是否生效

通过“cat /sys/class/net/bond0/bonding/mode”命令查看当前聚合模式是否生效。

小白Linux学习:网卡bond模式

 通过“cat /proc/net/bonding/bond0”命令查看聚合接口信息。17-5

小白Linux学习:网卡bond模式

(7) 通过“vim /etc/rc.d/rc.local”,将如下配置信息加入开机自启动。

ifenslave bond0 ens32 ens33 ens34

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/164893.html

(0)
上一篇 2024-12-28 20:45
下一篇 2024-12-28 21:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信