说明:服务器上双网段,服务器上四个网口全部插满,分别为eno1-4个口,eno1、eno2聚合为: 10.103.1.105,eno3、eno4聚合为: 10.103.0.215,模式为mode6
bond0: 10.103.1.105
bond1: 10.103.0.215
网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6(常用的有三种)
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定
1、 开启 NetworkManager
systemctl start NetworkManager
2、备份配置文件
mkdir -p /data/bak/
cp -r /etc/sysconfig/network-scripts/ /data/bak/
3、使用命令创建mode 6,如果使用其他模式,对应调整即可
nmcli connection add type bond ifname bond0 mode 6
nmcli connection add type bond-slave ifname eno1 master bond0
nmcli connection add type bond-slave ifname eno2 master bond0
nmcli connection add type bond ifname bond1 mode 6
nmcli connection add type bond-slave ifname eno3 master bond1
nmcli connection add type bond-slave ifname eno4 master bond1
4、分别修改bond0、bond1配置文件,添加IP
vim /etc/sysconfig/network-scripts/ifcfg-bond-bond0
BOOTPROTO=dhcp
修改为:
BOOTPROTO=static
添加IP
IPADDR=10.103.1.105
NETMASK=255.255.255.128
GATEWAY=10.103.1.126
编辑 ifcfg-bond-bond1
vim /etc/sysconfig/network-scripts/ifcfg-bond-bond1
BOOTPROTO=dhcp
修改为:
BOOTPROTO=static
添加IP
IPADDR=10.103.0.215
NETMASK=255.255.255.128
5、重启网卡:
要关闭NetworkManager服务
systemctl restart network
步骤详解:
使用nmcli 命令实现bond
1、添加bond逻辑网卡
nmcli connection add type bond ifname bond0 mode 0
2、将两个网口绑定到新添加的bond口
nmcli connection add type bond-slave ifname ens37 master bond0
nmcli connection add type bond-slave ifname ens38 master bond0
bond模式
网卡bonding模式共有0、1、2、3、4、5、6共7种,其中mode1、5、6不需要要交换机设置,mode0、2、3、4需要交换机设置
1、mode=0 (round-robin)
轮询策略,数据包在每个slave网卡上都进行数据传输,以逐包形式在两个物理网卡上转发数据。这种模式提供了数据的负载均衡和容错能力。
2、mode=1 (active-backup)
主备策略,只有一个slave被激活,只有当active的slave的接口down时,才会激活其它slave接口。主备模式下发生一次故障切换,在新激活的slave接口上会发送一个或者多个gratuitous ARP。主salve接口上以及配置在接口上的所有VLAN接口都会发送gratuitous ARP,需要在这些接口上配置了至少一个IP地址。VLAN接口上发送的的gratuitous ARP将会附上适当的VLAN id。本模式提供容错能力。
3、mode=2(XOR)
基于所选择的hash策略,本模式也提供负载均衡和容错能力
4、mode=3(broadcast)
广播策略,向所有的slave接口发送数据包,本模式提供容错能力
5、mode=4(802.3ad)
动态链路聚合,根据802.3ad标准利用所有的slave建立聚合链路。slave接口的出口取决于传输的hash策略,默认策略是简单的XOR策略,而hash策略则可以通xmit_hash_policy选项配置。
前提:每个slave网卡支持ethtool获取速率和双工状态
6、mode=5(balance-tlb)
自适应传输负载均衡:根据每个slave的负载(相对速度)决定从哪个接口发送数据包,从当前接口接收数据包。如果接收的slave接口故障,其它slave接口将接管它的mac地址继续接收。
前提:每个slave网卡支持ethtool获取速率。
7、mode=6(balance-alb)
自适应负载均衡:
前提:每个slave网卡支持ethtool获取速率