02月21, 2017

Openstack几个概念region、cell、zone、host aggregate 的关系

Openstack中有很多抽象的概念,这些概念一般是对基础设施的映射,通过这些概念可以对资源进行更加合理,灵活的调度,下面我们说说region、cell、zone、host aggregate 的关系。

先上一张图,图中很好的诠释了这几个概念的关系: alt

Regions

Region更像是一个地理上的概念(如: 亚太1区、广州2区等),每个Region有自己独立的Endpoint,Regions之间完全隔离,但是多个Regions之间共享同一个Keystone和Dashboard。

所以,除了提供隔离的功能,region的设计更多侧重地理位置的概念,用户可以选择离自己更近的region来部署自己的服务。

Cells

Cell主要是用来解决openstack的横向扩展、大规模部署瓶颈问题。

众所周知,openstack是由很多的组件通过松耦合构成,那么当达到一定的规模后,某些模块必然成为整个系统的瓶颈。比较典型的组件就是database和AMQP了,所以,每个Cell有自己独立的DB和AMQP。

另外,由于Cell被实现为树形结构,自然而然引入了分级调度的概念。通过在每级cell引入nova-cell服务,实现了以下功能:

  • Messages的路由,即父cell通过nova-cell将Messages路由到子cell的AMQP模块
  • 分级调度功能,即调度某个instances的时候先要进行Cell的选择,目前只支持随机调度,后续会增加基于filter和weighing策略的调度。
  • 资源统计,子cell定时的将自己的资源信息上报给父Cell,用来给分级调度策略提供决策数据和基于Cell的资源监控
  • Cell之间的通信(通过rpc完成)

最后,所有的子Cell公用底层Cell的nova-api,子Cell包含除了nova-api之外的其他nova服务,当然所有的cell都共用keystone服务。 (注:nova-*是指除了nova-api之外的其他nova服务,子Cell + 父Cell才构成了完整的nova服务)

Nova Cell 模块基础架构

Nova Cell 模块被设计成树型结构,基础架构如图 1 所示: alt

图 1.Nova Cell 模块基础架构

结构中主要分为 API Cell(Parent Cell)以及 Child Cell 两种形式: alt

每一个 Cell 包含独立的 Message Broker 以及 Database,其中 API Cell 主要包含 nova-api 服务,用于接收用户请求,并将用户请求通过 message 的形式发送至指定的 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 的环境一样处理该请求。

Availability Zones

AZ可以简单理解为一组节点的集合,这组节点具有独立的电力供应设备,比如一个个独立供电的机房,一个个独立供电的机架都可以被划分成AZ。

所以,AZ主要是通过冗余来解决可用性问题。用户可以选择将多台instance创建在不同的AZ,防止所有的instance一起挂掉。

AZ之间共享所有的nova服务和keystone服务。

另外,AZ是用户可见的一个概念,用户在创建instance的时候可以选择创建到哪些AZ中,以保证instance的可用性。

Host Aggregates

Host Aggregates也是一组节点的组合,但强调这组节点具有共同的属性,比如:

cpu是制定类型的一组节点,disks是ssd的一组节点,os是linux或windows的一组节点等等。

需要注意的是,Host Aggregates是用户不可见的概念,主要用来给nova-scheduler通过某一属性来进行instance的调度,比如将数据库服务的instances都调度到具有ssd属性的Host Aggregate中,又或者让某个flavor或某个image的instance调度到同一个Host Aggregates中。 Host Aggregates之间共享keystone和所有的nova服务。

本文链接:https://www.opsdev.cn/post/openstack-region-soon-concept.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。