Bonding vs Team

      在centos7上配置bonding,遇到了不少坑。看了redhat的官方博客后,才知道centos7引入了team driver。

      Centos7之前系统提供给用户的是bonding driver来实现链路聚合,实际上bonding适用于大多数应用。Bonding driver的架构是由内核空间完全控制、管理。

      Team driver又是什么呢?team driver不打算复制bonding driver,实际上它是被设计用一整套不同的设计和不同的方法来实现bonding能做到的事,它的这种更灵活、更高效。下面是Bonding和Teaming的feature、performance对比:

wKioL1SiFpehsQTUAAOhByDVJJY998.jpg

wKiom1SiFeOARI5DAAHkYcWmZuc378.jpg


Performance


wKioL1SiFpeRDTbMAAKYIpeLO3w588.jpg

       从redhat官方给出的对比数据来看,team driver无论是从feature还是performance方面都比bonding driver好。现在还不知道team driver的稳定性如何?还有待testing。

      针对现有的bonding配置,如果想从bonding driver转到team driver,redhat官方还是挺人性化的,提供了一个bond2team的命令行工具。


Team配置

       根据redhat官方提供的rhel7 networking guide pdf来配置,写得还是很详细的。

       通过nmtui这个文本界面工具来配置(会直接生成网卡配置文件),这个工具还可以配置bonding。

在命令行敲入nmtui,首页如下:

wKioL1SiFw3xpYXnAAEinTtQ9zA325.jpg

wKioL1SiFw2Ct6c-AAFkOMMC3T0126.jpg

wKiom1SiFlmxKeh7AAPMYo3ZFCk702.jpg

 配置team的时候不能选择mode,这太。。。! 默认是mode0

 

bond2team派上用场了,哈哈!

wKioL1SiFzvBlVYIAAL_W3bTZfM774.jpg


这个目录下,可以查阅相关的mode配置

wKiom1SiFoeA21l9AAPBSF_yTmg293.jpg


使用team配置mode 1

[root@compute-6 network-scripts]#vim ifcfg-team0     # 编辑ifcfg-team0,修改相应坑,
DEVICE=team0
DEVICETYPE="Team"
BOOTPROTO=none        #生成的时候是dhcp,改为static,不然ip起不来
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=team0
UUID=7a9afef2-4aba-463d-a2d5-59fcc1dc885c
ONBOOT=yes
TEAM_CONFIG="{"runner": {"name":"activebackup"}, "link_watch" : {  "name" : "ethtool"}}"   # 添加TEAM_CONFIG内容
IPADDR=172.16.100.6
PREFIX=24
GATEWAY=172.16.100.254
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
service network restart   #  重启网络


查看team的状态,需要安装teamd这个包

wKioL1SiF_7jPj2UAAItGAOl9nY701.jpg

重启机器后,team0就起不来了。暂时还不知道怎么回事?


参考链接

http://rhelblog.redhat.com/2014/06/23/team-driver/