欢迎来到天天文库
浏览记录
ID:37768465
大小:291.00 KB
页数:9页
时间:2019-05-30
《构建OpenStack的高可用性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、构建OpenStack的高可用性(HA,HighAvailability)目录(?)[-]1.CAP理论2.OpenStack的高可用性OpenStackHA3.4.5.同其它大部分分布式系统一样OpenStack也分为控制节点和计算节点两种不同功能的节点。控制节点提供除nova-compute以外的服务这些组件和服务都是可以独立安装的可以选择组合6.nova-compute在每个计算节点运行暂且假设它是可信任的或者使用备份机来实现故障转移不过每个计算节点配置备份的代价相比收益似乎太大7.控制节点的高可靠性是主要问题而且对于不同的组件都有自己的高可靠性需求
2、和方案8.9.nova-api和nova-scheduler的高可靠性10.这样当控制节点出现故障计算节点的nova-api等服务都照常进行11.nova-volume的高可靠性12.网络服务nova-network的高可靠性13.方案1 Multi-host14.方案2 Failover15.方案3 Multi-nic16.方案4 Hardwaregateway17.glancekeystone的高可靠性18.Swift对象存储的高可靠性19.20.消息队列服务RabbitMQ的高可靠性21.数据库mysql的高可靠性22.Pacemaker与DRBDM
3、ysql的工作模式可以参考下图23.构建高可用性的OpenStackHigh-availability OpenStack24.bringing-high-availability-openstack-keystone-and-glance1、CAP理论1)CAP理论给出了3个基本要素:·一致性( Consistency):任何一个读操作总是能读取到之前完成的写操作结果;·可用性( Availability):每一个操作总是能够在确定的时间内返回;·分区可容忍性(Toleranceofnetwork Partition):在出现网络分区的情况下,仍然能够满
4、足一致性和可用性; CAP理论指出,三者不能同时满足。对这个理论有不少异议,但是它的参考价值依然巨大。 这个理论并不能为不满足这3个基本要求的设计提供借口,只是说明理论上3者不可绝对的满足,而且工程上从来不要求绝对的一致性或者可用性,但是必须寻求一种平衡和最优。 对于分布式数据系统,分区容忍性是基本要求。因此设计分布式数据系统,很多时候是在一致性和可用性(可靠性)之间寻求一个平衡。更多的系统性能和架构的讨论也是围绕一致性和可用性展开。2)OpenStack、Swift与CAP的工程实践 对照CAP理论,OpenStack的分布式对象存储系统Swif
5、t满足了可用性和分区容忍性,没有保证一致性(可选的),只是实现了最终一致性。Swift如果GET操作没有在请求头中包含’X-Newest’头,那么这次读取有可能读到的不是最新的object,在一致性窗口时间内object没有被更新,那么后续GET操作读取的object将是最新的,保证了最终一致性;反之包含了’X-Newest’头,GET操作始终能读取到最新的obejct,就是一致的。 在OpenStack架构中,对于高可用性需要进行很多工作来保证。因此,下面将对OpenStack结构中的可用性进行讨论:构建OpenStack的高可用性(HA,HighA
6、vailability) 2、OpenStack的高可用性(OpenStackHA) 要弄清楚怎么实现高可用性,就需要知道哪些服务容易出现不可靠。首先了解一些OpenStack的大致结构。 OpenStack由5大组件组成(计算nova,身份管理keystone,镜像管理glance,前端管理dashboard和对象存储swift)。 nova是计算、控制的核心组件,它又包括nova-compute、nova-scheduler、nova-volume、nova-network和nova-api等服务。借用http://ken.people.in
7、fo的以下这幅图了解OpenStack的5大组件和功能:下面这幅图描述了各个组件的功能和服务结构: 同其它大部分分布式系统一样,OpenStack也分为控制节点和计算节点两种不同功能的节点。控制节点提供除nova-compute以外的服务。这些组件和服务都是可以独立安装的,可以选择组合。 nova-compute在每个计算节点运行,暂且假设它是可信任的;或者使用备份机来实现故障转移(不过每个计算节点配置备份的代价相比收益似乎太大)。控制节点的高可靠性是主要问题,而且对于不同的组件都有自己的高可靠性需求和方案。(1)由于CotrolNode只有1个,且
8、负责整个系统的管理和控制,因此当CotrolNode不能提供正常服
此文档下载收益归作者所有