linux的链路聚合bond之主备模式

linux的链路聚合就是把多网卡捆绑成一个逻辑网卡,聚合有bond模式和team模式,下面分享的是bond模式。

bond 有几种捆绑模式: 
mode = 0 ( balance-rr ) 轮询策略 
链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路。 
特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。
mode = 1 ( active-backup ) 主-备份策略 
主备模式,只有一块网卡是 active,另一块是备用的 standby,所有流量都在 active 链路上处理。 
特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。

配置流程如下:

(1)"nmcli connection add type bond con-name bond0 mode active-backup ip4 172.25.254.102/24"。表示添加一个bond,名称为bond0,工作模式为主备,IP为"172.25.254.102" 

(2)通过命令"cat /proc/net/bonding/bond0"查看bond的状态信息

(3)"nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0"。将eth0网卡连接添加到这个bond中。

        "nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0"。将eth1连接网卡添加到这个bond中。

(4)nmcli connection up eth0

         nmcli connection up eth1

         激活两个网卡配置文件让其生效

(5)通过vim / /etc/sysconfig/network-scripts/ifcfg-bond0 配置 bondo 的网关,dns,否则会上不了网

(6)通过命令再次"cat /proc/net/bonding/bond0"查看bond的配置信息

(7)可通过执行ifconfig eth0 down来模拟 eth0 网卡出现问题,从而观察bond0 的状态信息,可以发现eth0 down了之后,eth1 在第一时间接替了eth0继续工作

总结:bond0 其实就是一个逻辑网口,也是需要和其他网口一样配置它的基本信息,这样才能正常上网,bond0的地址要和其他两个网卡的地址归属于同个网段,因为链路聚合本来就是应用在二层上的,如果bond0和其他两个网卡的接口地址不一样的话,是无法上网的,而且当你切掉其中一个网卡连接的时候,另一块网卡也不会立马启用,因为如果两个网卡地址不一样,他们的通讯是要经过三层路由器通信的,但是因为路由聚合是二层间的通讯,数据包不会经过三层转发,所以无法通讯。

你可能感兴趣的:(linux的链路聚合bond之主备模式)