Shelve Instance 操做详解 - 天天5分钟玩转 OpenStack(38)

image240.5.png

Instance 被 Suspend 后虽然处于 Shut Down 状态,但 Hypervisor 依然在宿主机上为其预留了资源,以便在之后可以成功 Resume。web

若是但愿释放这些预留资源,能够使用 Shelve 操做。 Shelve 会将 instance 做为 image 保存到 Glance 中,而后在宿主机上删除该 instance。 下面是 shelve instance 的流程图 api

image180.png

  1. 向 nova-api 发送请求 spa

  2. nova-api 发送消息 3d

  3. nova-compute 执行操做 日志

下面咱们详细讨论每个步骤。 orm

向 nova-api 发送请求

客户(能够是 OpenStack 最终用户,也能够是其余程序)向API(nova-api)发送请求:“帮我 shelve 这个 Instance” blog

查看日志 /opt/stack/logs/n-api.log 资源

nova-api 发送消息

nova-api 向 Messaging(RabbitMQ)发送了一条消息:“shelve 这个 Instance” 查看源代码 /opt/stack/nova/nova/compute/api.py,方法是 shelve。 it

nova-compute 执行操做

查看日志 /opt/stack/logs/n-cpu.log class

首先,关闭 instance

而后对 instance 执行 snapshot 操做

成功后,snapshot 生成的 image 会保存在 Glance 上,命名为 <instance name>-shelved

最后删除 instance 在宿主机上的资源

暂停操做成功执行后,instance 的状态变为 Shelved Offloaded,电源状态是 Shut Down

以上就是 Shelve 操做的分析,下一节咱们讨论 Unshelve 操做。

相关文章
相关标签/搜索