技术开发 频道

OpenStack集群实现方式简介

  【IT168 专稿】OpenStack是目前基于开源的,一个非常流行的云管理平台项目。这个项目由几个主要的组件组合起来完成一些具体的工作。因此它的集群比较复杂,也有多种选择方式。OpenStack 作为一个类似于 Amazon EC2 S3 的云基础架构服务(Infrastructure as a Service, IaaS),现在越来越多的企业正在搭建OpenStack平台来提高IT运行效率和降低IT成本。本文希望帮助大家快速了解OpenStack集群,并以此结合相关软件的官方文档来搭建一个高可用性的云管理平台。

1. OpenStack高可用性相关概念 

1.1 高可用性系统

高可用系统至少关注以下两个问题:

·系统宕机时间系统服务无法访问的时间总和。

·数据丢失—意外删除或破坏数据。

高可用性的一个关键方面是消除单点故障(SPOFs)SPOF是单个的设备或软件故障将导致系统停机时间或数据丢失。为了消除单点故障,必须存在如下必要的冗余:

·网络组件,如交换机和路由器

·应用程序和自动服务迁移

·存储组件

·设施服务,如电力、空调、消防

高可用性系统通常达到99.99%或更多的正常运行时间,这大约相当于每年累计停机不到一个小时。为了实现这一目标,应保持高可用性系统发生故障后恢复时间约一到两分钟,有时更少。

对于基础设施服务来说,如果实现了必要的冗余,OpenStack目前能满足这样的可用性需求,这意味着OpenStack提供的各项服务的正常运行时间的99.99%是可用的。 然而,OpenStack并不能保证运行于基础设施上的个人的虚拟机实例99.99%的可用性。

1.2 无状态和有状态服务

无状态的服务是提供一个你的响应请求后,不需要进一步关注。无状态服务的高可用性,您需要提供冗余实例和负载均衡。 OpenStack无状态的服务包括nova-apinova-conductorglance-apikeystone-apineutron-api nova-scheduler

一个有状态的服务,后续请求将依赖于第一个请求的结果。有状态的服务管理更困难,因为一个行动通常涉及多个请求,所以只是提供额外的实例和负载均衡不会解决这个问题。例如Horizon 服务,如果用户界面重置了,后续任务被引导去了一个新服务器,它是没有用的。OpenStack有状态的服务包括OpenStack数据库和消息队列。

1.3 主动/被动

在一个主动/被动配置里,需要安装一个备用机,备用机通常处于待机状态,当主机宕机后,备用机启动提供服务。额外的应用需要安装(: Pacemaker Corosync)来监控这些服务,并必要时启动备用机来提供服务。

1.4 主动/主动

在主动/主动模式下,系统也需要备用机,但将同时管理主机和冗余系统。 这样,如果有一个失败了,用户不太可能注意到。 因为备份系统已经上线。 通常对于一个无状态的服务来说,使用一个虚拟IP地址和HAProxy等负载均衡器来达到负载均衡。 对于一个有状态的服务来说,需要保证包括冗余服务所有实例都有一个相同的状态。例如,更新数据库的一个实例也会更新所有其他实例。

3
相关文章