To use snapshots to migrate instances from OpenStack projects to clouds, complete these steps.
In the source project, perform the following steps:
In the destination project, perform the following steps:
Note | |
---|---|
Some cloud providers allow only administrators to perform this task. |
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 get the instance name.
$ nova list +--------------------------------------+------------+--------+------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+------------+--------+------------------------------+ | c41f3074-c82a-4837-8673-fa7e9fea7e11 | myInstance | ACTIVE | private=10.0.0.3 | +--------------------------------------+------------+--------+------------------------------+
$ nova stop example
Use the nova list command to confirm that the instance shows a
SHUTOFF
status.$ nova list +--------------------------------------+------------+---------+------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+------------+---------+------------------------------+ | c41f3074-c82a-4837-8673-fa7e9fea7e11 | myInstance | SHUTOFF | private=10.0.0.3 | +--------------------------------------+------------+---------+------------------------------+
Use the nova image-create command to take a snapshot. Use the nova image-list command to check the status until the status is
ACTIVE
:$ nova image-create --poll myInstance myInstanceSnapshot Instance snapshotting... 50% complete
$ nova image-list +--------------------------------------+---------------------------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+---------------------------------+--------+--------+ | 657ebb01-6fae-47dc-986a-e49c4dd8c433 | cirros-0.3.2-x86_64-uec | ACTIVE | | | 72074c6d-bf52-4a56-a61c-02a17bf3819b | cirros-0.3.2-x86_64-uec-kernel | ACTIVE | | | 3c5e5f06-637b-413e-90f6-ca7ed015ec9e | cirros-0.3.2-x86_64-uec-ramdisk | ACTIVE | | | f30b204e-1ce6-40e7-b8d9-b353d4d84e7d | myInstanceSnapshot | ACTIVE | | +--------------------------------------+---------------------------------+--------+--------+
Get the image ID:
$ nova image-list +--------------------------------------+-------------------+--------+--------------------------------------+ | ID | Name | Status | Server | +--------------------------------------+-------------------+--------+--------------------------------------+ | f30b204e-1ce6-40e7-b8d9-b353d4d84e7d | myInstanceSnapshot| ACTIVE | c41f3074-c82a-4837-8673-fa7e9fea7e11 | +--------------------------------------+-------------------+--------+--------------------------------------+
Download the snapshot by using the image ID that was returned in the previous step:
$ glance image-download --file snapshot.raw f30b204e-1ce6-40e7-b8d9-b353d4d84e7d
Note The glance image-download command requires the image ID and cannot use the image name.
Ensure 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 with direct upload to a machine (scp).
In the new project or cloud environment, import the snapshot:
$ glance image-create --copy-from IMAGE_URL