实验环境:centos7.6 ,网卡 ens1,ens2
bond类型说明:
网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6
常用的有四种
- mode=0:(balance-rr) Round-robin policy(平衡抡循环策略)平衡负载模式,有自动备援,但需要”Switch”支援及设定。
- mode=1,(active-backup) Active-backup policy(主-备份策略)只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的。
- mode=5,(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)不需要任何特别的switch(交换机)支持的通道bonding。
- mode=6,(balance-alb) Adaptive load balancing(适配器适应性负载均衡)该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的
方法1:修改配置文件做 bond0 (证实有效)
- 1、创建 bond0 配置文件
[root@localhost sysconfig]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.1.3
GATEWAY=192.168.1.1
PREFIX=24
IPV6INIT=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
BONDING_OPTS="mode=1"
DNS1=199.29.29.29
NDS2=223.5.5.5
- 2、修改网卡 em1、em2 配置文件
[root@localhost sysconfig]# cat /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
IPV6INIT=no
[root@localhost sysconfig]# cat /etc/sysconfig/network-scripts/ifcfg-em2
DEVICE=em2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
IPV6INIT=no
- 3、重启网络
systemctl restart network
- 4、检测
[root@localhost sysconfig]# cat /proc/net/bonding/bond0
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: em2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 18:66:da:4d:c3:e8
Slave queue ID: 0
Slave Interface: em1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 18:66:da:4d:c3:e7
Slave queue ID: 0
#######################我是分割线#######################
方法2:使用 nmcli 命令做 bond1
网卡 eth0、eth1 做 bond1
- 1.添加 bond
nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup ip4 172.25.254.136/24
- 2.监测bond变动以及网络状态(新开一个终端)
watch -n 1 cat /proc/net/bonding/bond0
- 3.分别绑定两块网卡到bond上去:
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
- 4.通过停掉其中一块网卡观察bond反应以及网络变化
ifconfig eth0 down #停掉eth0
nmcli connection delete eth0 #将eth0从bond解绑
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0 #加上eth0
ifconfig eth1 down #停掉eth1
#######################我是分割线#######################
方法3,使用 nmcli 命令做 team (证实有效)
- 1、设置绑定模式 loadbalance
nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"loadbalance"}}'
- 2、设置 team0 的 ip,掩码,网关,手工模式
nmcli con modify team0 ipv4.addresses '10.2.5.117/24' ipv4.gateway '10.2.5.254' ipv4.method manual
- 3、将 em1 和 em2 分别加入 team0 组
nmcli con add type team-slave con-name team0-port1 ifname em1 master team0
nmcli con add type team-slave con-name team0-port2 ifname em2 master team0
- 4、查看网卡信息,若发现有橙色的要启动
nmcli con sh
*5、若发现有橙色的要启动
nmcli con up team0
- 6、重启网络
systemctl restart network
- 7、查看服务启动,确保 active
systemctl status network
systemctl status NetworkManager
- 8、查看teaming绑定结果
teamdctl team0 st
ethtool team0
team 与 bond 区别
team 可以理解为 bond 的升级