kolla-ansible 不同节点之间网卡名称不相同的解决方案
kolla-ansible 安装openstack时,要求被安装的节点上,对应网络平面的网卡名称要相同。但有时候会遇到不同节点对应网卡名不相同的问题,同时,有些节点修改网卡名又不能成功。这时候,可以使用网卡bond技术,将网卡名称统一。
网卡bond模式
bonding技术提供了七种工作模式,在使用的时候需要指定一种,每种有各自的优缺点.
- 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) 有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接口不是特别均衡)
具体的网上有很多资料,了解每种模式的特点根据自己的选择就行, 一般会用到0、1、4、6这几种模式。
下面介绍CentOS7.5/Ubuntu16.04(Kylin)系统的网卡bond方法,这里使用mode 1
CentOS7.5
- 关闭/停止NetworkManager服务
systemctl stop NetworkManager.service # 停止NetworkManager服务
systemctl disable NetworkManager.service # 禁止开机启动NetworkManager服务
- 加载bonding模块
modprobe --first-time bonding
# 没有提示说明加载成功;
# 如果出现modprobe: ERROR: could not insert 'bonding': Module already in kernel说明你已经加载了这个模块, 就不用管了
# 也可以使用lsmod | grep bonding查看模块是否被加载
lsmod | grep bonding
bonding 136705 0
- 创建bond接口的配置文件
==注意==:bond名称可以随意,这里可以写成需要统一的网卡名,如: enp1s0f0
vim /etc/sysconfig/network-scripts/ifcfg-enp1s0f0
TYPE=Bond
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
DEVICE=enp1s0f0
ONBOOT=yes
IPADDR=10.10.129.156
NETMASK=255.255.255.0
GATEWAY=10.10.129.254
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100"
-----
vim /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
DEVICE=ens192
ONBOOT=yes
MASTER=enp1s0f0
- 重启网络服务
systemctl restart network
Ubuntu-16.04/Kylin-4.4.58
- 安装ifenslave:
sudo apt-get install ifenslave
echo "bonding" >>/etc/modules
- 网卡绑定配置:
vim /etc/network/interfaces
auto enp6s0f2
iface enp6s0f2 inet static
address 10.10.103.33
netmask 255.255.255.0
gateway 10.10.103.254
bond-slaves none
bond-mode active-backup
bond-miimon 100
auto eth2
iface eth2 inet manual
bond-master enp6s0f2
bond-primary eth2
- 配置完成后重启网卡(如果重启不生效,请重启服务器):
/etc/init.d/networking restart
重启过程中可能出现 option mode: ubable to set because the bond device is up
错误,这时候删除已经存在的网卡bond上的ip,并重试
ip addr del 10.10.103.33/24 dev enp6s0f2
/etc/init.d/networking restart
网友评论