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 的流程图
image146.png

  1. 向 nova-api 发送请求

  2. nova-api 发送消息

  3. nova-scheduler 执行调度

  4. nova-scheduler 发送消息

  5. nova-compute 执行操作

下面我们详细讨论每一个步骤。

向 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 发送消息

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 操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243177.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

位拆分与运算

位拆分与运算 题目描述 现在输入了一个压缩的16位数据,实际上包含了四个数据[3:0][7:4][11:8][15:12] 按照sel选择输出四个数据的相加结果,并输出valid_out信号(在不输出时候拉低) 0:输出[3:0][7:4] 1:输出…

得意而忘乎形:谈葛水平的水墨画

不知道葛水平早年学过画没有,只知道她搞过戏曲,好像也有过舞台表演的经验。现在主要写小说,成绩斐然,创作之余画水墨。贾平凹看了她的画后说:“每个人都有绘画潜质,只是大与小和开发与不开发。”这话有理。…

Eclipse安装Perl插件

http://www.cnblogs.com/emanlee/archive/2012/08/11/2633701.html Eclipse安装Perl EPIC插件,在Eclipse中开发Perl项目 前提: 已经安装了 Eclipse,Java,Perl(例如 ActivePerl)。 步骤: 启动Eclipse,Eclipse中&#x…

初识Android应用程序的五大基本组件

5 Basic Components 1. Activity 2. Service 3. Broadcast Receiver 4. Content Provider 5. Intent Activity —— 应用表示层( 基类 Activity ) 应…

风鬣霜蹄马王出

今年夏天,在内蒙古莱德马业繁殖基地的母马放养草场,我看到一群特殊的马点缀在绿色的草原之中。它们的颜色令我大开眼界:黑、白、枣红、黄骠、铁青……远远望去,五颜六色,神态各异。莱德马业的负责人朱方清告诉我,这里除…

多功能数据处理器

多功能数据处理器 题目描述 根据指示信号select,对输入信号a,b实现不同的运算。输入信号a,b为8bit有符号数,当select信号为0,输出a;当select信号为1,输出b;当select信号为2,输出ab;当select信号为3&#x…

Live Migrate 操作 - 每天5分钟玩转 OpenStack(42)

Migrate 操作会先将 instance 停掉,也就是所谓的“冷迁移”。而 Live Migrate 是“热迁移”,也叫“在线迁移”,instance不会停机。 Live Migrate 分两种: 源和目标节点没有共享存储,instance 在迁移的时候需要将其镜像…

FIFO的verilog代码

FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针…

使用generate...for语句简化代码

使用generate…for语句简化代码 题目描述 在某个module中包含了很多相似的连续赋值语句,请使用generate…for语句编写代码,替代该语句,要求不能改变原module的功能。 module template_module( input [7:0] data_in,output [7:0] data_out );assign data_out [0] = data_in…

Android的启动过程

Passion注:本篇文章描述的是Android的启动过程,不包括Linux的启动过程 分别来自 http://dingpwen.spaces.live.com/blog/cns!4CADD02D22459860!208.entry?flcat http://www.eepw.com.cn/article/89567.htm http://blog.csdn.net/guiterb/archive…

计算节点宕机了怎么办?- 每天5分钟玩转 OpenStack(43)

Rebuild 可以恢复损坏的 instance。 那如果是宿主机坏了怎么办呢? 比如硬件故障或者断电造成整台计算节点无法工作,该节点上运行的 instance 如何恢复呢? 用 Shelve 或者 Migrate 可不可以? 很不幸,这两个操作都要求 i…

Eclipse最新版 Neon已发布

今天,Eclipse基金会宣布发布Eclipse Neon,这个版本的IDE支持Java、JavaScript、C/C、PHP和Fortran等多种编程语言。这一次的发布集成了779个开发者(其中有331人提交了代码)的工作成果,包含了6900万行代码,是…

eclipse 全屏插件

eclipse-fullscreen 插件下载链接: http://code.google.com/p/eclipse-fullscreen/, 安装方式:将下载下来的压缩文件解压,将里边的jar包放到eclipse目录下的plugin文件夹中,重启eclipse即可。 在Fedora & Windows …

使用子模块实现三输入数的大小比较

使用子模块实现三输入数的大小比较 题目描述 在数字芯片设计中,通常把完成特定功能且相对独立的代码编写成子模块。在需要的时候再在主模块中例化使用,以提高代码的可复用性和设计的层次性,方便后续的修改。 请编写一个子模块,将…

Android中Log信息的输出方法

共两篇文章,第一篇讲述了如何在程序中输出Log信息,第二篇详细的分析了Log信息的输出机制。 下面是第一篇(转自:http://blog.163.com/binghaitao126/blog/static/3383532520099309366435/) 1:在编译so文件的…

寻求神谕的词语:谈海日寒诗集《空山集》

诗人杨炼曾用两个“他者”概括了当代中国诗歌所面对的两个检验体系:“背后是中文古典诗歌杰作”,“面前是古今世界文学精品”1。他提出:“全球化语境中,我们能否找到——创造一种更深也更新的标准来判断作品?去建立那个…

批量给Linux服务器推送文件、执行指令的工具推荐 - wgcloud-bach-agent

wgcloud-bach-agent是wgcloud官方开发的一个工具,具有批量给Linux主机上传文件,执行指令的功能 当我们有一个文件,需要上传到很多主机,或需要在很多主机执行同一条指令的时候,这个工具就非常实用了,可以极…

verilog中assign语句

/************************************** * Module: assign * Date:2014-08-10 * Author: hemmingway163.com * * Description: verilog中的assign语句的用法 ***************************************//* 一、引入语法的概念1、只有寄存器类型的信号才可以在always和initi…

Neutron Router 工作原理 - 每天5分钟玩转 OpenStack(142)

上一节我们创建了 router 连通了 vlan100 和 vlan101, 今天分析router是如何工作的。 首先查看控制节点的网络结构发生了什么变化: br-int 上多了两个 port: 1. qr-d295b258-45,从命名上可以推断该 interface 对应 router_100_101 的 interf…

android linux kernel VS standard linux kernel

在kernel子目录下存放的就是Android的Linux Kernel了, 通过和标准的Linux 2.6.25 Kernel的对比,我们可以发现,其主要增加了以下的内容: 1. 基于ARM架构增加Gold-Fish平台,相应增加的目录如下: kernel/arch/arm/mach-goldfish kernel/include/asm-arm/arch-go…