12.6. 从 Red Hat OpenShift Virtualization 源供应商迁移
您可以使用 Red Hat OpenShift Virtualization 供应商作为源供应商,或作为目的地供应商。您可以使用命令行界面(CLI)从 OpenShift Virtualization 源供应商迁移。
源供应商的 Red Hat OpenShift 集群版本必须是 4.16 或更高版本。
流程
为源供应商凭证创建
Secret清单:$ cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: <secret> namespace: <namespace> ownerReferences:1 - apiVersion: forklift.konveyor.io/v1beta1 kind: Provider name: <provider_name> uid: <provider_uid> labels: createdForProviderType: openshift createdForResourceType: providers type: Opaque stringData: token: <token>2 password: <password>3 insecureSkipVerify: <"true"/"false">4 cacert: |5 <ca_certificate> url: <api_end_point>6 EOF
为源供应商创建
Provider清单:$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Provider metadata: name: <source_provider> namespace: <namespace> spec: type: openshift url: <api_end_point>1 secret: name: <secret>2 namespace: <namespace> EOF
创建
NetworkMap清单来映射源和目标网络:$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: NetworkMap metadata: name: <network_map> namespace: <namespace> spec: map: - destination: name: <network_name> type: pod1 source: name: <network_name> type: pod - destination: name: <network_attachment_definition>2 namespace: <network_attachment_definition_namespace>3 type: multus source: name: <network_attachment_definition> namespace: <network_attachment_definition_namespace> type: multus provider: source: name: <source_provider> namespace: <namespace> destination: name: <destination_provider> namespace: <namespace> EOF
创建
StorageMap清单来映射源和目标存储:$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: StorageMap metadata: name: <storage_map> namespace: <namespace> spec: map: - destination: storageClass: <storage_class> accessMode: <access_mode>1 source: name: <storage_class> provider: source: name: <source_provider> namespace: <namespace> destination: name: <destination_provider> namespace: <namespace> EOF- 1
- 允许的值有
ReadWriteOnce和ReadWriteMany。
可选:在
PlanCR 中指定的阶段创建一个Hook清单以在虚拟机中运行自定义代码:$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Hook metadata: name: <hook> namespace: <namespace> spec: image: quay.io/kubev2v/hook-runner serviceAccount:<service account>1 playbook: | LS0tCi0gbm...2 EOF注意您可以使用默认
hook-runner镜像或指定自定义镜像。如果指定自定义镜像,则不需要指定 playbook。
输入以下命令为 MTV 迁移创建传输网络的网络附加定义(NAD)。
您可以使用此定义为接口配置 IP 地址,可以从 Dynamic Host Configuration Protocol (DHCP)或静态方式配置。
配置 IP 地址可让接口访问配置的网关。
$ oc edit NetworkAttachmentDefinitions <name_of_the_NAD_to_edit> apiVersion: k8s.cni.cncf.io/v1 kind: NetworkAttachmentDefinition metadata: name: <name_of_transfer_network> namespace: <namespace> annotations: forklift.konveyor.io/route: <IP_address>为迁移创建
Plan清单:$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Plan metadata: name: <plan>1 namespace: <namespace> spec: provider: source: name: <source_provider> namespace: <namespace> destination: name: <destination_provider> namespace: <namespace> map:2 network:3 name: <network_map>4 namespace: <namespace> storage:5 name: <storage_map>6 namespace: <namespace> targetNamespace: <target_namespace> vms: - name: <source_vm> namespace: <namespace> hooks:7 - hook: namespace: <namespace> name: <hook>8 step: <step>9 EOF创建运行
PlanCR 的Migration清单:$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Migration metadata: name: <name_of_migration_cr> namespace: <namespace> spec: plan: name: <name_of_plan_cr> namespace: <namespace> cutover: <optional_cutover_time> EOF注意如果您指定了一个截止时间,请使用 ISO 8601 格式以及 UTC 时间偏移,例如
2024-04-04T01:23:45.678+09:00。
12.6.1. 使用命令行界面取消迁移 复制链接链接已复制到粘贴板!
您可以使用命令行界面(CLI)在迁移过程中取消整个迁移或特定虚拟机的迁移。
12.6.1.1. 使用命令行界面取消整个迁移 复制链接链接已复制到粘贴板!
您可以使用命令行界面(CLI)在迁移过程中取消整个迁移。
流程
删除
MigrationCR:$ oc delete migration <migration> -n <namespace>1 - 1
- 指定
MigrationCR 的名称。
12.6.1.2. 使用命令行界面取消特定虚拟机的迁移 复制链接链接已复制到粘贴板!
您可以使用命令行界面(CLI)在迁移过程中取消特定虚拟机(VM)的迁移。
流程
将特定的虚拟机添加到
Migration清单的spec.cancel块中,如下例所示:$ cat << EOF | oc apply -f - apiVersion: forklift.konveyor.io/v1beta1 kind: Migration metadata: name: <migration> namespace: <namespace> ... spec: cancel: - id: vm-1021 - id: vm-203 name: rhel8-vm EOF- 1
- 您可以使用
id键或name键指定虚拟机。
id键的值是受管对象的引用(VMware VM),或 VM UUID(RHV VM)。检索
Migration自定义资源(CR)以监控剩余的虚拟机的进度,如下例所示:$ oc get migration/<migration> -n <namespace> -o yaml