轉載自: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區分等等。
區別總結
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
|
|
第二組:虛擬機的numa和物理機的numa
|
|
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上是不能控制的。