1. 程式人生 > >使用openstack的虛擬機模版註意事項

使用openstack的虛擬機模版註意事項

設置 pecs stack 限定 模版 設定 opensta 失效 inbound

openstack虛擬機模版(flavor)是一個非常奇怪的設計。講講我測試時遇到的問題,盡管說在project應用中虛擬機模版在開始時就定制好。後期可能做改動,可是改動時一定要註意,有以下幾種情況:

1.使用m1.small模版啟動個虛擬機,改動模版m1.small,虛擬機重新啟動後還是使用原有模版。

2.使用m1.small模版啟動個虛擬機。給模版m1.small加入extra_specs,比方限定帶寬key為quota:vif_inbound_average, value為1024(k為單位)。虛擬機重新啟動後。帶寬設定生效。

刪除m1.small後。重新啟動虛擬機帶寬限制失效。

3.先給模版m1.small加入extra_specs,使用m1.small模版啟動個虛擬機。改動模版m1.small,刪除m1.small後,重新啟動虛擬機帶寬限制失效。


情況1原因:改動模版後。會在數據庫表instance_types中修增加一條,名為m1.small的記錄。原來的把字段deleted設為非零(為模版的id),在openstack這樣的操作叫做軟刪除。每一啟動虛擬機都在instances表中插入一條記錄。instances表中有個instance_type_id字段記錄使用的是那個模版,所以虛擬機重新啟動後還是使用原有模版

情況2原因:給模版新加一個extra_specs。在instance_type_extra_specs表中記錄一條,也有個字段為deleted,虛擬機重新啟動後新建extra_specs生效,刪除模版也同一時候也會刪除extra_specs,都是軟刪除。

刪除模版後啟動虛擬機,程序中會依據instance_type_id獲取模版信息,能獲取到被軟刪除的模版信息,可是獲取不到被軟刪除的extra_specs信息,所以重新啟動後新加的extra_specs設置失效。

情況3僅僅是想舉個樣例說明下操作模版和模版的extra_specs時,nova對數據庫對應的操作:

1)先給模版m1.small加入extra_specs:instance_type_extra_specs表中添加記錄一條。

2)改動模版m1.small,instance_types:instance_type_extra_specs都會添加一條記錄。


3)刪除m1.small後:上兩操作中instance_type_extra_specs新添加的記錄都會刪除。


說的有點亂,最好親自試試,主要看instance_types,instance_type_extra_specs表的變化。

使用openstack的虛擬機模版註意事項