Openstack兩組容易混淆的概念(hostaggregate & az,虛擬機與物理機的numa)

轉載自:https://www.backendcloud.cn/2018/08/16/2concepts/

第一組:主機集合aggregation和可用域available zone(az)

主機集合aggregation

az是在region範圍內的再次切分,只是工程上的獨立,例如可以把一個機架上的機器劃分在一個az中,劃分az是爲了提高容災性和提供廉價的隔離服務。選擇不同的region主要考慮哪個region靠近你的用戶羣體。

在新建虛擬機的時候,用戶設置了希望將虛擬機放在az-1中,那麼調度器將會選擇屬於這個az

可用域available zone(az)

host aggregate是管理員用來根據硬件資源的某一屬性來對硬件進行劃分的功能,只對管理員可見。

其主要功能就是實現根據某一屬性來劃分物理機,比如linux,windows區分;是否SSD高性能存儲區分;是否高性能計算GPU區分等等。

區別總結

jpg

az是用戶可見的,用戶手動的來指定vm運行在哪些host上;Host aggregate是一種更智能的方式,是調度器可見的,影響調度策略的一個表達式。

如何將一個host加入az

不能直接通過命令將一個host加入az

可能是社區的開發人員意識到,讓管理員通過配置的方式管理zone不太合適,不夠靈活,所以在G版中將這一方式修改。就改用nova aggregate-create 命令,在創建一個aggregate的同時,指定一個AZ。

root@controller:~# nova help aggregate-create  
usage: nova aggregate-create <name> [<availability-zone>]  

Create a new aggregate with the specified details.  

Positional arguments:  
  <name>               Name of aggregate.  
  <availability-zone>  The availability zone of the aggregate (optional).  

因此創建一個aggregate後,同時把它作爲一個zone,此時aggregate=zone。因爲大家知道,aggregate是管理員可見,普通用戶不可見的對象,那麼這個改變,就可以使普通用戶能夠通過使用zone的方式來使用aggregate。

創建完aggregate之後,向aggregate里加主機時,該主機就自動屬於aggregate表示的zone。

相互關係

  • 一個aggregation可以和一個az建立關聯,也可以不和任何az建立關聯
  • 多個aggregation可以和同一個az建立關聯,但反之不行
  • 一個host只能加入一個az,不可同時加入多個az,但是一個host可以同時加入多個aggregation
1
2
3
4
5
6
7
8
9
10
11
[root@bc-controller-01 ~]# nova aggregate-list
+----+--------------+-------------------+--------------------------------------+
| Id | Name         | Availability Zone | UUID                                 |
+----+--------------+-------------------+--------------------------------------+
| 1  | SRIOV        | sriov             | f12d7b70-ea5b-4ce6-bad0-d7620e91eafa |
| 4  | gl-host-test | -                 | 2724fc88-9847-4524-877d-7114f8924115 |
| 6  | test-hostag1 | sriov             | 60741be3-dac1-400b-9e1d-d28d8504c8e8 |
| 9  | test-hostag2 | sriov             | 50115730-b48e-4e95-b492-cab9713a4557 |
| 15 | test-hostag3 | nova              | 020df897-6077-4547-860d-4799d4adc23c |
| 18 | DPDK         | dpdk              | 21b2c376-571b-4c29-a92c-16c1c246fcef |
+----+--------------+-------------------+--------------------------------------+

jpg
jpg
jpg
jpg

第二組:虛擬機的numa和物理機的numa

1
2
3
4
5
6
$ openstack flavor set aze-FLAVOR \
    --property hw:numa_nodes=2 \
    --property hw:numa_cpus.0=0,1 \-
    --property hw:numa_cpus.1=2,3 \
    --property hw:numa_mem.0=2048 \
    --property hw:numa_mem.1=2048 \

numa_cpus.0 numa_cpus.1 numa_mem.0 numa_mem.1 中的numa0,1都說的是虛擬機numa。不一定會分配給物理機的numa0,1,可能反着分配。
0,1 2,3 2048也是虛擬機的cpu編號和內存大小,具體落在哪個物理cpu和物理mem上是不能控制的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章