18.3. 详细的迁移工作流


您可以使用详细的迁移工作流来排除迁移失败的问题。

工作流描述了以下步骤:

温迁移或迁移到远程 OpenShift 集群:

  1. 当您创建 Migration 自定义资源(CR)来运行迁移计划时,Migration Controller 服务会为每个源虚拟机磁盘创建一个 DataVolume CR。

    对于每个 VM 磁盘:

  2. Containerized Data Importer(CDI) 控制器服务根据 DataVolume CR 中指定的参数创建一个持久性卷声明 (PVC)。
  3. 如果 StorageClass 有动态置备程序,则 StorageClass 置备程序会动态置备持久性卷(PV)。
  4. CDI Controller 服务创建一个 importer pod。
  5. importer pod 将虚拟机磁盘流传输到 PV。

    虚拟机磁盘传输后:

  6. Migration Controller 服务会在从 VMware 导入时创建一个 转换 pod,并附加 PVC。

    conversion pod 运行 virt-v2v,它会在目标虚拟机的 PVC 中安装和配置设备驱动程序。

  7. Migration Controller 服务为每个源虚拟机(VM)创建一个 VirtualMachine CR,连接到 PVC。
  8. 如果虚拟机在源环境中运行,则虚拟机上的 Migration Controller 电源,KubeVirt Controller 服务会创建一个 virt-launcher pod 和 VirtualMachineInstance CR。

    virt-launcher pod 运行 QEMU-KVM,并附加了作为 VM 磁盘的 PVC。

从 RHV 或 OpenStack 冷迁移到本地 OpenShift 集群:

  1. 当您创建 Migration 自定义资源(CR)来运行迁移计划时,Migration Controller 服务为每个源虚拟机磁盘创建一个 PersistentVolumeClaim CR,当源是 RHV 时,一个 OvirtVolumePopulator,或源是 OpenStack 时的 OpenstackVolumePopulator CR。

    对于每个 VM 磁盘:

  2. Populator Controller 服务创建一个临时的持久性卷声明(PVC)。
  3. 如果 StorageClass 有动态置备程序,则 StorageClass 置备程序会动态置备持久性卷(PV)。

    • Migration Controller 服务创建一个 dummy pod 来绑定 所有 PVC。pod 的名称包含 pvcinit
  4. Populator Controller 服务创建一个 填充器 pod。
  5. 填充器 pod 将磁盘数据传输到 PV。

    虚拟机磁盘传输后:

  6. 临时 PVC 被删除,初始 PVC 指向带有数据的 PV。
  7. Migration Controller 服务为每个源虚拟机(VM)创建一个 VirtualMachine CR,连接到 PVC。
  8. 如果虚拟机在源环境中运行,则虚拟机上的 Migration Controller 电源,KubeVirt Controller 服务会创建一个 virt-launcher pod 和 VirtualMachineInstance CR。

    virt-launcher pod 运行 QEMU-KVM,并附加了作为 VM 磁盘的 PVC。

从 VMware 冷迁移到本地 OpenShift 集群:

  1. 当您创建 Migration 自定义资源(CR)来运行迁移计划时,Migration Controller 服务会为每个源虚拟机磁盘创建一个 DataVolume CR。

    对于每个 VM 磁盘:

  2. Containerized Data Importer (CDI) 控制器服务会根据 DataVolume CR 中指定的参数创建一个空白的持久性卷声明(PVC)。
  3. 如果 StorageClass 有动态置备程序,则 StorageClass 置备程序会动态置备持久性卷(PV)。

对于所有虚拟机磁盘:

  1. Migration Controller 服务创建一个 dummy pod 来绑定 所有 PVC。pod 的名称包含 pvcinit
  2. Migration Controller 服务为所有 PVC 创建一个 转换 pod。
  3. conversion pod 运行 virt-v2v,它将虚拟机转换为 KVM hypervisor,并将磁盘的数据传送到对应的 PV。

    虚拟机磁盘传输后:

  4. Migration Controller 服务为每个源虚拟机(VM)创建一个 VirtualMachine CR,连接到 PVC。
  5. 如果虚拟机在源环境中运行,则虚拟机上的 Migration Controller 电源,KubeVirt Controller 服务会创建一个 virt-launcher pod 和 VirtualMachineInstance CR。

    virt-launcher pod 运行 QEMU-KVM,并附加了作为 VM 磁盘的 PVC。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat