网络系列之 - CentOS多网卡bonding
为什么要多网卡bonding?
1. 将多网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。
2. 直接给两块网卡设置同一IP地址是不可以的,通过bonding,虚拟一个网卡对外提供链接,物理网卡的被修改为相同的MAC地址。
1 Bonding工作模式
共7种模式:0-6Mode
1. Mode0(balance-rr):轮询(Round-robin)策略,从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力。
2. Mode1(active-backup):活动-备份(主备)策略,只有一个slave被激活,当且仅当活动的salve接口失败时才会激活其他slave,为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见。
3. Mode3(broadcast):广播策略,在所有的slave接口上传送所有的报文,提供容错能力
2 Bonding配置
帮助资料:
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
https://www.kernel.org/doc/Documentation/networking/bonding.txt
创建bonding设备的配置文件:
[root@CentOS7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100
PREFIX=8
# miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一个条路不通就转入另一条线路
BONDING_OPTS="mode=1 miimon=100"
# 网卡eth0配置
[root@CentOS7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
# 网卡eth1配置
[root@CentOS7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
NAME=eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
查看bond0状态:
[root@CentOS7 ~]# cat /proc/bonding/bond0
删除bond0:
[root@CentOS7 ~]# ifconfig bond0 down
[root@CentOS7 ~]# rmmod bonding