How-to
Back up a volume¶
Back up a volume to a full copy held apart from it, restore the backup to a new volume, and delete backups you no longer need.
A backup copies every block of the volume to the backup service. Unlike a snapshot, it doesn't depend on the volume: it stays when the volume is deleted, and you can restore it to a new volume at any time.
| Snapshot | Backup | |
|---|---|---|
| Kept | On the same storage as the volume | Apart from the volume |
| After the volume is deleted | Can't happen: delete the snapshots first | Still there |
| Speed | Quick | Takes longer the larger the volume |
| Use it for | Rolling back a change | Recovering lost data |
The Breqwatr Cloud Portal (Strata) has no backup screens, so use the OpenStack CLI.
Before you start¶
- A volume, attached or not.
- The OpenStack CLI: see Install the OpenStack CLI.
- For a consistent backup of an attached volume, prepare the application as for a snapshot: see Volume snapshots.
Create a backup¶
openstack --os-cloud <cloud-name> volume backup create data-volume \
--name data-volume-2026-11-01 --description "Before the upgrade" --force
--force is needed when the volume is attached. The backup is ready when its status is available:
Incremental backups¶
After the first full backup, --incremental copies only what's changed since the last backup:
openstack --os-cloud <cloud-name> volume backup create data-volume \
--name data-volume-2026-11-02 --incremental --force
An incremental backup depends on the backups before it. A backup that others depend on can't be deleted until they are.
Restore a backup¶
Restoring makes a new volume from the backup.
The second name is the new volume's. Restoring an incremental backup restores the volume as it was at that backup.
Make a volume from the backup's ID, from openstack --os-cloud <cloud-name> volume backup show data-volume-2026-11-01 -c id:
resource "openstack_blockstorage_volume_v3" "data_restored" {
name = "data-volume-restored"
size = 10
backup_id = "<backup-id>"
lifecycle {
ignore_changes = [backup_id]
}
}
size is at least the backup's size. The provider doesn't read backup_id back from the volume, so without ignore_changes every plan replaces the volume.
When the volume's status is available, attach it and mount it. It already has the filesystem, with the same UUID as the original's.
Delete a backup¶
openstack --os-cloud <cloud-name> volume backup list
openstack --os-cloud <cloud-name> volume backup delete data-volume-2026-11-02
Delete incremental backups newest first, and the full backup they depend on last.
Check it worked¶
openstack --os-cloud <cloud-name> volume backup listshows the backup with the statusavailable.- A volume restored from it holds the same files as the original did at the time of the backup. Test a restore before you rely on the backups.
Related¶
- Reliability: snapshots, backups and testing the restore.
- Volume snapshots: a quick copy before a change.
- Rebuild, don't repair: data kept on a volume of its own.