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 snapshot To 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 myCirrosImage The 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 backup The 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 1 On 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_backup Use 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