1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)
前面我们讨论了 Instance 的若干操作,有的操作功能比较类似,也有各自的适用场景,现在是时候系统地总结一下了。

如上图所示,我们把对 Instance 的管理按运维工作的场景分为两类:常规操作和故障处理。
常规操作
常规操作中,Launch、Start、Reboot、Shut Off 和 Terminate 都很好理解。 下面几个操作重点回顾一下:
Resize
通过应用不同的 flavor 调整分配给 instance 的资源。
Lock/Unlock
可以防止对 instance 的误操作。
Pause/Suspend/Resume
暂停当前 instance,并在以后恢复。
Pause 和 Suspend 的区别在于 Pause 将 instance 的运行状态保存在计算节点的内存中,而 Suspend 保存在磁盘上。
Pause 的优点是 Resume 的速度比 Suspend 快;缺点是如果计算节点重启,内存数据丢失,就无法 Resume 了,而 Suspend 则没有这个问题。
Snapshot
备份 instance 到 Glance。产生的 image 可用于故障恢复,或者以此为模板部署新的 instance。
故障处理
故障处理有两种场景:计划内和计划外。
计划内是指提前安排时间窗口做的维护工作,比如服务器定期的微码升级,添加更换硬件等。
计划外是指发生了没有预料到的突发故障,比如强行关机造成 OS 系统文件损坏,服务器掉电,硬件故障等。
计划内故障处理
对于计划内的故障处理,可以在维护窗口中将 instance 迁移到其他计算节点。
涉及如下操作:
Migrate
将 instance 迁移到其他计算节点。
迁移之前,instance 会被 Shut Off,支持共享存储和非共享存储。
Live Migrate
与 Migrate 不同,Live Migrate 能不停机在线地迁移 instance,保证了业务的连续性。也支持共享存储和非共享存储(Block Migration)
Shelve/Unshelve Shelve 将 instance 保存到 Glance 上,之后可通过 Unshelve 重新部署。
Shelve 操作成功后,instance 会从原来的计算节点上删除。
Unshelve 会重新选择节点部署,可能不是原节点。
计划外故障处理
计划外的故障按照影响的范围又分为两类:Instance 故障和计算节点故障
Instance 故障
Instance 故障只限于某一个 instance 的操作系统层面,系统无法正常启动。
可以使用如下操作修复 instance:
Rescue/Unrescue
用指定的启动盘启动,进入 Rescue 模式,修复受损的系统盘。成功修复后,通过 Unrescue 正常启动 instance。
Rebuild
如果 Rescue 无法修复,则只能通过 Rebuild 从已有的备份恢复。Instance 的备份是通过 snapshot 创建的,所以需要有备份策略定期备份。
计算节点故障
Instance 故障的影响范围局限在特定的 instance,计算节点本身是正常工作的。如果计算节点发生故障,OpenStack 则无法与节点的 nova-compute 通信,其上运行的所有 instance 都会受到影响。这个时候,只能通过 Evacuate 操作在其他正常节点上重建 Instance。
Evacuate
利用共享存储上 Instance 的镜像文件在其他计算节点上重建 Instance。
所以提前规划共享存储是关键。
小节
到这里,我们已经学习了 OpenStack Nova 的架构,讨论了 Nova API,Scheduler,Compute 等重要组件,并通过案例详尽的剖析了 Nova 各个操作,最后用一张图总结了这些操作的用途和使用场景。
Nova 是 OpenStack 最重要的项目,处于 OpenStack 的中心。
其他 Keystone,Glance,Cinder 和 Neutron 项目都是为 Nova 其服务的,一定要好好理解。
下一节我们将学习 OpenStack 块存储服务 - Cinder。

1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)的更多相关文章
- O044、一张图秒懂 Nova 16种操作
参考https://www.cnblogs.com/CloudMan6/p/5565757.html
- 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)
前面我们已经讨论了容器的各种操作,对容器的生命周期有了大致的理解,下面这张状态机很好地总结了容器各种状态之间是如何转换的. 如果掌握了前面的知识,要看懂这张图应该不难.不过有两点还是需要补充一下: 可 ...
- Nova reboot 和 lock 操作 - 每天5分钟玩转 OpenStack(32)
前面 CloudMan 通过日志详细分析了 nova 的 launch, shut off 和 start 操作.不知道大家现在是否已经掌握了日志分析的技能? 今天咱们就来检验一下.本节讨论的是 no ...
- Live Migrate 操作 - 每天5分钟玩转 OpenStack(42)
Migrate 操作会先将 instance 停掉,也就是所谓的“冷迁移”.而 Live Migrate 是“热迁移”,也叫“在线迁移”,instance不会停机. Live Migrate 分两种: ...
- Nova 组件详解 - 每天5分钟玩转 OpenStack(26)
本节开始,我们将详细讲解 Nova 的各个子服务. 前面架构概览一节知道 Nova 有若干 nova-* 的子服务,下面我们将依次学习最重要的几个.今天先讨论 nova-api 和 nova-cond ...
- Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)
前面我们 backup 了 voluem,今天我们将讨论如何 restore volume. restore 的过程其实很简单,两步走: 在存储节点上创建一个空白 volume. 将 backup 的 ...
- Backup Volume 操作 - 每天5分钟玩转 OpenStack(59)
本节我们讨论 volume 的 Backup 操作. Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复. Backup VS Snapshot 初看 ...
- Snapshot Volume 操作 - 每天5分钟玩转 OpenStack(58)
Snapshot 可以为 volume 创建快照,快照中保存了 volume 当前的状态,以后可以通过 snapshot 回溯.snapshot 操作实现比较简单,流程图如下: 向 cinder-ap ...
- Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)
今天讨论 cinder 如何删除 volume . 状态为 Available 的 volume 才能够被 delete.如果 volume 当前已经 attach 到 instance,需要先 de ...
随机推荐
- SqlSugar ORM已经支持读写分离
目前只有MYSQL版 3.5.2.9 支持,其库版本12月3号更新该功能 用例讲解 using (var db = new SqlSugarClient("主连接字符串", &qu ...
- Struts2 源码分析——调结者(Dispatcher)之action请求
章节简言 上一章笔者讲到关于struts2启动的时候加载对应的准备工作.如加载配置文件struts.xml之类的信息.而相应的这些操作都离不开Dispatcher类的帮助.如果读者只是认为Dispat ...
- 解决.NET WebService引用后添加HTTP Header的问题
麻蛋,搜索了好久,找到的都是对soap header的操作,不是对WebService的HTTP Header的操作,这是两种不同的概念,平常我们发起的WebService请求走的都是http通信协议 ...
- 基于Netbeans的PHPUnit单元测试环境搭建
一.配置 PHPUnit截至2015-10-16,稳定版已更新至5.0.6,要求使用PHP v5.6及以上的环境才能使用. PHPUnit的4.8系列要求在PHP v5.3.3以上环境使用. Netb ...
- Cats(3)- freeK-Free编程更轻松,Free programming with freeK
在上一节我们讨论了通过Coproduct来实现DSL组合:用一些功能简单的基础DSL组合成符合大型多复杂功能应用的DSL.但是我们发现:cats在处理多层递归Coproduct结构时会出现编译问题.再 ...
- Linux中shell脚本自动输入密码
最近遇到蛋疼的事,就是在shell脚本中需要获取root权限,因此在shell脚本运行过程中需要输入密码. 懒惰的我当然想让shell在执行过程中就可以自动输入密码,这样就可以抽空看看妹子图.. 我通 ...
- adb查询log命令
http://blog.csdn.net/fulinwsuafcie/article/details/8028572
- 如何使 WebAPI 自动生成漂亮又实用在线API文档
1.前言 1.1 SwaggerUI SwaggerUI 是一个简单的Restful API 测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON 配置显示API. 项目本身仅仅也只依赖 ...
- HTML字符实体(关于 ><等)
常用字符实体 注意:实体名称是区分大小写的! 结果 描述 实体名 实体编号 non-breaking space < less than < < > greate ...
- JS高程3.基本概念(2)
1.ECMAScript数据类型 5种简单数据类型,分别是: Undefined Null Boolean Number String 1种复杂数据类型: Object (1)typeof操作符--检 ...