
背景####
这几天公司第二个机房开始投入生产,作为新的开发测试环境,也毫不疑问采用的是OpenStack方案。由于OS本身支持Muilt-Region,研究了下,确实方便了很多。避免了有两个管理入口的问题,另外Dashboard支持多区域也方便进行统一的管理。不得不说OS确实很强大。
基础知识####
我们都知道Region是OpenStack里面用于隔离资源的一个重要概念。简单来说,一个Region对应一套完整的OpenStack环境,而Region和Region之间可以是跨机房的集群,也可以是一个大规模物理机集群分割后的集群。OpenStack在设计之初就是支持多Region的情况,由于Region之间资源(Mariadb,RabbitMQ等)的独立的,所以他们之间并不存在资源交互开销的情况。
那么关于OpenStack的资源隔离不光体现在Region上,Host Aggregates、Availability Zones和Nova-Cells同样也有各自的作用,他们之间的关系就如下图(ps:图有点老,网络组件还是quantum)所示:

如果你嫌弃RegionOne和RegionTwo命名太Low,你最好在部署实施之前规划好Region的命名。当然,现在也不是不能改,顶多就是在重复下本文以上操作而已。
扩展以及不足####
-
环境Keystone主要还是放在一个控制节点上,始终还是存在单节点故障。生产环境可以考虑将openstack-keystone服务单独提出来,后端mysql和memcached可以采用集群的方式,保证稳定性。
-
有OpenStack的配额管理是实现在各Service里面,所以在实际使用当中,在RegionOne里面编辑好的租户配额在RegionTwo里面并不生效。

网友评论