Show Table of Contents
7.8. Migrating VMs from an Overcloud Compute Node
In some situations, you might perform maintenance on an Overcloud Compute node. To prevent downtime, migrate the VMs on the Compute node to another Compute node in the Overcloud using the following procedures.
The director configures all Compute nodes to provide secure migration. All Compute nodes also require a shared SSH key to provide each host's
novauser with access to other Compute nodes during the migration process. The director creates this key automatically.
The latest update of Red Hat OpenStack Platform 7 includes patches required for live migration capabilities. The director's core template collection did not include this functionality in the initial release but is now included in the
openstack-tripleo-heat-templates-0.8.6-135.el7ostpackage and later versions.
Update your environment to use the Heat templates from the
openstack-tripleo-heat-templates-0.8.6-135.el7ostpackage or later versions.
For more information, see "Red Hat OpenStack Platform director (TripleO) CVE-2017-2637 bug and Red Hat OpenStack Platform".
Procedure 7.1. Migrating Virtual Machines from the Compute Node
- From the director, source the
overcloudrcand obtain a list of the current Nova services:
$ source ~/stack/overcloudrc $ nova service-list
- Disable the
nova-computeservice on the node to migrate.
$ nova service-disable [hostname] nova-computeThis prevents new VMs from being scheduled on it.
- Begin the process of migrating VMs off the node:
$ nova host-servers-migrate [hostname]
- The current status of the migration process can be retrieved with the command:
$ nova migration-list
- When migration of each VM completes, its state in Nova will change to
VERIFY_RESIZE. This gives you an opportunity to confirm that the migration completed successfully, or to roll it back. To confirm the migration, use the command:
$ nova resize-confirm [server-name]
This migrates all VMs from a host. You can now perform maintenance on the host without any instance downtime. To return the host to an enabled state, run the following command:
$ nova service-enable [hostname] nova-compute