bonding技术
bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。
bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使用它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, 一般来说都支持.
# modinfo bonding
Bond配置
修改物理网卡配置文件,作为bond成员接口
cat /etc/sysconfig/network-scripts/ifcfg-eno1
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eno1
DEVICE=eno1
ONBOOT=yes
MASTER=bond0 //bond0为主设备,需要与上的ifcfg-bond0配置文件中DEVICE的值对应
SLAVE=yes //本地网卡为从设备,成员设备
创建基于bond0接口的配置文件
vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=Bond
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=10.1.11.81
NETMASK=255.255.254.0
GATEWAY=10.1.10.254
DNS1=114.114.114.114
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100"
BONDING_OPTS="mode=6 miimon=100" 表示工作模式mode6(adaptive load balancing), miimon表示监视网络链接的频度 (毫秒), 我们设置的是100毫秒, 根据你的需求也可以指定mode成其它的负载模式。
-
bonding的七种工作模式:
bonding技术提供了七种工作模式,在使用的时候需要指定一种,每种有各自的优缺点.
1、balance-rr (mode=0) 默认, 有高可用 (容错) 和负载均衡的功能, 需要交换机的配置,每块网卡轮询发包 (流量分发比较均衡).
2、active-backup (mode=1) 只有高可用 (容错) 功能, 不需要交换机配置, 这种模式只有一块网卡工作, 对外只有一个mac地址。缺点是端口利用率比较低
3、balance-xor (mode=2) 不常用
4、broadcast (mode=3) 不常用
5、802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置,没用过
6、balance-tlb (mode=5) 不常用
7、balance-alb (mode=6) 有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接口不是特别均衡)
具体的网上有很多资料,了解每种模式的特点根据自己的选择就行, 一般会用到0、1、4、6这几种模式。
注: ip地址配置在bond0上, 物理网卡不需要配置ip地址.
Centos/redhat版本不同,配置有所不同。
关闭和停止NetworkManager服务
systemctl stop NetworkManager.service # 停止NetworkManager服务
systemctl disable NetworkManager.service # 禁止开机启动NetworkManager服务
ps: 一定要关闭,不关会对做bonding有干扰
加载bonding模块
modprobe --first-time bonding
没有提示说明加载成功, 如果出现modprobe: ERROR: could not insert 'bonding': Module already in kernel说明你已经加载了这个模块, 就不用管了
你也可以使用lsmod | grep bonding查看模块是否被加载
lsmod | grep bonding
bonding 136705 0
重启网络服务
systemctl restart network
查看bond状态
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup) //绑定模式
Primary Slave: None
Currently Active Slave: eno1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eno1 //备接口
MII Status: up //接口状态: up(MII是Media Independent Interface简称, 接口的意思)
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 38:68:dd:54:6b:f0
Slave queue ID: 0
Slave Interface: eno2 //备接口
MII Status: up //接口状态: up(MII是Media Independent Interface简称, 接口的意思)
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 38:68:dd:54:6b:f1
Slave queue ID: 0