Skip to content

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

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:

openstack --os-cloud <cloud-name> volume backup show data-volume-2026-11-01 -c status -c size

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.

openstack --os-cloud <cloud-name> volume backup restore data-volume-2026-11-01 data-volume-restored

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 list shows the backup with the status available.
  • 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.