Nova Suspend/Rescue 操作详解 - 每天5分钟玩转 OpenStack(35)

本节我们讨论 Suspend/Resume 和 Rescue/Unrescue 这两组操作。

Suspend/Resume

有时需要长时间暂停 instance,可以通过 Suspend 操作将 instance 的状态保存到宿主机的磁盘上。当需要恢复的时候,执行 Resume 操作,从磁盘读回 instance 的状态,使之继续运行。

这里需要对 Suspend 和 Pause 操作做个比较:

相同点
两者都是暂停 instance 的运行,并保存当前状态,之后可以通过 Resume 操作恢复

不同点
1. Suspend 将 instance 的状态保存在磁盘上;Pause 是保存在内存中,所以 Resume 被 Pause 的 instance 要比 Suspend 快。 2. Suspend 之后的 instance,其状态是 Shut Down;而被 Pause 的 instance 状态是Paused。 3. 虽然都是通过 Resume 操作恢复,Pause 对应的 Resume 在 OpenStack 内部被叫作 “Unpause”;Suspend 对应的 Resume 才是真正的 “Resume”。这个在日志中能体现出来。

Suspend/Resume 的日志分析留给大家做练习。

Rescue/Unrescue

从这节开始,我们将讨论几种 instance 故障恢复的方法,不同方法适用于不同的场景。 首先我们考虑操作系统故障。

有时候由于误操作或者突然断电,操作系统重启后却起不来了。 为了最大限度挽救数据,我们通常会使用一张系统盘将系统引导起来,然后在尝试恢复。 问题如果不太严重,完全可以通过这种方式让系统重新正常工作。 比如某个系统文件意外删除, root 密码遗忘等

Nova 也提供了这种故障恢复机制,叫做 Rescue。 我们来看看 rescue 的说明:

Rescue 用指定的 image 作为启动盘引导 instance,将 instance 本身的系统盘作为第二个磁盘挂载到操作系统上。

下面是 rescue instance 的流程图

image180.png

  1. 向 nova-api 发送请求

  2. nova-api 发送消息

  3. nova-compute 执行操作

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

向 nova-api 发送请求

目前 Rescue 操作只能通过 CLI 执行

这里我们没有指明用哪个 image 作为引导盘,nova 将使用 instance 部署时使用的 image

查看日志 /opt/stack/logs/n-api.log

nova-api 发送消息

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

nova-compute执行操作

查看日志 /opt/stack/logs/n-cpu.log

关闭 instance

通过 image 创建新的引导盘,命名为 disk.rescue

启动 instance

Rescue 执行成功后,可以通过 virsh edit <instance_name> 查看 instance 的 XML 定义,disk.rescue 作为启动盘 vda,真正的启动盘 disk 作为第二个磁盘 vdb。

登录 instance,通过 fdisk 也可确认。

此时,instance 处于 Rescue 状态

Rescue 操作让我们有机会修复损坏的操作系统。 修好之后,使用 Unrescue 操作从原启动盘重新引导 instance。

Unrescue 的日志分析留给大家练习。


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

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

相关文章

关于奇偶校验

关于奇偶校验 奇校验(Odd Parity)&#xff1a;所有传送的数位&#xff08;含字符的各数位和校验位&#xff09;中&#xff0c;“1”的个数为奇数&#xff0c;如&#xff1a; 1 0110&#xff0c;0101 0 0110&#xff0c;0101 偶校验(Even Parity)&#xff1a;所有传送的数位&am…

More C++ Idioms

http://en.wikibooks.org/wiki/More_C%2B%2B_Idioms

Waveform Audio 驱动(Wavedev2)之:WAV API模拟

Waveform Audio 驱动(Wavedev2)之&#xff1a;WAV API模拟 Waveform 驱动对Windows Mobile来说是一个非常重要的驱动&#xff0c;控制着所有有关声音的操作&#xff0c;包括喇叭、耳机、麦克、听筒等。 要 想对驱动的整个架构和流程都非常的了解&#xff0c;我们必须从…

.NET Core计划弃用project.json

Microsoft最终宣布project.json实验失败&#xff0c;将转回使用.csproj文件。但是转变不会马上发生&#xff0c;最近发布的.NET Core RC2&#xff08;又称tooling preview 1&#xff09;将继续使用.xproj 以及project.json。\u0026#xD;\n\u0026#xD;\n从.NET Core RTM/tooling p…

移位运算与乘法

移位运算与乘法 题目描述 已知d为一个8位数&#xff0c;请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输入的d有效&#xff08;d给出的信号的上升沿表示写入有效&#xff09; 信号示意图 波形示意图 timescale 1ns/1ns module multi_sel( input [7:0]d …

双极型数字集成电路

在双极型数字集成电路中&#xff0c;除了TTL电路以外&#xff0c;还有二极管&#xff0d;三极管逻辑(Diode-Transistor Logic&#xff0c;简称DTL)、高阈值逻辑(High Threshold Logic&#xff0c;简称HTL)、发射极耦合逻辑(Emitter Coupled Logic&#xff0c;简称ECL)和集成注入…

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

本节我们通过日志详细讨论 instance 的 snapshot 操作。 有时候操作系统损坏得很严重&#xff0c;通过 Rescue 操作无法修复&#xff0c;那么我们就得考虑通过备份恢复了。当然前提是我们之前对instance做过备份。 Nova 备份的操作叫 Snapshot&#xff0c;其工作原理是对 insta…

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

上一节我们讨论了 snapshot&#xff0c;snapshot 的一个重要作用是对 instance 做备份。 如果 instance 损坏了&#xff0c;可以通过 snapshot 恢复&#xff0c;这个恢复的操作就是 Rebuild。 Rebuild 会用 snapshot 替换 instance 当前的镜像文件&#xff0c;同时保持 instanc…

突发传输模式

突发传输模式 突发传输(Burst transmission),一般也称为数据突发,其在通信领域中一般指在短时间内进行相对高带宽的数据传输。 突发传输一般表示的是两个设备之间进行数据传送的一种模式,也可将其称为突发模式下的数据传输。而突发(Burst)是指在同一行中相邻的存储单元…

Waveform Audio 驱动(Wavedev2)之:WAV 驱动解析

Waveform Audio 驱动(Wavedev2)之&#xff1a;WAV 驱动解析 上篇文章中&#xff0c;我们模拟了WAV API。现在进入我们正在要解析的Wave 驱动的架构。我们了解一个驱动的时候&#xff0c;先不去看具体跟硬件操作相关的东西&#xff0c;而是从流程入手&#xff0c;把整个流程搞清…

Perl参考书籍

Effective Perl programming - Writing Better Pro..> Network_Programming_With_Perl.chm OReilly,.Learning.Perl.(2005),.4Ed.BBL.LotB.chm PERL语言编程.pdf Perl DBI编程.pdf …

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

上一节我们 shelve instance 到 Glance&#xff0c;本节讨论如何通过 unshelve 操作恢复该 instance。 因为 Glance 中保存了 instance 的 image&#xff0c;unshelve 的过程其实就是通过该 image launch 一个新的 instance&#xff0c;nova-scheduler 也会调度合适的计算节点来…

位拆分与运算

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

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

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

Eclipse安装Perl插件

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

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

5 Basic Components 1. Activity 2. Service 3. Broadcast Receiver 4. Content Provider 5. Intent Activity —— 应用表示层&#xff08; 基类 Activity &#xff09; 应…

风鬣霜蹄马王出

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

多功能数据处理器

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

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

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

FIFO的verilog代码

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