Architecture
Bacula Enterprise Openstack-VM Plugin is a Bacula File Daemon plugin built over Openstack Cinder-Backup service.
All information is obtained using a custom implementation of a Cinder-Backup driver feeding data from Openstack to Bacula or the other way around.
Below, there is a simplified vision of the architecture of this plugin within a generic Bacula Enterprise deployment:
Cinder Bacula Driver Backup
During volume backup operations, for every file to backup, the bacula driver will:
Keep track of backup file name
Snapshot volume
Create a FIFO (named pipe) from Openstack to Bacula
Send relevant command to Bacula to synchronize the named pipe
Return opened FIFO for Cinder to write into.
Once all files are backed up, the process must be stopped by:
Closing the named pipe
Gathering logs from Bacula
Checking the list of backup files and job statuses
Deleting the named pipe.
Cinder Bacula Driver Restore
During volume restore operation, the bacula driver will communicate with Bacula through two different channels.
The first instance will handle the restore procedure by performing the process analog to backup apart for the fact the Cinder will read into the named pipe.
The closing process is also analog to the backup process.
The second instance will provide Cinder with the list of restored files to compare with its own file list by:
Opening the named pipe to Bacula.
Gathering the backup job file list.
Returning curated output to Cinder for control.
Encrypted Volume Support
Volumes encrypted with LUKS
are supported by the Cinder driver API.
However, the encryption keys usually managed by the Openstack Barbican service should be
backed up separately following the Openstack backup procedure.
https://docs.openstack.org/operations-guide/ops-backup-recovery.html
See also
Go back to the main Openstack VM page.