如果OpenStack云控制器死亡会发生什么?

我一直在阅读OpenStack,以及我们如何重新创buildEC2 / S3风格的以用于我们的内部开发,而且我很难find有关OpenStack云控制器如何提供云pipe理服务冗余的信息。

我知道我可以设置多个Swift和Nova节点,但是没有一个文档/ article / howto / wiki包含以下信息:

a)如果云控制器节点死亡会发生什么情况; 和b)如何设置冗余云控制器。

在我看来,虽然它具有大规模的可扩展性,但是在OpenStack中还是有一个很大的单点故障。

谁可以在OpenStack上有更多的经验,请告诉我们在高可用性方面它是如何工作的?

有一些OpenStack的高可用性configuration选项。 两个潜在的单点故障是传统上只在单个(“云控制器”)节点上运行的以下服务:

  • API服务(nova-api)用于传入请求
  • 处理networking问题(DHCP,DNS,NAT等)的networking服务(nova-network)

对于nova-api,我相信你可以在不同的物理节点上运行多个实例,因为状态是在外部数据库中维护的。

要将networking服务configuration为以高可用性模式运行,您需要在您的novaconfiguration文件中使用--multi_hostconfiguration选项。 请参阅关于networking的现有高可用性选项的OpenStack文档

一直没有玩过OpenStack,但如果云控制器真的是一个单一的故障点:一个方法来防止它的问题将是专门为这两个服务器,并设置Heartbeat V2(或Corosync / Pacemaker,如今所谓的今天)之间的主动 – 被动模式。

这样,如果主服务器因为某种原因而死亡,另一台服务器在(毫秒)内就可以完成工作。

“…甚至更好:控制器节点现在只托pipe不是OpenStack内部服务的平台组件(MySQL和RabbitMQ是标准的Linux守护进程),因此云pipe理员可以负责将其pipe理传递给外部实体,数据库团队,一个专用的RabbitMQ集群,这样,中央控制器节点就消失了,我们最终得到了一堆计算/ API节点,我们可以几乎线性地进行缩放。

http://www.mirantis.com/blog/117072/