CloudMan 阅读(233) 评论(0)

上一节我们讨论了 snapshot,snapshot 的一个重要作用是对 instance 做备份。

如果 instance 损坏了,可以通过 snapshot 恢复,这个恢复的操作就是 Rebuild。

Rebuild 会用 snapshot 替换 instance 当前的镜像文件,同时保持 instance 的其他诸如网络,资源分配属性不变。

下面是 rebuild instance 的流程图

  1. 向 nova-api 发送请求

  2. nova-api 发送消息

  3. 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 操作。