• Neutron 不健全的HA ROUTER


    首先介绍下HA,所谓的HA就是高可用性,但HA有双主、主备两种工作模式,其中主备模式又包含抢占与

    非抢占两种方式,而Neutron Router采用的无疑是HA中最简单的工作方式非抢占主备模式。

    HA主要由两部分组成FIP的竞选与配置的同步,其中配置的同步又有两种实现方式,实时同步与周期同步

    Neutron中HA Router主要是靠keepalived来实现FIP竞选,keepalived主要是通过Vrrp来竞选master,关于vrrp协议

    这里我就不详细说明了,非常简单

    这里主要看一下,当Neutron Router开启HA模式后,keepalived在ROUTE NS中的配置,如下图

    keepalived在主备中的配置是一样的,通过keepalived的配置文件可以看出,Neutron Router

    的HA采用的是非抢占模式,keepalived只负责FIP的竞选并不负责配置同步,HA Router配置的

    同步则由Neutron控制平面来负责,由上述配置可以看出关于qr与qg的FIP并没有配置到keepalived

    的virtual_ipaddress块中,而是配置在virtual_ipaddress_excluded中这样做非常对可以

    避免当FIP数量非常多的时候,超过了virtual_ipaddress的限制(貌似限制是20)。

    但是HA Router中对keepalived的使用就一个致命的问题,就是当qr或者qg down掉的时候,

    并不会发生主备切换,这就是HA Router的bug,解决这个问题的做法非常简单,只需要的trace_interface

    块中加上qr与qg接口即可。或许是开源社区的一个小疏忽吧,已经报告给社区啦~

    还有一个问题就是如果两个ha 发送vrrp的接口之间断网了,彼此就收不到对方的vrrp报文,于是就

    出现了双主的情况,会导致网络不通,解决这个问题需要在Neutron中加入监控ha接口之间链路

    状态的功能,总之ha在传统的数据中心上是一个极其复杂的功能,因此Neutron HA ROUTER

    还需要细细的打磨。

  • 相关阅读:
    asp.net大文件(视频)分片上传
    numpy.argmin
    python-Numpy学习之(一)ndim、shape、dtype、astype的用法
    matlab设置小数位数
    利用Open3D进行点云可视化
    dell5820参数
    CUDA与cuDNN
    Ubuntu16.04更换cudnn版本
    二进制格式保存文件np.save和np.load-Numpy数组的保存与读取方法
    python pickle存储、读取大数据量列表、字典数据的方法
  • 原文地址:https://www.cnblogs.com/scottieyuyang/p/5712179.html
Copyright © 2020-2023  润新知