1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)

简介:

前面我们讨论了 Instance 的若干操作,有的操作功能比较类似,也有各自的适用场景,现在是时候系统地总结一下了。

image320.png

如上图所示,我们把对 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。


本文转自CloudMan6 51CTO博客,原文链接:http://blog.51cto.com/cloudman/1787166

相关文章
|
2月前
|
Ubuntu Linux 网络安全
云计算|OpenStack|社区版OpenStack(实务操作---cloud-init的使用)
云计算|OpenStack|社区版OpenStack(实务操作---cloud-init的使用)
251 0
|
2月前
|
Linux 网络安全 API
云计算|OpenStack|社区版OpenStack安装部署文档(五 --- 计算服务nova安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(五 --- 计算服务nova安装部署---Rocky版)
210 0
|
云计算 虚拟化 开发者
Openstack架构构建及详解(4)--Nova组件
Openstack架构构建及详解(4)--Nova组件
447 0
|
消息中间件 存储 JSON
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--诊断OpenStack问题
第九章 OpenStack操作的故障排除--诊断OpenStack问题
709 0
金鱼哥RHCA回忆录:CL210OpenStack操作的故障排除--诊断OpenStack问题
|
API Apache 开发工具
LibCloud操作OpenStack
LibCloud操作OpenStack
213 0
|
算法 算法框架/工具
基于OpenStack构建企业私有云(4)Nova
Nova是OpenStack最早的两个模块之一(另一个是对象存储)。在OpenStack体系中是计算资源虚拟化的项目。同时Nova也是OpenStack项目中组件最多的一个项目。
550 0
基于OpenStack构建企业私有云(4)Nova
|
算法 算法框架/工具
基于OpenStack构建企业私有云(4)Nova
Nova是OpenStack最早的两个模块之一(另一个是对象存储)。在OpenStack体系中是计算资源虚拟化的项目。同时Nova也是OpenStack项目中组件最多的一个项目。
443 0
基于OpenStack构建企业私有云(4)Nova
nova openstack命令
1、虚拟机创建 nova boot --flavor flavor-name --availablity-zone az-name --boot-volume volume-id --nic net-id=net-id-xxx instance-name 2、虚拟机启动 nova start 3、虚拟机shelve和unshelve shelve表示虚拟机不占用openstack统计的任何资源。
954 0