Nova Suspend/Resume与Rescue/Unrescue操作详解:实例保存与故障恢复

需积分: 0 0 下载量 138 浏览量 更新于2024-08-04 收藏 236KB DOCX 举报
本篇文档详细介绍了35-Nova Suspend/Resume和Rescue/Unrescue操作在OpenStack环境中的使用方法和区别。首先,我们讨论了Suspend/Resume操作。Suspend功能允许用户暂停实例的运行,并将实例状态保存在宿主机磁盘上,以便后续快速恢复。与之相比,Pause操作仅保存在内存中,Resume速度较快,但暂停后的实例状态变为ShutDown而非Paused。区分Suspend与Pause的关键在于它们在OpenStack内部的实现:Suspend对应的Resume是真正的恢复过程,而在Pause情况下则是"Unpause"。 Rescue/Unrescue操作主要针对的是实例的系统故障恢复。当操作系统无法正常启动时,可以利用Rescue功能,通过指定的image引导实例,同时保留实例的原系统盘,以便访问和修复数据。Rescue流程包括向nova-api发送请求,该操作目前仅支持通过命令行接口(CLI)进行,且Nova API会自动使用实例创建时所使用的image。通过查看n-api.log日志文件,可以追踪操作的执行情况。 具体步骤如下: 1. 向nova-api发送一个包含Rescue请求的指令,请求中未明确指定引导盘,Nova会默认使用实例原有的image。 2. nova-api接收到请求后,将其转发给nova-compute,即计算节点上的服务。 3. nova-compute收到请求后,将instance的系统盘挂载到新的引导环境中,并切换到指定的image进行引导。 4. 用户可以在救援模式下修复或备份系统,然后执行Unrescue操作,将实例恢复到原始状态,使其返回到正常运行环境。 总结来说,Suspend/Resume操作适用于临时性暂停,而Rescue/Unrescue则处理更复杂的故障恢复场景,是OpenStack中维护实例健康的重要工具。理解并熟练掌握这些操作,对于OpenStack管理员在处理实例故障时至关重要。通过实际操作和日志分析,用户可以进一步增强对这些高级功能的理解。