本帖最后由 pig2 于 2014-5-1 22:57 编辑
OpenStack的服务分离
(Separation of Services) 说明:本文从OpenStackOperation Guide翻译出来,此中文文档依旧使用Apache2.0协议发布 -----By Hochikong OpenStack的各个组件是低耦合并适于拓展的,如Swift等组件甚至可以被单独使用,但是部署环境的不同,或考虑到性能上的问题,我们有必要对OpenStack的各个服务/组件进行整合和分离。比如,我所在校刊的一个栏目的编辑中,为了使我的同学们能“无痛”地在虚拟机上快速部署一套OpenStack,我就需要用RedHat的All-in-one来指导。总不可能让他们按照英文手册做多节点吧,太耗费时间了。但是,在生产环境中的部署,我们为了使服务更具有高可用性,我们就需要冗余硬件,并在硬件群中分散OpenStack的服务。 在手册中,他们提到有以下几种常见的部署方式: 把Glance的服务运行在swift-proxy服务器上。 | 在I/O上具有优点;Glance的镜像交付将会从硬件上得到好处;同时Glance会与对象存储后端有一个稳定可靠的连接,防止网络中断导致的一些问题。 | | 这个专用数据服务器为所有服务提供数据库;通过隔离数据库的更新简化操作;更容易地为主服务器创建从属服务器作为故障时的切换。 | | 这种方法是使中心的服务运行在一系列运行KVM的服务器上;为每个服务(nova-scheduler,rabbitmq....)创建一个VM;主要是为了能通过它们的负载动态调节分配的资源。 | | 需要购买昂贵的硬件负载均衡器;在不同的硬件上运行多个nova-api和swift-proxy服务,并使用负载均衡器切换。 |
你可以考虑是否把一些服务虚拟化,像nova-compute,swift-proxy,swift-object服务,一般不建议虚拟化。但是,虚拟化的好处正是能简单地运行更多服务,同时需要以牺牲一定的性能为代价。 2014/5/1
|