与许多人一样,我正在考虑使用 OpenStack 或 VMware 创建“私有云”。
VMware vMotion 有一个很好的功能,即使没有共享存储,也可以实时迁移虚拟机。我在实验室环境中尝试过这个功能,效果很好。这个功能并非没有缺点,但对于需要简单虚拟机环境且不想为共享存储的复杂性和费用而烦恼的站点来说,它很有吸引力。共享存储很容易使虚拟/云基础架构的成本增加 50-100,000 美元。有关此功能的更多信息,请访问:
- ESXi 和 vCenter Server 5.1 文档 > vCenter Server 和主机管理 > 在 vSphere Web Client 中迁移虚拟机
- Techtarget:无共享实时迁移。
使用 KVM 的 OpenStack 是否提供类似的功能?OpenStack 可以在没有共享存储的情况下进行实时迁移吗?KVM 是 OpenStack 的默认虚拟机管理程序,除非有令人信服的理由使用其他虚拟机管理程序,否则我们更愿意坚持使用默认虚拟机管理程序。
答案1
Openstack 支持无共享存储的实时迁移(有预留):
理论上,实时迁移可以通过非共享存储进行,使用称为 KVM 实时块迁移的功能。然而,这是 OpenStack 中鲜为人知的功能,与实时迁移相比,测试有限,并且计划在 KVM 上游弃用。
但是,本文档并不完整。实时迁移的一个实现已被弃用,但已完成一个新的(更好的)实现。
有一些讨论关于此问题,请参阅 2013 年 4 月 Openstack 邮件列表,其中 Daniel Berrange 说:
我上面写的关于现有 impl 的内容仍然准确。新的块迁移代码现在已合并到 libvirt 中,并使用内置于 QMEU 进程 todo 块迁移中的 NBD 服务器。API 方面,它实际上应该以与现有的弃用块迁移代码相同的方式工作。因此,如果您有足够新的 libvirt 和足够新的 KVM,它可能应该“只适用于”openstack,而无需在 nova 中进行任何代码更改。不过,我还没有亲自测试过。