Shelve Instance 操作详解
Instance 被 Suspend 后虽然处于 Shut Down 状态,但 Hypervisor 依然在宿主机上为其预留了资源,以便在以后能够成功 Resume。
如果希望释放这些预留资源,可以使用 Shelve 操作。
Shelve 会将 instance 作为 image 保存到 Glance 中,然后在宿主机上删除该 instance。
下面是 shelve instance 的流程图
1、向 nova-api 发送请求
2、nova-api 发送消息
3、nova-compute 执行操作
详细分析:
1、向 nova-api 发送请求
客户(可以是 OpenStack 最终用户,也可以是其他程序)向API(nova-api)发送请求:“帮我 shelve 这个 Instance”
2、nova-api 发送消息
nova-api 向 Messaging(RabbitMQ)发送了一条消息:“shelve 这个 Instance”。查看源代码 /opt/stack/nova/nova/compute/api.py,方法是 shelve。
3、nova-compute 执行操作
- 首先,关闭 instance
- 然后对 instance 执行 snapshot 操作
- 成功后,snapshot 生成的 image 会保存在 Glance 上,命名为 <instance name>-shelved
- 最后删除 instance 在宿主机上的资源
- 暂停操作成功执行后,instance 的状态变为 Shelved Offloaded,电源状态是 Shut Down
------------------------------------------------------引用来自----------------------------------------------------------
https://www.cnblogs.com/CloudMan6/p/5524751.html
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587796&idx=1&sn=40be4aba68905546241ac9955d993e63&chksm=8d30814dba47085b405682b9b21707590d0260dfdc33b256be62b0ab7204e36f6ba3baea289d&scene=21#wechat_redirect