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:migrate
RBAC 角色或集群管理员。 - 虚拟机是可迁移的。
- 如果虚拟机配置了主机模型 CPU,集群有一个支持 CPU 模型的可用节点。
流程
-
在 web 控制台中进入到 Virtualization
VirtualMachines。 -
从虚拟机 旁边的 Options 菜单
选择 Migrate。
- 点 Migrate。
13.3.1.2. 使用 CLI 启动实时迁移 复制链接链接已复制到粘贴板!
您可以使用命令行启动虚拟机(VM)的实时迁移,为虚拟机创建 VirtualMachineInstanceMigration
对象。
先决条件
-
已安装 OpenShift CLI(
oc
)。 -
您有
kubevirt.io:migrate
RBAC 角色或集群管理员。
流程
为您要迁移的虚拟机创建
VirtualMachineInstanceMigration
清单:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建对象:
oc create -f <migration_name>.yaml
$ oc create -f <migration_name>.yaml
Copy 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:migrate
RBAC 角色或集群管理员。
流程
-
在 web 控制台中进入到 Virtualization
VirtualMachines。 -
在虚拟机的 Options 菜单
中选择 Cancel Migration。
13.3.2.2. 使用 CLI 取消实时迁移 复制链接链接已复制到粘贴板!
通过删除与迁移关联的 VirtualMachineInstanceMigration
对象来取消虚拟机的实时迁移。
先决条件
-
已安装 OpenShift CLI(
oc
)。 -
您有
kubevirt.io:migrate
RBAC 角色或集群管理员。
流程
删除触发实时迁移的
VirtualMachineInstanceMigration
对象,本例中为migration-job
:oc delete vmim migration-job
$ oc delete vmim migration-job
Copy to Clipboard Copied! Toggle word wrap Toggle overflow