openstack控制节点高可用

作者 Billy 日期 2017-06-06
openstack控制节点高可用

openstack控制节点高可用性调研

通常的开发环境控制节点都是用all-in-one的形式安装的,既方便又节省资源。

控制节点一般包含的服务有数据库、消息队列、memcached和openstack的一些服务。

对控制节点的HA即是对以上各个服务的HA。下面说说各自的HA方案:

  • 数据库一般采用mysql,其HA方案可参见官方的HA方案,这里不赘述。

  • 消息队列一般采用rabbitmq,其HA方案openstack官网中提供了:https://docs.openstack.org/ha-guide/shared-messaging.html

  • openstack在控制节点的服务:

    • 这是我们需要重点研究的内容,openstack各个模块通过提供api的形式提供服务,虽然形式多样,但HA方案中只提供了通过http访问的方法。那么HA方案就比较容易了,为apis提供负载均衡即可。

    • 控制节点除了apis还有一些调度等服务,比如nova-scheduler。类似服务于其api之间是用mq来沟通的,而且其自身是无状态的,因此可以部署多套,多活。不管是哪个节点的服务去执行命令都可以。

下面是openstack提供的部署结构图:

collapsed

  • A/A - active/active

  • A/P - active/passive

    • 其中我们需要部署的服务都是A/A多活的
    • memcache本身支持HA,在openstack对应配置处直接配置多节点即可

下面是官方各服务分离的部署结构图:

segregated