Unshelve Instance 操作详解 – 每天5分钟玩转 OpenStack(39)
上一节我们 shelve instance 到 Glance,本节讨论如何通过 unshelve 操作恢复该 instance。
因为 Glance 中保存了 instance 的 image,unshelve 的过程其实就是通过该 image launch 一个新的 instance,nova-scheduler 也会调度合适的计算节点来创建该 instance。
instance unshelve 后可能运行在与 shelve 之前不同的计算节点上,但 instance 的其他属性(比如 flavor,IP 等)不会改变。
下面是 Unshelve instance 的流程图
下面我们详细讨论每一个步骤。
向 nova-api 发送请求客户(可以是 OpenStack 最终用户,也可以是其他程序)向 API(nova-api)发送请求:“帮我 Unshelve 这个 Instance”
查看日志 /opt/stack/logs/n-api.log
nova-api 发送消息nova-api 向 Messaging(RabbitMQ)发送了一条消息:“unshelve 这个 Instance” 查看源代码 /opt/stack/nova/nova/compute/api.py,方法是 unshelve。
nova-scheduler 执行调度nova-scheduler 收到消息后,会为 instance 选择合适的计算节点。 查看日志 /opt/stack/logs/n-sch.log
经过筛选,最终 devstack-controller 被选中 launch instance。
nova-scheduler 发送消息,告诉被选中的计算节点可以 launch instance 了 源代码在 /opt/stack/nova/nova/scheduler/filter_scheduler.py 第 95 行,方法为 select_destinations
nova-compute 执行操作nova-compute 执行 unshelve 的过程与 launch instance 非常类似。 一样会经过如下几个步骤: 1. 为 instance 准备 CPU、内存和磁盘资源 2. 创建 instance 镜像文件 3. 创建 instance 的 XML 定义文件 4. 创建虚拟网络并启动 instance
日志记录在 /opt/stack/logs/n-cpu.log,分析留给大家练习。
以上就是 Unshelve 操作的分析,下一节我们讨论 Migrate 操作。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/54740.html
相关文章
- mongodb 数据库操作详解–创建,切换,删除
- linux vi常用操作详解程序员
- Redis-列表类型命令操作笔记详解数据库
- postgresql通过命令行操作常用的10个命令总结详解数据库
- Hadoop综合练习第三节–HDFS读写文件操作详解大数据
- Hadoop入门进阶课程4–HDFS原理及操作详解大数据
- Go基础之–操作Mysql(三)详解编程语言
- Go基础之–排序和查找操作详解编程语言
- FunDA(13)- 示范:用户自定义操作函数 – user defined tasks详解编程语言
- 数组乱序排列详解编程语言
- SD–关于SD业务几个TCODE操作的SAP表跟踪详解编程语言
- Linux系统中挂载目录操作详解(Linux下的挂载目录)
- MySQL事件创建详解,让你轻松掌握数据库操作技巧(mysql中创建事件)
- MySQL中的内外连接详解(mysql中内外连接)
- MySQL性能优化配置参数之thread_cache和table_cache详解