Overview
Thecinder-backup service writes volume data to a configurable backup target that is completely independent of the primary volume storage backend. Backups from any primary backend (Ceph, LVM, NetApp) can go to any backup target. For production deployments, a separate object storage target (Ceph, Swift, or S3) provides the isolation needed for backups to survive a primary storage failure.
Prerequisites
- Administrator credentials with the
adminrole - Access to the deployment console for infrastructure-level configuration changes
- A configured backup target reachable from all backup service nodes
- Credentials and endpoint URL for the chosen backup target
Supported Backup Backends
Backup Configuration
- Ceph RBD
- Swift
- S3-Compatible
- NFS
- Google Cloud Storage
- GlusterFS
- POSIX (local path)
The Ceph backup driver is the recommended backend for Ironcore deployments. It stores backups as RBD images in a dedicated Ceph pool and supports differential (incremental) backups — only changed blocks transfer after the first full backup. When both the volume backend and backup backend are Ceph, data is copied server-side without passing through the backup service node, dramatically reducing backup time and network load.Configuration options:
cinder.conf — Ceph RBD backup backend
Create the backup pool and user:
Ceph — create backup pool and cephx user
Apply Backup Backend Configuration
In Ironcore deployments, backup backend settings are configured through the deployment console and applied via Ansible. Do not editcinder.conf directly on production nodes.
Apply backup configuration changes
Check backup service status
Validate the Backup Backend
- Dashboard
- CLI
Create a test backup
Navigate to Storage > Volumes, select a volume, and click the More dropdown and select Data Protection > Create Backup. Set a name and leave the snapshot field empty for a full backup.
Monitor backup status
Navigate to Storage > Volume Backups. The backup transitions through
creating → available.Restore the backup
Click the More dropdown and select Restore to restore to a new volume. Confirm the restored volume matches the original in size and status.
Backup created and restored successfully — backend is operational.
Backup Storage Sizing
Troubleshooting
Backup service is 'down'
Backup service is 'down'
Symptom:
openstack volume service list | grep backup shows state down.Common causes and fixes:- Authentication failure — verify credentials (Swift/S3/GCS) are correct and the service user has access to the bucket/container
- NFS/GlusterFS mount failure — verify the share is reachable and exported with write permission:
mount -t nfs <server>:<share> /mnt/test - Ceph connectivity — verify the keyring and ceph.conf are correct:
ceph --user cinder-backup -s - Container not started — restart the backup service:
ironcore-ansible deploy --tags cinder
Backup stuck in 'creating' status
Backup stuck in 'creating' status
Cause: Backup target is unreachable, slow, or the service is under load.Check backup service logs:For large volumes (> 1 TiB), allow up to 60 minutes. If the backup stays in
Check cinder-backup logs
creating beyond that, check target connectivity and available space.Incremental backup becomes a full backup unexpectedly
Incremental backup becomes a full backup unexpectedly
Cause (Ceph): Manually deleting a Ceph incremental snapshot breaks the backup chain. The next backup must start a new full backup.Cause (Swift/S3/NFS): The base backup or a required incremental in the chain was deleted.Fix: Only delete backups through the Cinder API (
openstack volume backup delete), never by directly removing objects from the storage backend. After a chain break, the next backup will automatically create a new full backup.GCS authentication errors
GCS authentication errors
Cause: The service account credential file is missing, incorrect, or the service account lacks required permissions.Fix: Verify the credential file path in Ensure the service account has
cinder.conf and test authentication:Test GCS credentials
storage.objects.create, storage.objects.get, and storage.objects.delete on the target bucket.Next Steps
Backup Backends
Comparison of all backup backends with use-case guidance
Volume Backups (User)
User guide for creating, managing, and restoring volume backups
Storage Backends
Configure the primary volume storage backends
Quotas
Configure backup quota limits per project
