Import the user guide cli-use-snapshots-to-migrate-instances available on the old openstack-manuals repository. This user guide describe how to migrate an instance based on a cloud to another. It is updated with openstack cli commands. Change-Id: I17c87ee90b3d271a54026b8bdbad066bdc750c38
5.1 KiB
Use snapshots to migrate instances
This guide can be used to migrate an instance between different clouds.
To use snapshots to migrate instances from OpenStack projects to clouds, complete these steps.
In the source project:
Create_a_snapshot_of_the_instance
Download_the_snapshot_as_an_image
In the destination project:
Import_the_snapshot_to_the_new_environment
Boot_a_new_instance_from_the_snapshot
Note
Some cloud providers allow only administrators to perform this task.
Create a snapshot of the instance
Shut down the source VM before you take the snapshot to ensure that all data is flushed to disk. If necessary, list the instances to view the instance name:
$ openstack server list +--------------------------------------+------------+--------+------------------+--------------------+-------------------------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+------------+--------+------------------+--------------------+-------------------------+ | d0d1b7d9-a6a5-41d3-96ab-07975aadd7fb | myInstance | ACTIVE | private=10.0.0.3 | ubuntu-16.04-amd64 | general.micro.tmp.linux | +--------------------------------------+------------+--------+------------------+--------------------+-------------------------+
Use the
openstack server stop
command to shut down the instance:$ openstack server stop myInstance
Use the
openstack server list
command to confirm that the instance shows aSHUTOFF
status:$ openstack server list +--------------------------------------+------------+---------+------------------+--------------------+-------------------------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+------------+---------+------------------+--------------------+-------------------------+ | d0d1b7d9-a6a5-41d3-96ab-07975aadd7fb | myInstance | SHUTOFF | private=10.0.0.3 | ubuntu-16.04-amd64 | general.micro.tmp.linux | +--------------------------------------+------------+---------+------------------+--------------------+-------------------------+
Use the
openstack server image create
command to take a snapshot:$ openstack server image create --name myInstanceSnapshot myInstance
Use the
openstack image list
command to check the status until the status isACTIVE
:$ openstack image list +--------------------------------------+---------------------------+--------+ | ID | Name | Status | +--------------------------------------+---------------------------+--------+ | ab567a44-b670-4d22-8ead-80050dfcd280 | myInstanceSnapshot | active | +--------------------------------------+---------------------------+--------+
Download the snapshot as an image
Get the image ID:
$ openstack image list +--------------------------------------+---------------------------+--------+ | ID | Name | Status | +--------------------------------------+---------------------------+--------+ | ab567a44-b670-4d22-8ead-80050dfcd280 | myInstanceSnapshot | active | +--------------------------------------+---------------------------+--------+
Download the snapshot by using the image ID that was returned in the previous step:
$ openstack image save --file snapshot.raw ab567a44-b670-4d22-8ead-80050dfcd280
Note
The
openstack image save
command requires the image ID and cannot use the image name. Check there is sufficient space on the destination file system for the image file.Make the image available to the new environment, either through HTTP or direct upload to a machine (
scp
).
Import the snapshot to the new environment
In the new project or cloud environment, import the snapshot:
$ openstack image create --container-format bare --disk-format qcow2 \
--file snapshot.raw myInstanceSnapshot
Boot a new instance from the snapshot
In the new project or cloud environment, use the snapshot to create the new instance:
$ openstack server create --flavor m1.tiny --image myInstanceSnapshot myNewInstance