O04一、Resize Instance 操做詳解

 
Resize 的做用是調整instance的vCPU、內存和磁盤資源。
 
Instance 須要多少資源是定義在flavor中的,Resize操做是經過爲Instance選擇新的flavor來調整資源的分配。
 
有了前面對 Migrate的分析,再來看Resize的實現就很是簡單了。由於 Instance 須要分配的資源發生了變化,在Resize以前須要藉助nova-scheduler 從新爲Instance 選擇一個合適的計算節點,若是選擇的節點與當前節點不是同一個,那麼就須要作Migrate。
 
因此本質上講:Resize 是在Migrate 的同時應用新的flavor。Migrate 能夠看作是一個Resize的特例: flavor 沒有發生變化的Resize,這也是爲何咱們在上一節日誌彙總看到 Migrate其實是在執行Resize操做。
 
Resize 分兩種狀況:
 
    A、nova-scheduler 選擇的目標節點與源節點不一樣,操做過程和上一節中的Migrate徹底同樣,只是在目標節點啓動Instance時按照新的flavor分配資源。
    B、目標節點與源節點是同一節點,下面將是操做流程
 
    一、nova-api發送Resize請求到Messaging
    二、nova-scheduler 收到Resize請求後選擇合適的節點,最終選擇了源節點
    三、nova-scheduler 發送在源節點Resize的信息給Messaging
    四、nova-compute在目標節點上按照新的flavor爲Instance準備 cpu、mem、disk
    五、關閉Instance
    六、建立新的Instance鏡像文件
    七、將Instance的目錄備份一份,命名爲_resize,以便revert
    八、建立新的Instance xml 定義文件
    九、準備虛擬網絡
    十、啓動Instance 
    十一、詢問用戶 Resize仍是回退
    十二、繼續Resize 則刪掉原Instance目錄_resize。回退的話,關閉新的Instance,用_resize 恢復Instance目錄,最後啓動Instance
相關文章
相關標籤/搜索