zoukankan      html  css  js  c++  java
  • 第 5 章 Nova

    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

  • 相关阅读:
    (转)老话题,权限设计及实现!
    (转)深入理解最强桌面地图控件GMAP.NET 百度地图
    (转)一步一步Asp.Net MVC系列_权限管理设计起始篇
    (转)常见存储过程分页PK赛——简单测试分析常见存储过程分页速度
    (转)正则表达之零宽断言(零宽度正预测先行断言)
    holer实现外网访问本地网站
    ural(Timus) 1039. Anniversary Party
    uva 10308 Roads in the North
    其他OJ 树型DP 技能树(未通过)
    ural(Timus) 1067. Disk Tree
  • 原文地址:https://www.cnblogs.com/gsophy/p/11022929.html
Copyright © 2011-2022 走看看