Initiating and canceling live migration
To move a running virtual machine (VM) to a different node without interrupting the workload, you can initiate a live migration. You can also cancel an ongoing migration to keep the VM on its original node.
You can initiate the live migration of a virtual machine (VM) to another node by using the OpenShift Container Platform web console or the command line.
You can cancel a live migration by using the web console or the command line. The VM remains on its original node.
Tip
You can also initiate and cancel live migration by using the virtctl migrate <vm_name> and virtctl migrate-cancel <vm_name> commands.
Initiating live migration
Initiating live migration by using the web console
You can live migrate a running virtual machine (VM) to a different node in the cluster by using the OpenShift Container Platform web console.
Note
The Migrate action is visible to all users but only cluster administrators can initiate a live migration.
-
You have the
kubevirt.io:migrateRBAC role or you are a cluster administrator. -
The VM is migratable.
-
If the VM is configured with a host model CPU, the cluster has an available node that supports the CPU model.
-
Navigate to Virtualization → VirtualMachines in the web console.
-
Take either of the following steps:
-
Click the Options menu
beside the VM you want to migrate, hover over the Migrate option, and select Compute.
-
Open the VM details page of the VM you want to migrate, click the Actions menu, hover over the Migrate option, and select Compute.
-
-
In the Migrate Virtual Machine to a different Node dialog box, select either Automatically Selected Node or Specific Node.
-
If you selected the Specific Node option, choose a node from the list.
-
-
Click Migrate Virtual Machine.
Initiating live migration by using the CLI
You can initiate the live migration of a running virtual machine (VM) by using the command line to create a VirtualMachineInstanceMigration object for the VM.
-
You have installed the OpenShift CLI (
oc). -
You have the
kubevirt.io:migrateRBAC role or you are a cluster administrator.
-
Create a
VirtualMachineInstanceMigrationmanifest for the VM that you want to migrate:apiVersion: kubevirt.io/v1 kind: VirtualMachineInstanceMigration metadata: name: <migration_name> spec: vmiName: <vm_name> -
Create the object by running the following command:
$ oc create -f <migration_name>.yamlThe
VirtualMachineInstanceMigrationobject triggers a live migration of the VM. This object exists in the cluster for as long as the virtual machine instance is running, unless manually deleted.
-
Obtain the VM status by running the following command:
$ oc describe vmi <vm_name> -n <namespace>Example output:
# ... Status: Conditions: Last Probe Time: <nil> Last Transition Time: <nil> Status: True Type: LiveMigratable Migration Method: LiveMigration Migration State: Completed: true End Timestamp: 2018-12-24T06:19:42Z Migration UID: d78c8962-0743-11e9-a540-fa163e0c69f1 Source Node: node2.example.com Start Timestamp: 2018-12-24T06:19:35Z Target Node: node1.example.com Target Node Address: 10.9.0.18:43891 Target Node Domain Detected: true
Canceling live migration
Canceling live migration by using the web console
You can cancel the live migration of a virtual machine (VM) by using the OpenShift Container Platform web console.
-
You have the
kubevirt.io:migrateRBAC role or you are a cluster administrator.
-
Navigate to Virtualization → VirtualMachines in the web console.
-
Select Cancel Migration on the Options menu
beside a VM.
Canceling live migration by using the CLI
Cancel the live migration of a virtual machine by deleting the
VirtualMachineInstanceMigration object associated with the migration.
-
You have installed the OpenShift CLI (
oc). -
You have the
kubevirt.io:migrateRBAC role or you are a cluster administrator.
-
Delete the
VirtualMachineInstanceMigrationobject that triggered the live migration,migration-jobin this example:$ oc delete vmim migration-job