暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Openstack工作原理——Regions、Cells、Availability Zones、Host Aggregates

云拾 2018-06-13
402

    OpenStack 有一套自上而下的资源组织概念,用于大规模云平台中的节点划分和管理,如下图。



Regions

    Region 更像是一个地理上的概念,每个 region 有自己独立的 endpoint,regions 之间完全隔离,但是多个 regions 之间共享同一个 keystone 和 dashboard。

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


Cells

    Cell 是 openstack 一个非常重要的概念,主要用来解决 openstack 的扩展性和规模瓶颈。众所周知,openstack 是由很多的组件通过松耦合构成,那么当达到一定的规模后,某些模块必然成为整个系统的瓶颈。比较典型的组件就是 DB 和 MQ 了,所以,每个 cell 有自己独立的 DB 和 MQ。

    在 Newton 版本引入的 cell v2 版本针对前面图中 v1 的流程做了进一步优化。


    可以看到 :

  1. api 和 cell 有了明显的边界。api 层面只需要数据库,不需要 Message Queue。

  2. nova-api 现在依赖 nova_api 和 nova_cell0 两个数据库。

  3. nova-scheduler 服务只需要在 api 层面上安装,cell 不需要参数调度。这样实现了一次调度就可以确定到具体在哪个 cell 的哪台机器上启动。

  4. cell 里面只需要安装 nova-compute 和 nova-conductor 服务,和其依赖的 DB 和 MQ。

  5. 所有的 cell 变成一个扁平架构,比之前的树形多层父子架构要简化很多。

  6. api 上面服务会直接连接 cell 的 MQ 和 DB, 所以不需要类似 nova-cell 这样子的额外服务存在,性能上也会有及大的提升。


Availability Zones

    AZ 可以简单理解为一组节点的集合,这组节点具有独立的电力供应设备,比如一个个独立供电的机房,一个个独立供电的机架都可以被划分成 AZ。所以,AZ 主要是通过冗余来解决可用性问题。

    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 服务。


文章转载自云拾,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论