上一节咱们讨论了 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 操做。