上一節咱們討論了 snapshot,snapshot 的一個重要做用是對 instance 作備份。web
若是 instance 損壞了,能夠經過 snapshot 恢復,這個恢復的操做就是 Rebuild。 api
Rebuild 會用 snapshot 替換 instance 當前的鏡像文件,同時保持 instance 的其餘諸如網絡,資源分配屬性不變。 網絡
下面是 rebuild instance 的流程圖 ui
向 nova-api 發送請求 spa
nova-api 發送消息 日誌
nova-compute 執行操做 orm
下面咱們詳細討論每個步驟。 資源
客戶(能夠是 OpenStack 最終用戶,也能夠是其餘程序)向 API(nova-api)發送請求:「Rebuild 這個 Instance」 it
選擇用於恢復的 image class
查看日誌/opt/stack/logs/n-api.log
nova-api 向 Messaging(RabbitMQ)發送了一條消息:「Rebuild 這個 Instance」 源代碼在 /opt/stack/nova/nova/compute/api.py,方法是 rebuild。
查看日誌 /opt/stack/logs/n-cpu.log
關閉 instance
下載新的 image,並準備 instance 的鏡像文件
啓動 instance
Rebuild 後,GUI 顯示 instance 已經使用新的 image
以上就是 Rebuild 操做的分析,下一節咱們討論 Shelve 操做。