The Ceph backup driver backs up volumes of any type to a Ceph back-end store. The driver can also detect whether the volume to be backed up is a Ceph RBD volume, and if so, it tries to perform incremental and differential backups.
For source Ceph RBD volumes, you can perform backups within the same Ceph pool (not recommended). You can also perform backups between different Ceph pools and between different Ceph clusters.
At the time of writing, differential backup support in Ceph/librbd was quite new. This driver attempts a differential backup in the first instance. If the differential backup fails, the driver falls back to full backup/copy.
If incremental backups are used, multiple backups of the same volume are stored as snapshots so that minimal space is consumed in the backup store. It takes far less time to restore a volume than to take a full copy.
Block Storage enables you to:
To enable the Ceph backup driver, include the following option in the
backup_driver = cinder.backup.drivers.ceph
The following configuration options are available for the Ceph backup driver.
|Configuration option = Default value||Description|
||(Integer) The chunk size, in bytes, that a backup is broken into before transfer to the Ceph object store.|
||(String) Ceph configuration file to use.|
||(String) The Ceph pool where volume backups are stored.|
||(Integer) RBD stripe count to use when creating a backup image.|
||(Integer) RBD stripe unit to use when creating a backup image.|
||(String) The Ceph user to connect with. Default here is to use the same user as for Cinder volumes. If not using cephx this should be set to None.|
||(Boolean) If True, always discard excess bytes when restoring volumes i.e. pad with zeroes.|
This example shows the default options for the Ceph backup driver.
backup_ceph_conf=/etc/ceph/ceph.conf backup_ceph_user = cinder-backup backup_ceph_chunk_size = 134217728 backup_ceph_pool = backups backup_ceph_stripe_unit = 0 backup_ceph_stripe_count = 0