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
还需要细细的打磨。
Neutron 不健全的HA ROUTER的更多相关文章
- 理解 OpenStack 高可用(HA)(3):Neutron 分布式虚拟路由(Neutron Distributed Virtual Routing)
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...
- 理解 OpenStack 高可用(HA)(2):Neutron L3 Agent HA 之 虚拟路由冗余协议(VRRP)
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...
- openstack neutron L3 HA
作者:Liping Mao 发表于:2014-08-20 版权声明:能够随意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 近期Assaf Muller写了一篇关于Neutro ...
- neutron routers HA 实验
测试环境: 5个节点(( controller,2 network,2 compute nodes)) 采用VXLAN+Linux Bridge 1. 确定所有的neutron和nova服务都在运行 ...
- Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Neutron 理解 (9): OpenStack 是如何实现 Neutron 网络 和 Nova虚机 防火墙的 [How Nova Implements Security Group and How Neutron Implements Virtual Firewall]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- 理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...
- CentOS7.2非HA分布式部署Openstack Pike版 (实验)
部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 —7.网络服务Neutron配置
网络服务Neutron本章节结束如何安装并配置网络服务(neutron)采用:ref:`provider networks <network1>`或:ref:`self-service n ...
随机推荐
- lunix存取windows共享文件夹
在访问Windows共享资料之前,请确保Windows共享是可用的,这里就不再赘述该怎样设置Windows共享了,那可是另外一个课题. Linux访问Windows共享或者Linux共享资料给Wind ...
- [Q]pdfFactory打印机纸张方向设置为横向
不推荐更改pdfFactory打印机默认纸张方向(默认为横向),更改后可能导致不必要的麻烦(pdfFactory要求所定义的纸张方向与实际的纸张方向需一致,因此若更改为横向,则纸张宽度的定义需大于纸张 ...
- 6.MyBaits的分页和缓存查询
1. 创建javaweb项目MyBaits_Page_CaChe 2.在项目的WebRoot下的WEB-INF下的lib文件下加入jar文件 log4j-1.2.17.jar mybatis-3.2. ...
- sealed的作用
sealed 修饰符表示密封 用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰符在含义上互相排斥 用于方法和属性时,表示该方法或属性不能再被重写,必须和 overri ...
- VS2010下编译sqlite3
首先下载源码,http://www.sqlite.org/download.html中第一个下载文件就是,下载sqlite-amalgamation-3071000.zip,当前版本是3.7.10,里 ...
- mac xcode 快捷键
shift + cmd + n 新建项目 cmd + n 新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车 显示 ...
- 疯狂java讲义--笔记
第一章.Java语言概述与开发环境 什么是软件:一系列按照特定顺序组织的计算机数据和指令的集合: 交互方式:两种 GUI(Graphical User Interface) 图像界面 .CLI (Co ...
- Python语法基础(长期)
os.mkdir和os.mkdirs的区别? 前者如果"中间路径"不存在,会抛出异常,后者则会自动创建中间路径. map(function, iterable) 对于可迭代函数`` ...
- c#中命令copy已退出,返回值为1
c#中命令copy已退出,返回值为1 本正经的道:董姐刚才你说的修心养性其中的'修心'我 有孕在身刚好由戴梦瑶顶替了她的位置按照的指示 ╋旆呆 湎术葶页 邾箕砜笳 烦璜卿廑 奶奶个腿儿的等下次非让你 ...
- Introduction to Programming Contests (stanford)
http://web.stanford.edu/class/cs9http://web.stanford.edu/class/cs97si/7si/