5.3. 迁移虚拟机
您可以通过创建 MTV 自定义资源(CR)从命令行(CLI)迁移虚拟机。CR 和迁移步骤因源供应商而异。
您必须为集群范围的 CR 指定一个名称。
您必须为命名空间范围 CR 指定名称和命名空间。
要迁移到与迁移计划定义的 OpenShift 集群不同的 OpenShift 集群,您必须具有具有 cluster-admin
权限的 OpenShift Virtualization 服务帐户令牌。
5.3.1. 从 VMware vSphere 源供应商迁移 复制链接链接已复制到粘贴板!
您可以使用 CLI 从 VMware vSphere 源供应商迁移。
流程
为源供应商凭证创建
Secret
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ownerReferences
部分是可选的。- 2
- 指定 vCenter 用户或 ESX/ESXi 用户。
- 3
- 指定 vCenter 用户的密码或 ESX/ESXi 用户。
- 4
- 指定
"true"
来跳过证书验证,指定"false"
来验证证书。如果没有指定,则默认为 "false
"。跳过证书验证会进行不安全的迁移,然后不需要证书。不安全的迁移意味着传输的数据通过不安全的连接发送,并可能会公开敏感数据。 - 5
- 如果没有设置此字段 并跳过禁用了证书验证,MTV 会尝试使用系统 CA。
- 6
- 指定 vCenter 的 API 端点 URL 或 ESX/ESXi,例如
https://<vCenter_host>/sdk
。
为源供应商创建
Provider
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
主机清单
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定 VMware vSphere
Provider
CR 的名称。 - 2
- 指定 VMware vSphere 主机的 Managed Object Reference (moRef)。要检索 moRef,请参阅 检索 VMware vSphere moRef。
- 3
- 指定 VMware vSphere 迁移网络的 IP 地址。
创建
NetworkMap
清单来映射源和目标网络:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 允许的值是
pod
和multus
。 - 2
- 您可以使用
id
或name
参数来指定源网络。对于id
,指定 VMware vSphere 网络受管对象参考(moRef)。要检索 moRef,请参阅 检索 VMware vSphere moRef。 - 3
- 为每个额外 OpenShift Virtualization 网络指定网络附加定义。
- 4
- 仅在
类型为
multus
时才需要。指定 OpenShift Virtualization 网络附加定义的命名空间。
创建
StorageMap
清单来映射源和目标存储:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 允许的值有
ReadWriteOnce
和ReadWriteMany
。 - 2
- 指定 VMware vSphere 数据存储 moRef。例如,
f2737930-b567-451a-9ceb-2887f6207009
。要检索 moRef,请参阅 检索 VMware vSphere moRef。
可选:在
Plan
CR 中指定的阶段创建一个Hook
清单以在虚拟机中运行自定义代码:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
Playbook
指的是可选的 Base64 编码的 Ansible Playbook。如果指定 playbook,image
必须是hook-runner
。注意您可以使用默认
hook-runner
镜像或指定自定义镜像。如果指定自定义镜像,则不需要指定 playbook。
为迁移创建
Plan
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定
Plan
CR 的名称。 - 2
- 指定迁移是 warm -
true
- 或 cold -false
。如果您指定了 warm 迁移,且没有为Migration
清单中的cutover
参数指定一个值,则只有 precopy 阶段将运行。 - 3
- 每个计划仅指定一个网络映射和一个存储映射。
- 4
- 指定网络映射,即使要迁移的虚拟机没有分配给网络。在这种情况下,映射可以为空。
- 5
- 指定
NetworkMap
CR 的名称。 - 6
- 即使要迁移的虚拟机没有使用磁盘镜像分配,请指定存储映射。在这种情况下,映射可以为空。
- 7
- 指定
StorageMap
CR 的名称。 - 8
- 您可以使用
id
或name
参数来指定源虚拟机。
- 9
- 指定 VMware vSphere VM moRef。要检索 moRef,请参阅 检索 VMware vSphere moRef。
- 10
- 可选:为虚拟机指定最多两个 hook。每个 hook 必须在不同的迁移步骤中运行。
- 11
- 指定
Hook
CR 的名称。 - 12
- 迁移完成后,允许的值是
PreHook
,在迁移计划启动或PostHook
之前。
创建运行
Plan
CR 的Migration
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您指定了截止时间,请使用 ISO 8601 格式的 UTC 时间偏移,例如
2024-04-04T01:23:45.678+09:00
。
5.3.2. 从 Red Hat Virtualization 源供应商迁移 复制链接链接已复制到粘贴板!
您可以使用 CLI 从 Red Hat Virtualization (RHV)源供应商迁移。
先决条件
如果您要迁移使用直接 LUN 磁盘的虚拟机,请确保虚拟机在 OpenShift Virtualization 目标集群中的节点可以访问后端存储。
- 与从源供应商 复制到目标 供应商的磁盘镜像不同,LUN会从 源供应商中的 虚拟机分离,然后附加到目标供应商中创建的虚拟机(VM)。
- 如果需要回退到源供应商,则 LUN 不会在迁移过程中从源供应商中删除。但是,在将 LUN 重新附加到源供应商中的虚拟机之前,请确保目标环境中的虚拟机不会同时使用 LUN,这可能会导致数据崩溃。
流程
为源供应商凭证创建
Secret
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
ownerReferences
部分是可选的。- 2
- 指定 RHV Manager 用户。
- 3
- 指定用户密码。
- 4
- 指定
"true"
来跳过证书验证,指定"false"
来验证证书。如果没有指定,则默认为 "false
"。跳过证书验证会进行不安全的迁移,然后不需要证书。不安全的迁移意味着传输的数据通过不安全的连接发送,并可能会公开敏感数据。 - 5
- 输入 Manager CA 证书,除非它被第三方证书替代,否则请输入 Manager Apache CA 证书。您可以在 https://<engine_host>/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA 中检索 Manager CA 证书。
- 6
- 指定 API 端点 URL,例如
https://<engine_host>/ovirt-engine/api
。
为源供应商创建
Provider
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
NetworkMap
清单来映射源和目标网络:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
StorageMap
清单来映射源和目标存储:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:在
Plan
CR 中指定的阶段创建一个Hook
清单以在虚拟机中运行自定义代码:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
Playbook
指的是可选的 Base64 编码的 Ansible Playbook。如果指定 playbook,image
必须是hook-runner
。注意您可以使用默认
hook-runner
镜像或指定自定义镜像。如果指定自定义镜像,则不需要指定 playbook。
为迁移创建
Plan
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定
Plan
CR 的名称。 - 2
- 请参见以下备注。
- 3
- 指定迁移是温迁移还是冷迁移。如果您指定了 warm 迁移,且没有为
Migration
清单中的cutover
参数指定一个值,则只有 precopy 阶段将运行。 - 4
- 每个计划仅指定一个网络映射和一个存储映射。
- 5
- 指定网络映射,即使要迁移的虚拟机没有分配给网络。在这种情况下,映射可以为空。
- 6
- 指定
NetworkMap
CR 的名称。 - 7
- 即使要迁移的虚拟机没有使用磁盘镜像分配,请指定存储映射。在这种情况下,映射可以为空。
- 8
- 指定
StorageMap
CR 的名称。 - 9
- 您可以使用
id
或name
参数来指定源虚拟机。 - 10
- 指定 RHV VM UUID。
- 11
- 可选:为虚拟机指定最多两个 hook。每个 hook 必须在不同的迁移步骤中运行。
- 12
- 指定
Hook
CR 的名称。 - 13
- 迁移完成后,允许的值是
PreHook
,在迁移计划启动或PostHook
之前。
注意-
如果使用自定义 CPU 模型设置了迁移的机器,它将在目标集群中使用该 CPU 模型设置,而不考虑
preserveClusterCpuModel
的设置。 如果没有使用 自定义 CPU 模型设置迁移的机器:
-
如果将
preserveClusterCpuModel
设置为 'true',则 MTV 会根据集群的配置在 RHV 中运行时检查虚拟机的 CPU 模型,然后使用该 CPU 模型设置迁移的虚拟机。 -
如果将
preserveClusterCpuModel
设置为 'false',则 MTV 不会设置 CPU 类型,并使用目标集群的默认 CPU 模型设置虚拟机。
-
如果将
创建运行
Plan
CR 的Migration
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您指定了截止时间,请使用 ISO 8601 格式的 UTC 时间偏移,例如
2024-04-04T01:23:45.678+09:00
。
5.3.3. 从 OpenStack 源供应商迁移 复制链接链接已复制到粘贴板!
您可以使用 CLI 从 OpenStack 源提供程序迁移。
流程
为源供应商凭证创建
Secret
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为源供应商创建
Provider
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
NetworkMap
清单来映射源和目标网络:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
StorageMap
清单来映射源和目标存储:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:在
Plan
CR 中指定的阶段创建一个Hook
清单以在虚拟机中运行自定义代码:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
Playbook
指的是可选的 Base64 编码的 Ansible Playbook。如果指定 playbook,image
必须是hook-runner
。注意您可以使用默认
hook-runner
镜像或指定自定义镜像。如果指定自定义镜像,则不需要指定 playbook。
为迁移创建
Plan
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定
Plan
CR 的名称。 - 2
- 每个计划仅指定一个网络映射和一个存储映射。
- 3
- 指定网络映射,即使要迁移的虚拟机没有分配给网络。在这种情况下,映射可以为空。
- 4
- 指定
NetworkMap
CR 的名称。 - 5
- 指定存储映射,即使要迁移的虚拟机没有使用磁盘镜像分配。在这种情况下,映射可以为空。
- 6
- 指定
StorageMap
CR 的名称。 - 7
- 您可以使用
id
或name
参数来指定源虚拟机。 - 8
- 指定 OpenStack 虚拟机 UUID。
- 9
- 可选:为虚拟机指定最多两个 hook。每个 hook 必须在不同的迁移步骤中运行。
- 10
- 指定
Hook
CR 的名称。 - 11
- 迁移完成后,允许的值是
PreHook
,在迁移计划启动或PostHook
之前。
创建运行
Plan
CR 的Migration
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您指定了截止时间,请使用 ISO 8601 格式的 UTC 时间偏移,例如
2024-04-04T01:23:45.678+09:00
。
5.3.4. 从开放虚拟设备(OVA)源供应商迁移 复制链接链接已复制到粘贴板!
您可以使用 CLI 从 VMware vSphere 创建的开放虚拟设备(OVA)文件迁移到源供应商。
流程
为源供应商凭证创建
Secret
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为源供应商创建
Provider
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
NetworkMap
清单来映射源和目标网络:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
StorageMap
清单来映射源和目标存储:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:在
Plan
CR 中指定的阶段创建一个Hook
清单以在虚拟机中运行自定义代码:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
Playbook
指的是可选的 Base64 编码的 Ansible Playbook。如果指定 playbook,image
必须是hook-runner
。注意您可以使用默认
hook-runner
镜像或指定自定义镜像。如果指定自定义镜像,则不需要指定 playbook。
为迁移创建
Plan
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定
Plan
CR 的名称。 - 2
- 每个计划仅指定一个网络映射和一个存储映射。
- 3
- 指定网络映射,即使要迁移的虚拟机没有分配给网络。在这种情况下,映射可以为空。
- 4
- 指定
NetworkMap
CR 的名称。 - 5
- 即使要迁移的虚拟机没有使用磁盘镜像分配,请指定存储映射。在这种情况下,映射可以为空。
- 6
- 指定
StorageMap
CR 的名称。 - 7
- 您可以使用
id
或name
参数来指定源虚拟机。 - 8
- 指定 OVA 虚拟机 UUID。
- 9
- 可选:为虚拟机指定最多两个 hook。每个 hook 必须在不同的迁移步骤中运行。
- 10
- 指定
Hook
CR 的名称。 - 11
- 迁移完成后,允许的值是
PreHook
,在迁移计划启动或PostHook
之前。
创建运行
Plan
CR 的Migration
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您指定了截止时间,请使用 ISO 8601 格式的 UTC 时间偏移,例如
2024-04-04T01:23:45.678+09:00
。
5.3.5. 从 Red Hat OpenShift Virtualization 源供应商迁移 复制链接链接已复制到粘贴板!
您可以使用 Red Hat OpenShift Virtualization 供应商作为源供应商,或作为目的地供应商。
流程
为源供应商凭证创建
Secret
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为源供应商创建
Provider
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
NetworkMap
清单来映射源和目标网络:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
StorageMap
清单来映射源和目标存储:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 允许的值有
ReadWriteOnce
和ReadWriteMany
。
可选:在
Plan
CR 中指定的阶段创建一个Hook
清单以在虚拟机中运行自定义代码:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
Playbook
指的是可选的 Base64 编码的 Ansible Playbook。如果指定 playbook,image
必须是hook-runner
。注意您可以使用默认
hook-runner
镜像或指定自定义镜像。如果指定自定义镜像,则不需要指定 playbook。
为迁移创建
Plan
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建运行
Plan
CR 的Migration
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您指定了截止时间,请使用 ISO 8601 格式的 UTC 时间偏移,例如
2024-04-04T01:23:45.678+09:00
。