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 ...
随机推荐
- SNMP概述–运维必知的协议基础
一.什么是SNMP? SNMP是 “Simple Network Management Protocol” 的缩写,中文意思是简单网络管理协议,它是由互联网工作小组在RFC1157中定义的应用层 ...
- 手动添加PopMenu出现的问题
最近在github上找了个比较酷的弹出菜单PopMenu用来做分享页面,demo下载运行OK,于是拖进项目中,一编译就呵呵了.... 一看demo目录,原来这还还引用了其他库,于是把pod下面的pop ...
- VS2010下编译sqlite3
首先下载源码,http://www.sqlite.org/download.html中第一个下载文件就是,下载sqlite-amalgamation-3071000.zip,当前版本是3.7.10,里 ...
- NOIP2015-普及组复赛-第一题-金币
题目描述 Description 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天),每天收到两枚金币:之后三天(第四.五.六天),每天收到三枚金币:之后四天( ...
- python 学习 异常处理
异常处理实例 while True: num1 = input('num1:') num2 = input('num2:') try: num1 = int(num1) num2 = int(num2 ...
- escape,encodeURI,encodeURIComponent
JavaScript/js中,有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,d ...
- JS算法与数据结构之八皇后(晕晕)
算法核心思想 回溯算法 递归实现 程序实现 坐标系 循环递归 回溯 计数 收集位置 特效添加 <!DOCTYPE HTML> <html> <head> <m ...
- es6 语法
1.定义变量 使用let,const.let可以定义变量,相当于var,定义的变量只在局部范围内使用.const用来定义常量. 2.解构 自动解析数组或者对象中的值,比如一个函数要返回多个值,通常的做 ...
- linux 通过pid寻找程序路径的最简单命令
在linux实际操作命令中,查看pid的方式有很多种,通过pid找程序路径的方式也有好几个,但是可能大家都忽略的一个很简单也是很实用的命令:pwdx. 比如要查找某个java编写的程序运行情况可通过j ...
- Java线程的几种状态
一. 线程状态类型1. 新建状态(New):新创建了一个线程对象.2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法.该状态的线程位于可运行线程池中,变得可运 ...