13.3. 启动和取消实时迁移
您可以使用 OpenShift Container Platform Web 控制台或命令行启动虚拟机(VM)到另一节点实时迁移。
您可以使用 Web 控制台或命令行取消实时迁移。虚拟机保留在其原始节点上。
您还可以使用 virtctl migrate <vm_name> and virtctl migrate-cancel <vm_name> 命令启动和取消实时迁移。
13.3.1. 启动实时迁移 复制链接链接已复制到粘贴板!
13.3.1.1. 使用 Web 控制台启动实时迁移 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform web 控制台将正在运行的虚拟机 (VM) 实时迁移到集群中的不同节点。
Migrate 操作对所有用户可见,但只有集群管理员才能启动实时迁移。
先决条件
-
您有
kubevirt.io:migrateRBAC 角色或集群管理员。 - 虚拟机是可迁移的。
- 如果虚拟机配置了主机模型 CPU,集群有一个支持 CPU 模型的可用节点。
流程
-
在 web 控制台中进入到 Virtualization
VirtualMachines。 执行以下步骤:
-
点击您要迁移的虚拟机旁的 Options 菜单
,将鼠标悬停在 Migrate 选项上,然后选择 Compute。
- 打开 您要迁移的虚拟机的虚拟机详情页面,单击 Actions 菜单,将鼠标悬停在 Migrate 选项上,然后选择 Compute。
-
点击您要迁移的虚拟机旁的 Options 菜单
在 Migrate Virtual Machine to a different Node 对话框中,选择 Automatically Selected Node 或 Specific Node。
- 如果您选择了 Specific Node 选项,请从列表中选择节点。
- 单击 Migrate Virtual Machine。
13.3.1.2. 使用 CLI 启动实时迁移 复制链接链接已复制到粘贴板!
您可以使用命令行启动虚拟机(VM)的实时迁移,为虚拟机创建 VirtualMachineInstanceMigration 对象。
先决条件
-
已安装 OpenShift CLI(
oc)。 -
您有
kubevirt.io:migrateRBAC 角色或集群管理员。
流程
为您要迁移的虚拟机创建
VirtualMachineInstanceMigration清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建对象:
oc create -f <migration_name>.yaml
$ oc create -f <migration_name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow VirtualMachineInstanceMigration对象会触发虚拟机的实时迁移。只要虚拟机实例在运行,该对象便始终存在于集群中,除非手动删除。
验证
运行以下命令来获取虚拟机状态:
oc describe vmi <vm_name> -n <namespace>
$ oc describe vmi <vm_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.3.2. 取消实时迁移 复制链接链接已复制到粘贴板!
13.3.2.1. 使用 Web 控制台取消实时迁移 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform web 控制台取消虚拟机的实时迁移。
先决条件
-
您有
kubevirt.io:migrateRBAC 角色或集群管理员。
流程
-
在 web 控制台中进入到 Virtualization
VirtualMachines。 -
在虚拟机的 Options 菜单
中选择 Cancel Migration。
13.3.2.2. 使用 CLI 取消实时迁移 复制链接链接已复制到粘贴板!
通过删除与迁移关联的 VirtualMachineInstanceMigration 对象来取消虚拟机的实时迁移。
先决条件
-
已安装 OpenShift CLI(
oc)。 -
您有
kubevirt.io:migrateRBAC 角色或集群管理员。
流程
删除触发实时迁移的
VirtualMachineInstanceMigration对象,本例中为migration-job:oc delete vmim migration-job
$ oc delete vmim migration-jobCopy to Clipboard Copied! Toggle word wrap Toggle overflow