CentOS6和CentOS7配置bond0的区别(双网卡bond绑定)
bonding一共有7种工作模式(mode) 0:(balance-rr) Round-robin policy: (平衡轮询策略):传输数据包顺序是依次传输,直到最后一个传输完毕,此模式提供负载平衡和容错能力。 1:(active-backup) Active-backup policy:(活动备份策略):只有一个设备处于活动状态。一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得。此模式提供了容错能力。 2:(balance-xor) XOR policy:(平衡策略):传输根据[(源MAC地址xor目标MAC地址)mod设备数量]的布尔值选择传输设备。 此模式提供负载平衡和容错能力。 3:(broadcast) Broadcast policy:(广播策略):将所有数据包传输给所有设备。此模式提供了容错能力。 4:(802.3ad) IEEE 802.3ad Dynamic link aggregation. IEEE 802.3ad 动态链接聚合:创建共享相同的速度和双工设置的聚合组。此模式提供了容错能力。每个设备需要基于驱动的重新获取速度和全双工支持;如果使用交换机,交换机也需启用 802.3ad 模式。 5:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡):通道绑定不需要专用的交换机支持。发出的流量根据当前负载分给每一个设备。由当前设备处理接收,如果接受的设 备传不通就用另一个设备接管当前设备正在处理的mac地址。 6:(balance-alb) Adaptive load balancing: (适配器负载均衡):包括mode5,由 ARP 协商完成接收的负载。bonding驱动程序截获 ARP在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。
bonding的七种工作模式
bonding技术提供了七种工作模式,在使用的时候需要指定,每种有各自的优缺点,我们使用的是 mode=4
balance-rr (mode=0) 默认, 有高可用 (容错) 和负载均衡的功能, 需要交换机的配置,每块网卡轮询发包 (流量分发比较均衡).
active-backup (mode=1) 只有高可用 (容错) 功能, 不需要交换机配置, 这种模式只有一块网卡工作, 对外只有一个mac地址。缺点是端口利用率比较低
balance-xor (mode=2) 不常用
broadcast (mode=3) 不常用
802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置,没用过
balance-tlb (mode=5) 不常用
balance-alb (mode=6) 有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接口不是特别均衡)
服务器上两张物理网卡em1和em2, 通过绑定成一个逻辑网卡bond0,bonding模式选择mode4
注: ip地址配置在bond0上, 物理网卡不需要配置ip地址。
1、关闭和停止NetworkManager服务(一定要关闭,不关会对做bonding有干扰)
systemctl stop NetworkManager.service # 停止NetworkManager服务 systemctl disable NetworkManager.service # 禁止开机启动NetworkManager服务
2、加载bonding模块
modprobe --first-time bonding
没有提示说明加载成功, 如果出现 modprobe: ERROR: could not insert 'bonding': Module already in kernel 说明你已经加载了这个模块, 就不用管了
你也可以使用lsmod | grep bonding查看模块是否被加载
lsmod | grep bonding bonding 136705 0
**3、创建基于bond0接口的配置文件 **
/etc/sysconfig/network-scripts/ifcfg-bond0
修改成如下,根据你的情况:
DEVICE=bond0
TYPE=Bond
IPADDR=172.16.0.183
NETMASK=255.255.255.0
GATEWAY=172.16.0.1
DNS1=114.114.114.114
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
BONDING_MASTER=yes
4、将需求mode配置在系统文件中
vim /etc/modprobe.d/bond.conf
添加以下内容:
alias bond0 bonding
options bond0 miimon=100 mode=4 xmit_hash_policy=layer3+4
**5、修改em1接口的配置文件 **
vim /etc/sysconfig/network-scripts/ifcfg-em1
修改成如下:
DEVICE=em1
USERCTL=no
ONBOOT=yes
MASTER=bond0 # 需要和上面的ifcfg-bond0配置文件中的DEVICE的值对应 SLAVE=yes
BOOTPROTO=none
6、修改em2接口的配置文件
vim /etc/sysconfig/network-scripts/ifcfg-em2
修改成如下:
DEVICE=em2
USERCTL=no
ONBOOT=yes
MASTER=bond0 # 与 ifcfg-bond0 配置文件中的DEVICE的值对应 SLAVE=yes
BOOTPROTO=none
7、测试
重启网络服务
systemctl restart network
查看速率命令:ethtool bond0
在CentOS6.x下配置bond绑定,(以6.4系统为例)
配置如下:
然后执行命令service network restart 重启网卡,就可以看到bond0网卡,
同时也可以使用命令查看bond0的工作状态cat /proc/net/bonding/bond0
在CentOS7.x下配置bond绑定,(以7.3系统为例)
配置如下:
然后执行命令service network restart 重启网卡,就可以看到bond0网卡,
同时也可以使用命令查看bond0的工作状态cat /proc/net/bonding/bond0