Create an image (nova)You can use the nova client to create an image
of a running instance.Use nova image-create
to create a snapshot, and nova backup
to backup an instance. Both commands result in a snapshot creation,
though the backuping operation provides a mechanism for the
automatic rotation of the snapshots.Create a snapshotTo minimize the potential for data loss and ensure that you create an accurate image, you
should shut down the instance before you take a snapshot.Write any buffered data to disk.For more information, see Taking Snapshots in the OpenStack Operations
Guide.List instances to get the server name:$nova list+--------------------------------------+----------------------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+----------------------+--------+------------+-------------+------------------+
| 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 | myCirrosServer | ACTIVE | None | Running | private=10.0.0.3 |
+--------------------------------------+----------------------+--------+------------+-------------+------------------+In this example, the instance is named myCirrosServer.Use this instance to create a snapshot:$nova image-create myCirrosServer myCirrosImageThe command creates a snapshot and automatically uploads the image to your
repository.For snapshots that you create from an instance that was booted from a
volume:The snapshot is based on the volume that is attached to the instance
through the Block Storage service.No data is uploaded to the Image service.You can find information about the snapshot in the properties of the
image.Get details for your image to check its status:$nova image-show myCirrosImage+-------------------------------------+--------------------------------------+
| Property | Value |
+-------------------------------------+--------------------------------------+
| metadata owner_id | 66265572db174a7aa66eba661f58eb9e |
| minDisk | 0 |
| metadata instance_type_name | m1.small |
| metadata instance_type_id | 5 |
| metadata instance_type_memory_mb | 2048 |
| id | 7e5142af-1253-4634-bcc6-89482c5f2e8a |
| metadata instance_type_root_gb | 20 |
| metadata instance_type_rxtx_factor | 1 |
| metadata ramdisk_id | 3cf852bd-2332-48f4-9ae4-7d926d50945e |
| metadata image_state | available |
| metadata image_location | snapshot |
| minRam | 0 |
| metadata instance_type_vcpus | 1 |
| status | ACTIVE |
| updated | 2013-07-22T19:46:42Z |
| metadata instance_type_swap | 0 |
| metadata instance_type_vcpu_weight | None |
| metadata base_image_ref | 397e713c-b95b-4186-ad46-6126863ea0a9 |
| progress | 100 |
| metadata instance_type_flavorid | 2 |
| OS-EXT-IMG-SIZE:size | 14221312 |
| metadata image_type | snapshot |
| metadata user_id | 376744b5910b4b4da7d8e6cb483b06a8 |
| name | myCirrosImage |
| created | 2013-07-22T19:45:58Z |
| metadata instance_uuid | 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 |
| server | 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 |
| metadata kernel_id | df430cc2-3406-4061-b635-a51c16e488ac |
| metadata instance_type_ephemeral_gb | 0 |
+-------------------------------------+--------------------------------------+The image status changes from SAVING to
ACTIVE. Only the tenant who creates the image has access to
it.To launch an instance from your image, include the image ID and flavor ID, as in the
following example:$nova boot newServer --image 7e5142af-1253-4634-bcc6-89482c5f2e8a \
--flavor 3+-------------------------------------+--------------------------------------+
| Property | Value |
+-------------------------------------+--------------------------------------+
| OS-EXT-STS:task_state | scheduling |
| image | myCirrosImage |
| OS-EXT-STS:vm_state | building |
| OS-EXT-SRV-ATTR:instance_name | instance-00000007 |
| flavor | m1.medium |
| id | d7efd3e4-d375-46d1-9d57-372b6e4bdb7f |
| security_groups | [{u'name': u'default'}] |
| user_id | 376744b5910b4b4da7d8e6cb483b06a8 |
| OS-DCF:diskConfig | MANUAL |
| accessIPv4 | |
| accessIPv6 | |
| progress | 0 |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-AZ:availability_zone | nova |
| config_drive | |
| status | BUILD |
| updated | 2013-07-22T19:58:33Z |
| hostId | |
| OS-EXT-SRV-ATTR:host | None |
| key_name | None |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| name | newServer |
| adminPass | jis88nN46RGP |
| tenant_id | 66265572db174a7aa66eba661f58eb9e |
| created | 2013-07-22T19:58:33Z |
| metadata | {} |
+-------------------------------------+--------------------------------------+Create a backupThe nova backup command creates a backup of
an instance. It takes several positional arguments. Apart from the
name or ID of a source instance, and the name of the resulting
back-up image, it requires the backup-type
argument with the possible values daily or
weekly, and the rotation
argument. The rotation number is an integer standing for the number
of back-up images (associated with a single instance) to keep
around. If this number exceeds the rotation threshold, the excess
backups are deleted automatically.To create a back-up type snapshot of the
myCirrosServer instance, pass the following
command:$nova backup myCirrosServer myCirrosServer_backup daily 1On the execution of the command above, OpenStack Compute
sorts all the images of a daily back-up type by the
created_at attribute, leaves the latest one,
and discards other back-up images form the list, thereby
ensuring automatic rotation of the backups.As well as a snapshot, a back-up type image is
accessible only for the tenant it is created under.
Ensure that the back-up image is created:$nova image-list+--------------------------------------+-----------------------+--------+---------------------------------------+
| ID | Name | Status | Server |
+--------------------------------------+-----------------------+--------+---------------------------------------+
| e4a0105d-b4d9-44f5-95ff-89d789f251cd | myCirrosServer_backup | ACTIVE | 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 |
+--------------------------------------+-----------------------+--------+---------------------------------------+Get details for your image by passing the command:$nova image-show myCirrosServer_backupUse the nova boot command to launch an
instance from the backup image:$nova boot newServer_from_backup --image e4a0105d-b4d9-44f5-95ff-89d789f251cd \
--flavor 3