Pre-requisite: EWC - OpenStack Command-Line client
General
When backing up resources in OpenStack, it's important to understand the difference between two primary methods:
- VM Images (Glance): These capture the entire virtual machine, including the operating system, applications, and configuration. VM images are useful for cloning VMs, creating templates, or disaster recovery scenarios. They're managed through the Glance service.
- Volume Backups (Cinder): These are point-in-time copies of block storage volumes. Volume backups preserve the data within a volume and can be used to restore the volume to the exact state it was in when backed up. They're ideal for data recovery and are managed through the Cinder service.
Choose the appropriate method based on your recovery needs: volume backups for data recovery, VM images for full system recovery or replication.
Before starting make sure you are in the machine where you configured openstack client and you can run openstack commands as described in EWC - OpenStack Command-Line client
VM Images Backup
List available image
To list all available images:
openstack image list
Creating VM Images Snapshots
The following command creates the image SERVER by taking a snapshot of a running server.
openstack server image create --name IMAGE_NAME SERVER
Where:
--name IMAGE_NAME: The name for the new image snapshotSERVER: The name of your server (as given by openstack server list).
Restoring VMs from Images
OpenStack provide a mechanism to replace the underlying disk of an existing VM with an image without creating a new VM instance running the following command:
openstack server rebuild VM-NAME --image IMAGE_ID
where
VM-NAME: The name of the existing VM
IMAGE_ID: Name of the backup image of the VM you created before
Volume Backups
List available backups
To list all available backups in your cloud, you can use the following command:
openstack volume backup list
Additionally, you can filter the results with additional options to list backups for a specific volume:
openstack volume backup list --volume VOLUME_ID
Creating Backups
To create a backup of a volume:
openstack volume backup create [--incremental] [--force] [--name NAME] VOLUME
Where:
--incremental:Create an incremental backup (requires a previous full backup)--force:Create a backup even if the volume is attached--name NAME: Specify a name for the backupVOLUME: The ID or name of the volume to back up
Restoring Backups
- To restore a backup to a new volume, first you need to detach the volume from the VM:
- ssh into your VM
- become root
- unmount the volume
sudo umount --verbose <path-to-volume>
- Then you can restore the backup to the volume with OpenStack (from the machine where you are running Openstack commands):
openstack volume backup restore BACKUP_ID VOLUME_ID
Where:
BACKUP_ID: The ID of the backup to restoreVOLUME_ID: The ID of the volume to restore to (must be at least as large as the original volume)
3. Now, you need to attach the volume again to the VM as explained in `Configuring the extra volume in the instance`.