共計 1070 個字符,預計需要花費 3 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關如何理解 Unshelve Instance 操作,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
如何通過 unshelve 操作恢復該 instance。
因為 Glance 中保存了 instance 的 image,unshelve 的過程其實就是通過該 image launch 一個新的 instance,nova-scheduler 也會調度合適的計算節點來創建該 instance。
instance unshelve 后可能運行在與 shelve 之前不同的計算節點上,但 instance 的其他屬性(比如 flavor,IP 等)不會改變。
向 nova-api 發送請求
客戶(可以是 OpenStack 最終用戶,也可以是其他程序)向 API(nova-api)發送請求:“幫我 Unshelve 這個 Instance”
查看日志 /opt/stack/logs/n-api.log
nova-api 發送消息
nova-api 向 Messaging(RabbitMQ)發送了一條消息:“unshelve 這個 Instance”查看源代碼 /opt/stack/nova/nova/compute/api.py,方法是 unshelve。
nova-scheduler 執行調度
nova-scheduler 收到消息后,會為 instance 選擇合適的計算節點。查看日志 /opt/stack/logs/n-sch.log
經過篩選,最終 devstack-controller 被選中 launch instance。
nova-scheduler 發送消息
nova-scheduler 發送消息,告訴被選中的計算節點可以 launch instance 了 源代碼在 /opt/stack/nova/nova/scheduler/filter_scheduler.py 第 95 行,方法為 select_destinations
nova-compute 執行操作
nova-compute 執行 unshelve 的過程與 launch instance 非常類似。一樣會經過如下幾個步驟:1. 為 instance 準備 CPU、內存和磁盤資源 2. 創建 instance 鏡像文件 3. 創建 instance 的 XML 定義文件 4. 創建虛擬網絡并啟動 instance
日志記錄在 /opt/stack/logs/n-cpu.log。
關于如何理解 Unshelve Instance 操作就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。