Kvm-Pause-Suspend
- Launchpad 条目:NovaSpec:foo 或 SwiftSpec:foo
- 创建:
- 贡献者:
目录
总结
启用KVM暂停实例和挂起实例的功能。“暂停”和“挂起”的区别在于,“挂起”会将VM的状态存储到磁盘上,而“暂停”则将其存储在内存(RAM)中”(引用自 <http://forums.citrix.com/thread.jspa?messageID=1375993>)。换句话说,暂停类似于“睡眠”,而挂起类似于“休眠”。
发布说明
将向Openstack计算服务添加一些方法来暂停/挂起实例。
此变更的最终用户影响
没有特别之处。此功能已经为xenserver实现,并且KVM的所有实现工作已经完成。
原理
此功能已经为xenserver实现,但尚未为KVM实现。
用户故事
1. 用户可以在年度维护日使用“挂起”。与其终止实例,不如使用“挂起”来降低重启系统时出现问题的风险。 2. 不经常使用的实例可以“挂起”。管理员可以节省物理服务器的资源。 3. 用户可以在需要备份实例时使用“暂停”,并且实例正在将数据写入磁盘,备份可能会失败,这时用户可能希望实例在备份完成时停止。
前提条件
Xenserver的“暂停”和“挂起”可能与KVM的略有不同,但是,xenserver中的“暂停”类似于KVM中的“挂起”,并且xenserver中的“挂起”类似于KVM中的“保存”。因此,KVM中的“挂起”将实现为“暂停”,KVM中的“保存”将实现为“挂起”。
设计
将暂停/挂起功能的代码添加到驱动层(nova.virt.libvirt_conn.LibvirtConnection)。除了驱动层之外的任何不可避免的操作,由于xenserver的工作已经完成,所以已经实现。
实现
在LibvirtConnection类中,将实现pause()、unpause()、suspend()和resume()方法(当前,这些方法只是抛出NotImplementationError())。
UI 变更
无
代码变更
无
迁移
无
测试/演示计划
这不必在规范接近 Beta 之前添加或完成。
未解决的问题
无
BoF 议程和讨论
使用本节记录 BoF 期间的笔记;如果将其保留在批准的规范中,请用于总结讨论内容并记录任何被拒绝的选项。