1.bond简介
通常在网络吞吐量很大,或者对网络稳定性要求比较高的时候,会做网卡bond。主要是通过将多个物理网卡绑定到一个逻辑网卡上,实现本地网卡的冗余、带宽扩容以及负载均衡
Linux下一共其中bond模式,bond0-bond6,其中bond0和bond1最为常见
- bond0
- 平衡轮循环策略,有自动备援,不过需要"Switch"支援及设定
- balance-rr(Round-robin policy),即提供负载均衡和容错的能力
- bond1
- 主-备份策略
- active-backup(Active -backup policy),即主备模式,提高网络连接的可靠性
2.bond0
bonding驱动加载查看
[root@vincent ~]# cat /boot/config-3.10.0-957.5.1.el7.x86_64 | grep -i bonding
CONFIG_BONDING=m # 这里可以看出bonding驱动编译成可以动态加载的内核模块
1.配置网卡信息
[root@vincent ~] vim /etc/sysconfig/network-scripts/ifcfg-bond0 # 建立虚拟网卡bond0
DEVICE=bond0
IPADDR=10.10.10.1
NETMASK=255.255.255.0
GATEWAY=10.10.10.254
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
[root@vincent ~] vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no # 控制用户是否有修改网卡的权限,必须设置为no,只有root用户才可以修改
MASTER=bond0
SLAVE=yes
[root@vincent ~] vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
2.指定加载bond模式
[root@vincent ~]# vim /etc/modprobe.d/bond.conf # 开机自动加载bonding驱动
alias bond0 bonding
options bond0 miimon=100 mode=0 # miimon:多长时间检查一次网络,单位ms;mode:bond模式(0代表负载模式bond0,1代表主备模式bond1)
3.重启网络使bond生效
[root@vincent ~]# /etc/init.d/network restart
4.查看网卡及bonding状态
[root@vincent ~]# ip a # 可以看到eth0和eth1均是slave,而bond0是Master
[root@vincent ~]# cat /proc/net/bonding/bond0 # 会显示bonding Mode
3.bond1
bond1模式配置与bond0模式相比,第1步的配置及3、4步的重启网卡查看网络信息操作是一样的,只不过在第2步中配置加载bond模式时不同,需要指定bond1模式,如下
bond1模式配置
具体操作步骤就下面这步不同,其它一致。
[root@vincent ~]# vim /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=1 # 模式1
[root@vincent ~]# vim /etc/rc.d/rc.local # eth0 eth1的工作顺序(仅在主备模式下需要做这个设置,其他的模式不需要做这个设置)
ifenslave bond0 eth0 eth1
注:在高可用的环境下,网卡配置bonding后,vip_nic要为bond0
备:modprobe -r bonding;service network restart # 让bond模式生效