首页 » OpenStack系统架构设计实战 » OpenStack系统架构设计实战全文在线阅读

《OpenStack系统架构设计实战》2.7.4 nova-cell

关灯直达底部

从G版本开始,Nova为了增加横向扩展以及分布式、大规模(地理位置级别)部署能力,同时又不增加数据库和消息中间件的复杂度,引入了Cell概念。并引入了新的nova-cell服务。Cell有自己的DB和AMQP,并且是树状结构,Cell之间使用AMQP通信。顶层的Cell称为API Cell,有自己的nova-api。子Cell无nova-api服务,子Cell定时上报资源给父Cell,接受父Cell的调度。

在API Cell节点要部署nova-api对外提供统一服务,nova-cell负责与子cell进行通信;子Cell节点要统一部署nova-cell,如果子Cell直接接入虚拟化层,则还要部署nova-scheduler、nova-compute。nova-cell架构如图2-7所示。

图2-7是3个Cell级联的情况,其中API Cell收到请求后,通过nova-cell提供的调度算法,通过消息队列将消息转发到子Cell节点,在子Cell节点处做与API Cell同样的工作,选择一个孙子Cell并继续转发,在孙子Cell节点上做真正的主机调度工作,选择主机创建虚拟机。

上面的情况下,孙子Cell需要将自己连接的资源信息定时上报给子Cell,以提供调度功能使用,同样子Cell也要将自己知道的资源信息上报给API Cell使用,这样,每层调度时只需获取自己掌握的资源信息即可,这就实现了每层解耦。

图2-7 nova-cell架构