跳转到: 导航, 搜索

Xenapi-live-migration

  • Launchpad 条目: NovaSpec:xenapi-live-migration
  • 创建时间: 2012年6月8日
  • 贡献者: John Garbutt

总结

我们需要在 XenAPI 驱动程序中支持实时迁移。

这仅处理使用由 XenServer 池管理的共享存储的实时迁移。它在使用外部 ramdisk 和内核时也无法工作

发布说明

添加了对 XenAPI 中实时迁移的支持。

对于基于共享存储的实时迁移,您需要确保源主机和目标主机位于同一聚合中,配置为使用池默认 SR,并且默认 SR 是一个共享存储系统,类似于 NFS。

更多文档请参见:https://wiki.openstack.org/XenServer/LiveMigration

原理

以类似于当前 LibVirt 支持的方式,使用 XenAPI 暴露实时迁移。

用户故事

用户正在运行一个 VM (w

前提条件

  • 主机聚合允许您创建一个 XenServer 池。
  • 池正在使用共享存储

设计

利用 XenAPI pool_migrate 调用在共享存储上迁移 XenServer 池内的 VM。

实现

UI 变更

与 libvirt 相同

代码变更

大的代码更改是

  • 在 XenAPI 驱动程序中实现实时迁移调用
  • 重构调度器代码,使其仅包含 XenAPI 和 LibVirt 通用的检查
  • 以上涉及驱动程序向其他驱动程序发出 rpc 调用(就像在创建 XenServer 池时 XenAPI 层中一样)
  • 以上涉及引入 rpc 调用 "check_can_live_migrate" 来替换调度器将要执行的调用,例如 "compare_cpu" 和 "check_shared_storage"

迁移

无。

测试/演示计划

  • 手动测试 KVM 以确保没有回归
  • 使用 XenServer 6.0 进行手动测试,以检查 XenAPI 实现
  • 推迟 tempest 测试,直到使用 Xen Storage Motion

未解决的问题

  • ramdisk + kernel
  • 更好的错误报告
  • 为 Xen Storage Motion 打开了另一个蓝图
  • 将打开另一个蓝图来研究迁移与实时迁移的区别