Openstack-Cell

 

openstack-Cell

1、 原理

在不影响现有的openstack云环境的前提下,解决openstack的扩展性和规模瓶颈。主要是把计算节点分为更多个更小的单元,每一个单元都有自己的数据库和消息队列。

2、 功能

(1)Messages的路由,即父cell通过nova-cell将Messages路由到子cell的AMQP(消息队列)模块。

(2)分级调度功能,即调度某个instances的时候先要进行cell的选择,目前只支持随机调度,后续会增加基于filter和weighing策略的调度。

(3)资源统计,子cell定时的将自己的资源信息上报给父cell,用来给分级调度策略提供决策数据和基于cell的资源监控。

(4)cell之间的通信(通过rpc远程调用完成)。

3、模块基础架构

Cell结构中主要分为 API Cell(Parent Cell )以及 Child Cell 两种形式,其中,API Cell 主要包含的服务如下: AMQP、Broker、Database、nova-cells、nova-api、Keystone;Child Cell主要包含的服务有:AMQP、Broker、Database、nova-cells、nova-scheduler、nova-network、nova-compute、Keystone。

每一个Cell 包含独立的 Message Broker 以及 Database,其中 API Cell 主要包含 nova-api 服务,用于接收用户请求,并将用户请求通过 message 的形式发送至指定的 Cell。Cells 之间的通信主要通过传递 message 实现的,API Cell 会将用户的请求合成一个含有指定 Child Cell 的 message,含有请求的 message 会在 Children Cells 中间进行路由,直至指定的 Cell 节点进行处理。Child Cell 包含除 nova-api 之外的所有 nova-*服务,实现具体的 Nova Compute 节点服务;API Cell 与 Child Cell 共享 Glance 服务,且各 Cells 之间的通信均通过 nova cells 服务进行。

Cell 调度独立于与 host 调度,在创建新的实例时,首先由 nova-cells 选择一个 Cell。当 Cell 确定后,实例创建请求会被送达目标 Cell 的 nova-cells 服务,随后该请求会被交给本 Cell 的主机调度机制处理,此时主机调度机制会像未配置 Cell 的环境一样处理该请求。

 3、相关命令

nova-manage cell list   -------可用来查看当前环境中有没有cell节点存在

 

posted on 2018-11-20 15:35  辰Cheney  阅读(1026)  评论(0编辑  收藏  举报