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

