目录
目录
一、bond模式原理和工作模式
1.bond模式原理
多块网卡虚拟成一张,实现冗余;多张网卡对外显示一张,具有同一个IP;网络配置都会使用Bonding技术做网口硬件层面的冗余,防止单个网口应用的单点故障。
对于多物理网卡的 Bond 网卡而言,其中一块物理网卡会被设置为 Master(主设备),其他的网卡都是 Slave(从设备),Bond 网卡的 MAC 地址取自标志为 Master 的物理网卡,然后将这个 MAC 地址复制到其他物理网卡上。
2..bond工作模式
在主备模式下 , 只有主网卡 eth0 工作,eth1 作为备份网卡是不工作的,只有当一个网络接口失效时 ( 例如主交换机掉电等 ),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护的功能。
在负载均衡模式下,由于两块网卡都正常工作,它能提供两倍的带宽,在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用。
二、查看查看系统内核是否支持 bonding
bonding 技术是 Linux 系统内核层面实现的,它是一个内核模块(驱动)。
三、bonding 的七种工作模式
bonding 技术提供了七种工作模式,常用的模式有 0、1、4、6,每种工作模式都有其各自的优缺点:
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),而且不需要任何交换机的支持。
四、bonding 网卡配置 (mode=0)
操作系统: Centos7
网卡: ens33、ens37
bond1:192.168.131.100
负载模式: mode=0(balance-rr)Round-robin policy(平衡轮询策略)
1.关闭防火墙,关闭核心防护,停止NetworkManager
2.备份ens33、ens37 网卡配置
3.修改网卡ens33的配置文件,内容如下
修改网卡ens37的配置文件,内容如下
4.创建网卡bond0的配置文件,内容如下
5.在/etc/rc.d/rc.local 添加 ifenslave bond0 ens33 ens37
6.加载 bond module
7. 重启网卡,并查看网卡状态如下
测试
断开ens33 ifdown ens33 (断开之后,xshell也断开了,所以直接在终端测试)
ping www.baidu.com 发现无法访问
查看bond0网卡状态,发现ens37是up状态。
再次恢复ens33网卡,查看bond0状态,可以进行网络连接了
五、bonding 网卡配置 (mode=1)
mode=1的基本配置与mode=0一样,
只需要在 ifcfg-bond0 中 将 mode=0 改成 mode=1
重启网卡 ,查看
发现两个不同的MAC地址
ip addr 查看bond网卡状态
主设备的MAC地址就是bond0的MAC地址
断开 ens33 ,所以仍有网络连接
ip addr 查看bond网卡状态
发现主设备变成ens37的MAC地址,说明ens37顶替了ens33
再次恢复ens33,查看
主设备还是ens37,说明网卡恢复后,bond不会主动切回原先主设备 (可以重启恢复)