第 5 章 Nova - 039 - Unshelve Instance 操作详解

Unshelve Instance 操作详解

因为 Glance 中保存了 instance 的 image,unshelve 的过程其实就是通过该 image launch 一个新的 instance,nova-scheduler 也会调度合适的计算节点来创建该 instance。

instance unshelve 后可能运行在与 shelve 之前不同的计算节点上,但 instance 的其他属性(比如 flavor,IP 等)不会改变。

下面是 Unshelve instance 的流程图

1、向 nova-api 发送请求

2、nova-api 发送消息

3、nova-scheduler 执行调度

4、nova-scheduler 发送消息

5、nova-compute 执行操作

详细分析:

1、向 nova-api 发送请求

客户(可以是 OpenStack 最终用户,也可以是其他程序)向 API(nova-api)发送请求:“帮我 Unshelve 这个 Instance”

2、nova-api 发送消息

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

3、nova-scheduler 执行调度

nova-scheduler 收到消息后,会为 instance 选择合适的计算节点。

经过筛选,最终 devstack-controller 被选中 launch instance。

4、nova-scheduler 发送消息

nova-scheduler 发送消息,告诉被选中的计算节点可以 launch instance 了

源代码在 /opt/stack/nova/nova/scheduler/filter_scheduler.py,方法为 select_destinations

5、nova-compute 执行操作

nova-compute 执行 unshelve 的过程与 launch instance 非常类似。

经过如下几个步骤:

1、为 instance 准备 CPU、内存和磁盘资源

2、创建 instance 镜像文件

3、创建 instance 的 XML 定义文件

4、创建虚拟网络并启动 instance

--------------------------------------------引用来自-------------------------------------------

https://www.cnblogs.com/CloudMan6/p/5529915.html

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587792&idx=1&sn=7a69817b99c46538293dbc29f06b7806&chksm=8d308149ba47085fbd5d4f0c5bce4543ca043687f4769c73703d71a2a4ea3a38d4eed31e4f66&scene=21#wechat_redirect

原文地址:https://www.cnblogs.com/gsophy/p/11022929.html

时间: 2024-10-09 02:24:17

第 5 章 Nova - 039 - Unshelve Instance 操作详解的相关文章

第 5 章 Nova - 038 - Shelve Instance 操作详解

Shelve Instance 操作详解 Instance 被 Suspend 后虽然处于 Shut Down 状态,但 Hypervisor 依然在宿主机上为其预留了资源,以便在以后能够成功 Resume. 如果希望释放这些预留资源,可以使用 Shelve 操作. Shelve 会将 instance 作为 image 保存到 Glance 中,然后在宿主机上删除该 instance. 下面是 shelve instance 的流程图 1.向 nova-api 发送请求 2.nova-api

第 5 章 Nova - 040 - Migrate Instance 操作详解

Migrate Instance 操作详解 Migrate 操作的作用是将 instance 从当前的计算节点迁移到其他节点上. Migrate 不要求源和目标节点必须共享存储,当然共享存储也是可以的. Migrate 前必须满足一个条件:计算节点间需要配置 nova 用户无密码访问. 下面是 Migrate instance 的流程图: 1.向 nova-api 发送请求 2.nova-api 发送消息 3.nova-scheduler 执行调度 4.nova-scheduler 发送消息 5

Unshelve Instance 操作详解 - 每天5分钟玩转 OpenStack(39)

上一节我们 shelve instance 到 Glance,本节讨论如何通过 unshelve 操作恢复该 instance. 因为 Glance 中保存了 instance 的 image,unshelve 的过程其实就是通过该 image launch 一个新的 instance,nova-scheduler 也会调度合适的计算节点来创建该 instance. instance unshelve 后可能运行在与 shelve 之前不同的计算节点上,但 instance 的其他属性(比如 f

(转载)Resize Instance 操作详解

(转载)Resize Instance 操作详解 - 每天5分钟玩转 OpenStack(41) 原文路径:https://www.cnblogs.com/CloudMan6/p/5548294.html 内容根据本人测试,可能有删改补充. Resize 的作用是调整 instance 的 vCPU.内存和磁盘资源. Instance 需要多少资源是定义在 flavor 中的,resize 操作是通过为 instance 选择新的 flavor 来调整资源的分配. 有了前面对 Migrate 的

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

Instance 被 Suspend 后虽然处于 Shut Down 状态,但 Hypervisor 依然在宿主机上为其预留了资源,以便在以后能够成功 Resume. 如果希望释放这些预留资源,可以使用 Shelve 操作. Shelve 会将 instance 作为 image 保存到 Glance 中,然后在宿主机上删除该 instance. 下面是 shelve instance 的流程图 向 nova-api 发送请求 nova-api 发送消息 nova-compute 执行操作 下面

Resize Instance 操作详解 - 每天5分钟玩转 OpenStack(41)

Resize 的作用是调整 instance 的 vCPU.内存和磁盘资源. Instance 需要多少资源是定义在 flavor 中的,resize 操作是通过为 instance 选择新的 flavor 来调整资源的分配. 有了前面对 Migrate 的分析,再来看 Resize 的实现就非常简单了. 因为 instance 需要分配的资源发生了变化,在 resize 之前需要借助 nova-scheduler 重新为 instance 选择一个合适的计算节点,如果选择的节点与当前节点不是同

Migrate Instance 操作详解 - 每天5分钟玩转 OpenStack(40)

Migrate 操作的作用是将 instance 从当前的计算节点迁移到其他节点上. Migrate 不要求源和目标节点必须共享存储,当然共享存储也是可以的. Migrate 前必须满足一个条件:计算节点间需要配置 nova 用户无密码访问. 下面是 Migrate instance 的流程图 向 nova-api 发送请求 nova-api 发送消息 nova-scheduler 执行调度 nova-scheduler 发送消息 nova-compute 执行操作 下面我们详细讨论每一个步骤.

Snapshot Instance 操作详解 - 每天5分钟玩转 OpenStack(36)

本节我们通过日志详细讨论 instance 的 snapshot 操作. 有时候操作系统损坏得很严重,通过 Rescue 操作无法修复,那么我们就得考虑通过备份恢复了.当然前提是我们之前对instance做过备份. Nova 备份的操作叫 Snapshot,其工作原理是对 instance 的镜像文件(系统盘)进行全量备份,生成一个类型为 snapshot 的 image,然后将其保存到 Glance 上. 从备份恢复的操作叫 Rebuild,将在下一节重点讨论. 下面是 snapshot in

Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)

本节通过日志详细分析 Nova Pause/Resume 操作. 有时需要短时间暂停 instance,可以通过 Pause 操作将 instance 的状态保存到宿主机的内存中.当需要恢复的时候,执行 Resume 操作,从内存中读回 instance 的状态,然后继续运行 instance. 下面是 pause instance 的流程图 向 nova-api 发送请求 nova-api 发送消息 nova-compute 执行操作 下面我们详细讨论每一个步骤. 向nova-api发送请求