创建迁移

如需开始迁移虚拟机,请创建迁移。这会生成一个迁移计划文件。您通常需要先进一步检查和自定义生成的计划,然后才能继续执行迁移。

迁移是一个中心对象,您可以通过该对象执行迁移操作以及使用 migctl 工具监控迁移活动和状态。迁移对象以 Kubernetes 自定义资源定义 (CRD) 的形式实现,并与 Kubernetes PersistentVolumeClaim 等其他资源一起包含在迁移计划文件中。

准备工作

创建迁移

请按照以下示例中的说明,运行 migctl migration create 来创建迁移。

这些示例使用的 intent标志值为 Image。但是,您将根据工作负载和所需的迁移结果选择 intent 标志的值。如需了解详情,请参阅本主题后面的部分。

VMware

migctl migration create my-migration --source my-vmware-src --vm-id My_VMware_VM --intent Image
[INFO]  result output file: ./my-migration.yaml

AWS

migctl migration create my-migration --source my-aws-src --vm-id i-1234567890abcdef0 --intent Image
[INFO]  result output file: ./my-migration.yaml

Azure

migctl migration create my-migration --source my-azure-src --vm-id /subscriptions/a1b5c3d4-c3d9-a1a2-e5f6-a1t2c3d4k5f6/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/my-virtual-machine --intent Image
[INFO]  result output file: ./my-migration.yaml

Compute Engine

migctl migration create my-migration --source my-compute-engine-src --vm-id my-id --intent Image
[INFO]  result output file: ./my-migration.yaml

该命令会生成一个迁移计划 YAML 文件(此处为 my-migration.yaml)。migctl 工具会将生成的迁移计划写入 Cloud Shell(您在其中运行了该工具),但该文件不会应用于处理集群。

使用 intent 标志

创建迁移时,请根据工作负载的性质指定 intent 标志的值。该标志的值决定了迁移计划的内容,而该计划反过来将会对迁移过程进行引导。

Intent 标志值 何时使用 备注
Image 用于无状态工作负载。
ImageAndData 用于将应用和用户模式系统提取到容器映像并将数据提取到永久性卷的有状态工作负载。 您还可以将 ImageAndData 用于仅提取映像的有状态工作负载,在这种情况下,数据会单独提取或同步。拥有 ImageAndData 就是拥有一个全面的工作流。它会处理更多工件,还会影响 cleanupdelete 操作中需要考虑的各项因素。
Data 用于仅将迁移计划的数据部分提取到永久性卷的有状态工作负载。 如果您在来源虚拟机和迁移计划不变的情况下反复使用此 intent 值执行迁移,则系统最终会将自上次数据同步之后发生的增量更改同步到目标永久性磁盘。

后续步骤