本节我们通过日志详细讨论 instance 的 snapshot 操作。
有时候操作系统损坏得很严重,通过 Rescue 操作无法修复,那么我们就得考虑通过备份恢复了。当然前提是我们之前对instance做过备份。
Nova 备份的操作叫 Snapshot,其工作原理是对 instance 的镜像文件(系统盘)进行全量备份,生成一个类型为 snapshot 的 image,然后将其保存到 Glance 上。
从备份恢复的操作叫 Rebuild,将在下一节重点讨论。
下面是 snapshot instance 的流程图
-
向 nova-api 发送请求
-
nova-api 发送消息
-
nova-compute 执行操作
下面我们详细讨论每一个步骤。
向nova-api发送请求
客户(可以是 OpenStack 最终用户,也可以是其他程序)向 API(nova-api)发送请求:“对这个 Instance 做个快照”
查看日志 /opt/stack/logs/n-api.log
nova-api 发送消息
nova-api 向 Messaging(RabbitMQ)发送了一条消息:“对这个 Instance 做快照” 源代码在 /opt/stack/nova/nova/compute/api.py,方法是 snapshot。
nova-compute 执行操作
查看日志 /opt/stack/logs/n-cpu.log
暂停 instance
对 instance 的镜像文件做快照
恢复 instance
将快照上传到 Glance
Snapshot 成功保存在 Glance 中
instance 备份成功,下节我们讨论如何通过 snapshot 恢复。