Back Up Your OpenStack Volumes Without Downtime: Snapshots, Glance, and Automation
Learn how to back up OpenStack Cinder volumes instantly with snapshots, export them to Glance, and automate the process—complete with commands, trade‑offs, and a step‑by‑step example.
19 Sept 2026, 07:00 UTC

Problem: Backing Up Block Storage Without Disrupting Workloads
Running workloads in OpenStack means you’re constantly writing to Cinder volumes. A simple backup can be costly if it requires stopping the instance or taking a full clone of the storage backend. Many teams need a lightweight, instant way to capture the state of a volume, preserve it for recovery or migration, and keep the application running.
Thesis: Use Cinder Snapshots + Glance Images for Fast, Non‑Disruptive Backups
Cinder snapshots capture a volume’s exact content instantly by delegating to the underlying storage’s native snapshot feature. When you export that snapshot to Glance, you create a portable image that can be used to launch a new instance or migrate data across clouds. Combined with automation through Heat or Telemetry, this workflow keeps backups consistent, isolated, and easy to manage.
1. Snapshot Fundamentals
Snapshots are logical, point‑in‑time copies of a Cinder volume. They are created with the command:
openstack volume snapshot create --volume <volume-id> --name <snapshot-name> --description <desc>
Requirements:
- Run the command on a controller node or any host with the OpenStack client installed.
- You must have
volume:snapshot:createprivileges on the target volume. - Backend support: most block backends (Cinder‑iSCSI, Cinder‑NFS, Cinder‑Ceph, etc.) support thin‑provisioned snapshots. Verify with
openstack volume backend show <backend-name>and check thethin_provisioning_supportflag.
After creation, the snapshot enters a creating state and eventually becomes available. Verify with:
openstack volume snapshot list --status available
2. Exporting Snapshots to Glance
Once a snapshot is available, you can turn it into a Glance image. This image can be used to launch new instances or migrate data. The command is:
openstack image create --volume <snapshot-id> <image-name>
Key points:
- The image inherits the snapshot’s size and format.
- Glance stores the image in the configured image store (e.g., Ceph RBD, Swift).
- After the image appears in
openstack image list, you can delete the snapshot to free space.
3. Automating with Heat or Telemetry
Manual snapshot creation is error‑prone. Heat templates can define snapshot resources and export them automatically. Example snippet:
{
"snapshot": {
"type": "OS::Cinder::VolumeSnapshot",
"properties": {
"volume_id": "${volume_id}",
"name": "daily-backup"
}
},
"image": {
"type": "OS::Glance::Image",
"properties": {
"name": "daily-backup-image",
"volume_id": {"get_resource": "snapshot"}
}
}
}
Telemetry can trigger snapshots on a schedule or in response to events. This reduces manual effort and ensures tenant isolation because each tenant’s snapshots are created under their own project scope.
4. Worked Example: From Volume to New Instance
- Create a 100 GB volume:
openstack volume create --size 100 --name data-vol test-volume - Attach it to an instance:
openstack server add volume <instance-id> <volume-id> - Create a snapshot:
openstack volume snapshot create --volume <volume-id> --name data-vol-snap - Wait for
availablestatus:openstack volume snapshot list --status available - Export snapshot to Glance:
openstack image create --volume <snapshot-id> data-vol-image - Launch a new instance from the image:
openstack server create --image data-vol-image --flavor m1.small --key-name mykey new-instance - Verify data integrity: SSH into
new-instance, mount the attached volume, and compare files with the original instance.
All commands require admin or project‑level privileges. Risks include temporary I/O spikes during snapshot creation and storage overhead from retained snapshots and images. Monitor the cinder-volume and glance-api logs for any errors.
5. Trade‑offs & Limitations
- Performance impact: Snapshot creation can momentarily increase read/write latency. Schedule during low‑usage periods or throttle I/O with Cinder’s
volume_backing_storesettings. - Storage overhead: Each snapshot and exported image consumes space until deleted. Use
openstack quota showto track usage and clean up orphaned snapshots withopenstack volume snapshot delete. - Backend compatibility: Some legacy drivers (e.g., older LVM backends) may not support thin‑provisioned snapshots. Verify
thin_provisioning_supportbefore relying on this method. - Data consistency: Snapshots taken while a VM is running may capture an inconsistent state if the application isn’t quiesced. Use application‑level flushes or LVM snapshots with
–forcefor critical workloads.
Actionable Closing
By following the steps above, you can:
- Instantly capture a volume’s state without stopping the instance.
- Export that state to Glance for portability.
- Automate the entire process with Heat or Telemetry.
- Keep an eye on performance and storage overhead.
Next steps: implement a Heat stack that creates daily snapshots, export them to Glance, and automatically purges images older than 30 days. This keeps your backup pipeline clean and your storage costs in check.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.