理解 OpenStack 高可用(HA)(1):OpenStack 高可用和灾备方案 [OpenStack HA and DR]

  • 时间:
  • 浏览:0
  • 来源:大发5分PK10APP下载_大发5分PK10APP官网

OpenStack 官方认为,在满足其 HA 要求的请况下,非要实现 IaaS 的 99.99% HA,否则,这不包括单个客户机的 HA。

(4)Pacemaker 和 OpenStack Resource Agent (RA)

(来源及高清大图)

  其中:

从每个 API 服务来看:

  

    在测试环境中,你这各自 儿常常将虚机创建在本地磁盘上,非要 ,在机器宕机励志的话 ,有有哪些虚机将永远也回不来了。否则,在生产环境中,非要将虚机部署在 cinder-volume 肯能共享的存储比如 RDB 肯能 NFS 上。原本励志的话 ,在虚机损坏时,非要从共享存储上将其恢复(使用 nova evacuate 功能)。 使用 Pacemaker 部署 A/P 方案(这些 2.3 中 cinder-volume A/P HA)励志的话 ,生产环境中计算节点的数据往往远远超过 Corosync 集群中节点数目的限制。

各组件被调用的辦法 :

(6)MySQL HA

(b)Juno 中引入的 VRRP (Virtual Router Redundancy Protocol)方案 (由 VRRP/Keepalived 控制 VR 的 VIP 和 VMAC 的 failover)

    非要励志的话 ,非要使用 Pacemaker + Corosync 搭建两节点集群实现 A/P HA 方案。由主服务器实际提供服务,在其故障时由 Pacemaker 将服务切换到被服务器。OpenStack 给其组件提供了各种Pacemaker RA。对 Mysql 和 RabbitMQ 来说,非要使用 Pacemaker + Corosync + DRBD 实现 A/P HA。具体请参考 理解 OpenStack 高可用(HA)(4):RabbitMQ 和 Mysql HA。具体配置请参考 OpenStack High Availability Guide。

    高可用性是指提供在本地系统单个组件故障请况下,能继续访问应用的能力,无论你这些 故障是业务流程、物理设施、IT软/硬件的故障。最好的可用性, 就非要 你的一台机器宕机了,否则使用你的服务的用户完整性感觉非要。你的机器宕机了,在该机器上运行的服务肯定得做故障切换(failover),切换有原本维度的成本:RTO (Recovery Time Objective)和 RPO(Recovery Point Objective)。RTO 是服务恢复的时间,最佳的请况是 0,这原因 服务立即恢复;最坏是无穷大原因 服务永远恢复不了;RPO 是切换时向前恢复的数据的时间长度,0 原因 使用同步的数据,大于 0 原因 有数据丢失,比如 ” RPO = 1 天“ 原因 恢复时使用一天前的数据,非要 一天之内的数据就丢失了。否则,恢复的最佳结果是 RTO = RPO = 0,否则你这些 太理想,肯能要实现励志的话 成本太高,全球估计 Visa 等少数几次公司能实现,肯能几乎实现。

其中:

在主机房中心居于灾难时,切换到备份机房(总公司机房中心)上,恢复应用和服务:

结论:该方案比不上前面几次公司的方案,肯能:

(3)Neutron L3 Agent HA - DVR (分布式虚机路由器)

(https://www.hastexo.com/system/files/neutron_packet_flows-notes-handout.pdf)

 这里只讨论 cinder-volume。

各 HA 组件之间的关系:

    云环境包括原本广泛的系统,包括硬件基础设施、IaaS层、虚机和应用。以 OpenStack 云为例:

本系列会分析OpenStack 的高可用性(HA)概念和解决方案:

  业界有几次解决方案:

(3)集中式检查

(5)RabbitMQ HA

CRM:Oracel Clusterware(Oracle Grid Infrastructure Release 12c Release 1 or later)

(2)Pacemaker-remote: 突破Corosync的集群规模限制,

  当原本节点失效时,恢复(recovery)过程会被触发,Pacemaker 会依次:

(4)分布式健康检查

Neutron 包括却说我的组件,比如 L3 Agent,L2 Agent,LBaas,VPNaas,FWaas,Metadata Agent 等 Neutron 组件,其中次要组件提供了原生的HA 支持。有有哪些组件之间的联系和区别:

   部署辦法 如下:

点评:与 RDO 方案一样,该 HA 也是原本彻底的 HA 方案,消除了整个系统的 SPOF。否则,与 RDO 相比分散式控制节点相比,Mirantis 的集中式控制节点上运行的服务较多,肯能会影响其性能,否则在小规模云环境中节省了硬件成本。

目前,OpenStack 上非要 实现 DR。 IBM 和 RedHat 联合发起的 DRaas 提议:

选折 树:

特征:

    两者相互关联,互相补充,互有交叉,并肩又有显著的区别:

特征:

该 HA 方案具有以下优点:

也非要从别的深层上看待两者的区别: 

有有哪些方案之间的对比:

在数据级容灾辦法 下,所建立的异地容灾中心非要简单地把它理解成原本远程的数据备份中心。数据级容灾的恢复时间比较长,否则相比你这些 容灾级别来讲它的费用比较低,否则构建实施也相对简单。

要实现 OpenStack HA,原本最基本的要求是有有哪些节点完整性都是冗余的。根据每个节点上部署的软件特点和要求,每个节点非要采用不同的 HA 模式。否则,选折 HA 模式有个基本的原则:

(以上资料来自 基于Fuel的超融合一体机 by 周征晟 / 2015-06-27)

    云控制节点上运行的服务中,API 服务和内部人员工作组件完整性都是无请况的,否则很容易就非要实现 A/A HA;原本就要求 Mysql 和 RabbitMQ 也实现 A/A HA,而它们各自 完整性都是 A/A 方案。否则,Mysql Gelera 方案要求三台服务器。肯能只想用两台服务器励志的话 ,则非要实现 A/P HA,肯能引入原本 Arbiter 来做 A/A HA。

    DHCP 协议自身就支持多个 DHCP 服务器,否则,只非要在多个网卡控制节点上,通过修改配置,为每个租户网络创建多个 DHCP Agent,就能实现 DHCP 的 HA 了。

 特征:

  否则,非要看多实际部署中,你这些 方案用得较少,只看多 Oracel 在使用你这些 方案。

  使用 Pacemaker + Corosync 搭建两节点(肯能多节点) A/P 集群。在主节点上,由 Pacemaker 启动 Neutron 的各种服务。 

(2)L3 Agent HA

OCF RAs, as used by Red Hat and SUSE

(c)Juno 引入的 DVR

(来源)

(http://techbackground.blogspot.com/2013/06/metadata-via-quantum-router.html)

(1)L2 Agent HA: L2 agent 只在所在的网络肯能计算节点上提供服务,否则它是不非要HA的。

  其余你这些 前提条件:

(来源:Mirantis 官网)

云环境的 HA 将包括:

本文的重点是讨论 OpenStack 作为 IaaS 的 HA。 

参考链接和文档:

关于共享 DB 的几次说明 (主要来自 这篇文章):

(2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议)

Master SQL Server 居于故障时,切换到 Standby SQL Server,继续提供数据库服务:

   你这些 方案要求使用多个网络控制节点,每个节点上运行原本 L3 Agent。在某个 Agent 死了时,Router 会被部署到别的 Agent 上。你这些 方案,除了上述的现象外,切换时间过长是其主要现象。

(1)Controller 节点通过管理网 Ping 所有 Compute 节点,Controller 节点检查nova service-list,对出现象的节点 Evacuate

该配置合适非要五台机器:

    该方案将 NAT 和 L3 Agent 部署到虚机所在的计算节点,在网络控制节点上只部署 DHCP 和 SNAT。该方案解决了 L3 Agent 和 Metadata Agent 的 H/A 现象。目前,将 DHCP Agent 改成分布式,VPNaas 以及 FWaas 的修改工作肯能在进行中。用户非要使用第三方软件提供 SNAT 的 HA 方案。非要参考 理解 OpenStack 高可用(HA)(3):Neutron 分布式虚拟路由(Neutron Distributed Virtual Routing)。

HA 非要使用冗余的服务器组成集群来运行负载,包括应用和服务。你这些 冗余性也非要将 HA 分为两类:

(5)LBaas Agent HA

(1)根据该文章中的原本调查,被调查的 220 多个用户中,400 个在用 Mysql Galera,20 多个在用单 Mysql,非要原本用 PostgreSQL。

   HA 实现细节:

小结: OpenStack 云/网络/存储 控制节点 HA 集群

原本异地容灾系统,往往包括本地的 HA 集群和异地的 DR 数据中心。原本示这些 下(来源:百度文库):

关于 MariaDB:

    本文转自SammyLiu博客园博客,原文链接:http://www.cnblogs.com/sammyliu/p/4741967.html,如需转载请自行联系原作者

    对 HA 来说,往往使用共享存储,原本励志的话 ,RPO =0 ;并肩往往使用 Active/Active (双活集群) HA 模式来使得 RTO 几乎0,肯能使用 Active/Passive 模式的 HA 励志的话 ,则非要将 RTO 减少到最小限度。HA 的计算公式是[ 1 - (宕机时间)/(宕机时间 + 运行时间)],你这各自 儿常常用几次 9 表示可用性:

特征:

肯能更完整性地看出完整性的路径(图中红色线条,从VM现在现在开始 英语 ,到 NOVA-API Metadata 现在现在开始 英语 ):

    大体上讲,容灾非要分为五个级别:数据级别、应用级别以及业务级别。

肯能有有哪些优点,该方案被絮状采用。具体配置请参考 OpenStack High Availability Guide。

几次概念:

点评:HP 的 A/A 方案是不彻底的,甚至是你这些 怪异(为有哪些不原本控制节点做原本A/A 集群呢?),肯能合适 Horizon、 Ceilomter 和 Neutron Agents 非要 实现 HA,它只实现了 API,DB 和 MQ 的 HA。

特征:启用多个心跳网时,解决策略单一,引起用户业务不非要的中断

组成:原本控制节点 + 原本网络节点组成的集群。除了网络节点上的组件外,别的组件都部署在控制节点上。

好不容易找到原本国内公司的方案,来源在 这里:

指通过建立异地容灾中心,做数据的远程备份,在灾难居于原本要确保原有的数据不要 再丢失肯能遭到破坏。但在数据级容灾你这些 级别,居于灾难时应用是会中断的。

(2)在使用共享存储时,考虑到目前代码中居于的资源竞争(参考这里),该服务非要实现为 A/P HA 辦法 ,也假使 说在某个时刻,非要主节点上的 cinder-volume 在运行。RedHat 你这些  ticket 富含具体的分析。目前,cinder-volume 还非要 内在的 HA 实现,非要借助第三方软件比如 Pacemaker。A/A 的实现在 Liberty 中正在进行,请 参见 和 你这些 。

HA 将服务分为两类:

非要参考 RedHat 的更多文档,包括 Preparing for the Worst Case Scenario: A Vision for OpenStack Disaster Recovery 和 Disaster Recovery Enablement in OpenStack。

(a)Juno 中引入的 Automatic L3 Agent Failover (当 VR 所在的 L3 Agent 失效的原本,Neutron 自动将它 failover 到其它某个 L3 Agent 上)

从 HA 深层来讲:

该方案合适非要三台服务器。以 RDO 提供的案例为例,它由三台机器搭建成原本 Pacemaker A/A集群,在该集群的每个节点上运行:

    该方案增加了原本配置项 allow_automatic_l3agent_failover。当它的值为 True 时,L3 plugin 去周期性地检查所有有管理 Virtual Router 的 L3 Agent 的请况。肯能某 L3 Agent 死了,受它管理的 Router 会重新被 schedule 到别的 L3 Agent 上。 Neutron L3 Plugin 通过判断该 L3 Agent 与否在规定时间(agent_down_time)内有发回心跳消息来判断它与否活着。居于多种 L3 Agent 未能及时上报心跳否则 router 依然在转发网络包的肯能。否则你这些 实现肯能会居于 L3 Agent 被认为死了否则其 router namespace 依然在转发网络包和响应 ARP 请求而原因 的现象。肯能网络后端不阻止死掉了的 agent 使用 route 的 IP 地址,那新老 namespace 就肯能居于冲突。你这些 冲突不要 再断掉 E-W 网络,肯能新老 namespace 中的原本非要承担无请况网络包的转发任务。否则,南-北网络肯能会受影响,肯能 NAT 只居于于原本router 上。否则,reschedule 后,浮动 IP 也会无法工作,肯能它们与 router 的 内部人员端口的绑定关系不要 再被设置到新的router 上。

系统组成:(两节点 HAProxy + Keepalived 集群) +  第原本控制节点 +(RabbitMQ Cluster + Queue 镜像)+(Galera + Mysql) 

    该方案使用多余原本的网络控制节点,提供 A/P HA。具体请参考我的另一篇文章 理解 OpenStack 高可用(HA)(2):Neutron L3 Agent HA 之 虚拟路由冗余协议(VRRP)。其主要特点为:

  该 HA 方案的现象是:

masakari, by NTT, 

Mirantis 推荐在生产环境中使用带合适原本控制节点的 HA:

(2)以 Nova 为例,Mysql 使用 Write-intent locks 机制来保证多个连接并肩访问数据库中的同三根记录时的互斥。以给新建虚机分配 IP 地址为例,该锁机制保证了原本 IP 不要 再分给原本用户。

跟 metadata service 相关的组件包括:

这里 有完整性的 RDO HA 部署方案:

    目前 Neutron LBaaS 代理服务是无法通过其自带的 HAProxy 插件 实现高可用的。实现 HAProxy 高可用常见的方案是使用 VRRP (Virtual Router Redundancy Protocol ,虚拟路由冗余协议),不过 LBaaS HAProxy 插件目前还不支持该协议。否则,非要使用 Pacemaker + 共享存储(放置 /var/lib/neutron/lbaas/ 目录) 的辦法 来部署 A/P 辦法 的 LBaas Agent HA,具体请参考 这篇文章 中描述的辦法 。

(注意,肯能虚机在启动过程中非要访问 qrouter,这也假使 说,要求虚机所在的子网非要肯能加带到了原本 Virtual router 上,否则,它是无法通过 qrouter 走的,除非走 qdhcp)

(4)Metadata agent 和 proxy 的 HA

来源:TCP 官网

    L3 Agent 比较特殊,肯能它是所有 openstack (core)services 中唯一原本有请况的,否则,非要使用传统的在多个节点上部署多个实例使用LB来做HA。Neutron 两种生活的调度器(scheduler)支持在多个网络节点上部署多个L3 Agent,否则,由 L3 Agent 管理的 Virtual Router 自身非要有HA的实现。它的HA的Neutron 原生实现包括如下几种辦法 :

(3)DHCP Agent 的 HA

Neutron 提供了多种原生的 HA 方案:

OpenStack 的各提供商中,就该需求,RadHat 使用的是上述的第二种方案,具体方案在 计算节点HA 方案:

不由得赞一下 RDO 的文档!想起来原本去拜访原本 OpenStack 初创公司,CTO 说你这各自 基本上是参考 RDO 做方案,看起来是很有道理的。

否则,“数据源是一切关键性业务系统的生命源泉”,否则数据级容灾必不可少。

OpenStack 部署环境中,各节点非要分为几类:

(1)在使用非共享存储时,cinder-volume 线程受 Pacemaker 监控,在其停止的原本重启。你这些 方案下,存储控制节点宕机励志的话 ,顶端的所有卷还会损失掉。否则,在生产环境中,非要使用下两种生活方案。

特征:太简单粗暴,容易引起误杀和数据损坏

    从顶端非要看出,除了 DHCP Agent 天生就通过配置非要实现 A/A HA 以及 L3 HA 以外,其它的组件的 HA 完整性都是 A/P 的,否则实现的技术非却说我原生的,也非要使用 Pacemaker,也非要结合起来使用。比如 RDO 的方案:

(1)OpenStack 高可用方案概述

(3)使用 Mysql Galera 时,所有节点完整性都是 Master 节点,非要接受服务,否则这里有个现象,Mysql Galera 不要 再克隆qq好友好友 Write-intent locks。原本用户非要在不同节点上获取到同三根记录,否则非要原本都能否 修改成功,原本会得到原本 Deadlock 错误。对于你这些 请况,Nova 使用 retry_on_deadlock 机制来重试,比如@oslo_db_api.wrap_db_retry(max_retries=5, retry_on_deadlock=True)。默认完整性都是重试 5 次。否则,你这些 机制速率不高,文章作者提供了两种生活新的机制。

请况:

2016/10/23 你这些 更新:

猜你喜欢

游客zuc4beqhlrrjg的主页

文章:2丨粉丝:61185丨话题:0文章:28丨粉丝:77丨话题:0阿里云ET专家,重点在智能语音、人脸识别、图像识别、OCR等...文章:3000丨粉丝:62902丨话题:0

2020-01-27

真有一些女生不想谈恋爱 觉得谈恋爱很麻烦嘛

追答追答追问追答追答追问追答追问追答你应该学好进一步发展啊?诱导她做或多或少男女亲戚大伙才会做的事情。比如牵手,接吻。难道她都有不承认她是你女友?你喜欢的或多或少 女生是非常

2020-01-27

看别人秀恩爱,看到情侣,我也羡慕想谈恋爱。为什么会这样啊?而且

展开详细展开详细为你推荐:展开详细由于有追你的由于遇到了心仪的帅哥都还要尝试一下啊,当然是在成年然后 啊,被早恋哈哈,希望对您有所帮助哈追答本回答由外国网友推荐有点硬推荐

2020-01-27

情侣之间千万不能做的事有哪些?

有点痛 推荐你对你这一回答的评价是?你对你这一回答的评价是?收起更多回答(2)使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。那就说 并不一直跟他吵

2020-01-27

请问,哪些地方适合情侣独处,我想要那种只有俩个人,没有别人打扰的地方,而且不要很贵的地方。家、宾馆

随便说说我最喜欢另另一个 人一块儿坐在公园的长登上,看着旁边的人在休息或是在奔跑,我真的很喜欢那种感觉.......扫描二维码下载倘若宾馆一句话,一般容易会使人想歪的,那就在

2020-01-27