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 ...
随机推荐
- ajax实现下拉列表联动
下拉框代码 <fieldset style="margin-bottom:5px;"> <div class="form-group"> ...
- linux 启动 关闭 防火墙
开启防火墙: systemctl start firewalld 关闭防火墙: systemctl stop firewalld
- 万恶的tileMap
先吐槽下.. 本来,我们准备用tileMap来做地图的,但发现一个问题,就是tileMap层中不能添加cc.Sprite,这导致了tileMap只适合做2D平面没有遮挡的游戏,并且主角是不能有效率的进 ...
- Unity5权威讲解
Photon Cloud 299c7416-a08d-4a23-95a1-e4be108259aa Shooter 视频:https://pan.baidu.com/s/1kVFJ1x9 项目:htt ...
- Ubuntu Git服务器搭建
1.安装git和ssh工具 apt-get install git-core openssh-server openssh-client 2.添加用户名为git的用户 useradd -m git 3 ...
- sql语句的学习(1)
一.创建表 CREATE TABLE `student` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) DEFAULT NULL COMMENT '姓名', ` ...
- linux中ssh登录Permanently added (RSA) to the list of known hosts问题解决
文章出自http://www.2cto.com/os/201307/227199.html linux中ssh登录Permanently added (RSA) to the list of know ...
- JSON.parse() JSON.stringify() eval() jQuery.parseJSON() 的区别
http://www.jb51.net/article/81880.htm : jQuery.parseJSON(jsonString) : 将格式完好的JSON字符串转为与之对应的Java ...
- 淘淘商城_day08_课堂笔记
今日大纲 问题,如何实现商品数据的同步? 学习MQ(消息队列) 搭建RabbitMQ的环境 学习RabbitMQ的队列 学习Spring-Rabbit 使用RabbitMQ完成商品数据的同步 如何实现 ...
- Oracle第二天
Oracle第二天 整体安排(3天) 第一天:Oracle的安装配置(服务端和客户端),SQL增强(单表查询). 第二天:SQL增强(多表查询.子查询.伪列-分页),数据库对象(表.约束.序列),Or ...