美文网首页
kolla-ansible 不同节点之间网卡名称不相同的解决方案

kolla-ansible 不同节点之间网卡名称不相同的解决方案

作者: KarPy | 来源:发表于2019-03-19 09:46 被阅读0次

    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

    linux下网卡bonding配置

    1. 关闭/停止NetworkManager服务
    systemctl stop NetworkManager.service     # 停止NetworkManager服务
    systemctl disable NetworkManager.service  # 禁止开机启动NetworkManager服务
    
    1. 加载bonding模块
    modprobe --first-time bonding
    # 没有提示说明加载成功;
    # 如果出现modprobe: ERROR: could not insert 'bonding': Module already in kernel说明你已经加载了这个模块, 就不用管了
    
    # 也可以使用lsmod | grep bonding查看模块是否被加载
    lsmod | grep bonding
    bonding               136705  0 
    
    1. 创建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
    
    1. 重启网络服务
    systemctl restart network
    

    Ubuntu-16.04/Kylin-4.4.58

    Ubuntu双网卡绑定

    1. 安装ifenslave:
    sudo apt-get install ifenslave
    echo "bonding" >>/etc/modules
    
    1. 网卡绑定配置:
    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
    
    1. 配置完成后重启网卡(如果重启不生效,请重启服务器):
    /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
    

    相关文章

      网友评论

          本文标题:kolla-ansible 不同节点之间网卡名称不相同的解决方案

          本文链接:https://www.haomeiwen.com/subject/nkiwmqtx.html