searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

openstack中可用区的理解

2023-09-19 01:14:06
46
0

一、基本概念

现有的openstack自上而下可以分为不同的区域:region(地区),availability-zone(可用域)和host-aggregate(主机集合)

1、Region:region是一个地理上的区域概念,region之间完全隔离,每个region都有一个完整的openstack部署,每个region有自己独立的服务、网络和计算资源。不同的region共享一套keystone(认证)和horizon(用户界面)来提供访问控制与web(网络)操作,所以除了提供隔离的功能,region的设计更多侧重地理位置的概念,用户可以选择离自己更近的region来部署自己的服务。

2、availability-zone:简称az,含义是可用域,代表了一组节点的集合,这组节点具有独立的电力供应设备,比如一个个独立供电的机房,一个个独立供电的机架都可以被划分成az。所以,az主要是通过冗余来解决可用性问题。az是用户可见的一个概念,用户在创建云主机的时候可以选择创建到哪些az中,以保证云主机的可用性。一个region中的计算结点可以被逻辑上划分为不同的az。启动虚拟机时,可以指定特定的az甚至该az下的特定主机,主要用来给nova-scheduler(计算服务调度器)通过某一属性来进行云主机的调度。其主要功能就是实现根据某一属性来划分物理机,比如按照地理位置,使用固态硬盘的机器,内存超过32g的机器,根据这些指标来构成一个hostgroup。

3、host-aggregate:简称ha,含义是主机集合。除了az,计算结点也可以在逻辑上划分为主机集合。主机集合使用元数据去标记计算节点组,一个计算节点可以属于多个主机集合,只能属于某一个az。主机集合只能被管理员看到,对于终端用户而言,只能创建带有主机集合元数据链接的flavor定义的云主机。

az用于让用户指定从哪个特定的服务器组合里创建云主机,是用户可见的。

主机集合主要用来为具有特定性能的主机分组以此让调度器根据某种特性在特定的集合中创建云主机,是一种更智能的方式,是调度器可见的,影响调度策略的一个表达式。

二、具体实现

1、创建zone和aggregate

nova aggregate-create [aggregate] [zone]

2、查看aggregate列表

nova aggregate-list

3、将compute节点加入aggregate内

nova aggregate-add-host [aggregate] [compute-host]

4、查看aggregate详细信息

nova aggregate-show [aggregate]

5、aggregate的删除

nova aggregate-remove-host [aggregate] [compute-host]

nova aggregate-delete 

创建一个aggregate后,同时把它作为一个zone,此时aggregate=zone。因为大家知道,aggregate是管理员可见,普通用户不可见的对象,那么这个改变,就可以使普通用户能够通过使用zone的方式来使用aggregate。

创建完aggregate之后,向aggregate里加主机时,该主机就自动属于aggregate表示的zone。

三、相互关系

1、一个aggregation可以和一个az建立关联,也可以不和任何az建立关联

2、多个aggregation可以和同一个az建立关联,但反之不行

3、一个host只能加入一个az,不可同时加入多个az,但是一个host可以同时加入多个aggregation

四、实际应用

在我们日常工作中,存在两种版本,其中3.0的版本可以按照下面进行理解

其中host1、host2、host3 通过一定的标识规格组成zone,然后zone和aggregate之间有绑定关系,aggregate里面的metadata字段和flavor里面的字段保持一致即可,所以在创建云主机的时候,需要保证flavor和zone两者之间的正确关系

4.0的版本按照下面进行区分

在4.0里面,没有host-aggregate(主机集合)这个概念,其中host1、host2、host3 通过一定的标识规格组成zone,host详情里面的字段和flavor里面的字段保持一致即可

0条评论
0 / 1000
乐道
4文章数
0粉丝数
乐道
4 文章 | 0 粉丝