fork from:https://github.com/sivel/bonding
mirror at:https://github.com/forsakening/bonding
修改后功能如下:
1)过滤出系统的网卡,过滤出的网卡类型:非网桥、非loopback、非tap、非pair,暂不支持过滤ovs的网卡
2)支持配置没有ip属性的bond(不设置bond的ip);
3)支持设置bond名为bond-mng、bond-vm等;
4)目前只针对centos修改了上述功能;
工具地址:
172.16.33.1:/data/tools/csos-set-bond
使用环境:
1)安装python环境;
2)centos使用nmcli工具进行设置,如果没有请下载安装,目前超融合自带的系统已经安装
使用步骤:
1)运行csos-set-bond工具,并输入希望创建的bond名称,如bond-mng,bond-vlan,bond-access等
若出现如下图所示,说明系统中已经存在了bond设备,不必惊慌,若想删除该存在的bond,可以去/etc/syconfig/network-script目录下手动删除已有的ifcfg-bondXXX,并重启网络。
2)配置bond的模式,具体各个bond的模式可见参考部分
3)配置bond设备下的物理设备,即配置网卡
若出现如下图所示情形,则说明配置的网卡已经从属于某个bond,不必惊慌,若想删除该存在的bond,可以去/etc/syconfig/network-script目录下手动删除已有的ifcfg-bondXXX,并重启网络。
4)配置ip
4.1)不配置ip,比如虚机使用的网络,按如下配置
至此,配置成功,systemctl restart network 即可
4.2)配置ip,需要配置bond的ip、掩码及网关,和配置物理网卡类似
分两种情况,不配置网关,那么该bond设备无网关,如下
配置网关,如下
配置完成后会发现,之前配置的网关成为了默认路由,请注意,若不想使能为默认路由,可更改/etc/sysconfig/network-scripts/ifcfg-bondXXX下的DEFROUTE=yes 为 DEFROUTE=no,并重启网络服务即可
配置完成后systemctl restart network 即可
超融合和厂商典型配置:
1)非堆叠
若只有单台交换机,但交换机上支持lacp模式,可选择bond4模式,即如下介绍。交换机的配置可以请宝德的人配置一下。
这种好处是,提供了服务器上链路的冗余。当bond在一起的网卡其中一个网线松动,或者网卡down时,不会影响网络的联通。
2)堆叠
有2台交换机,并且交换机支持lacp模式,可选择bond4模式,交换机的配置可以请宝德的人配置一下。
这种好处是,不仅仅提供了服务器上链路的冗余,同时对交换机提供冗余。
over!!!
参考:
http://man7.org/linux/man-pages/man7/netdevice.7.html 网卡flag标志位
http://blog.51cto.com/linuxnote/1680315 linux下bond的模式介绍
Ps:
在过滤网卡的分类时,按照逻辑应该是使用ioctl的SIOCGIFPFLAGS属性来获取flags标记进而判定网卡的属性,但目前版本的linux内核没有支持该属性,走至下图的default分支。
so,只能使用/sys/class/net/docker0/bridge 判断这个文件夹是否存在来判定属性。(strace brctl show 可获得)