This Quick Guide describes the XenServer Hypervisor Backup and Restore Enterprise Bacula implementation process.
The Plugin provides clientless image-level Virtual Machines backup and recovery, simplifying the data protection of critical applications. Features:
- Snapshot-based online backup of any guest VM
- Differential, Incremental and Full backup levels
- VSS-based guest snapshots for quiescing VSS-based applications
- Full image-level backup
- Block-level deduplication with Enterprise Bacula Drivers
- Virtual Machine image automatic full restore
- VM archive (.xva) restore to an alternate directory
Bacula Xen Plugin doesn’t need to walk through the Client filesystem to open/read/close/stat files, so it consumes fewer resources on your XenServer infrastructure than a file level backup on each guest machine would.
You have to install and configure the Bacula Client and the Plugin on your XenServer hypervisor machine which hosts your virtual guest VMs that you want to backup. The XenServer hypervisor uses a customized CentOS distribution (RHEL derivative), so you need to install the Bacula Enterprise File Daemon (client) compatible with that Linux distribution.
You can install the Client and Plugin by extending the repository file for your package manager to contain a section for the plugin. For example, in
Redhat/CentOS 7, /etc/yum.repos.d/bacula.repo, replacing the @customer-string@ for the exclusive Enterprise Bacula customer code, and @version@ for the desired Bacula version:
[Bacula] name=Bacula Enterprise Edition baseurl=https://www.baculasystems.com/dl/@customer-string@/rpms/bin/@version@/rhel7-64/ enabled=1 protect=0 gpgcheck=0 [BEEXenPlugin] name=BEE XenServer Plugin baseurl=https://www.baculasystems.com/dl/@customer-string@/rpms/xenserver/@version@/rhel7-64/ enabled=1 protect=0 gpgcheck=0
Alternatively, it is possible to manually download the Bacula Client and Plugin necessary packages and installing with the rpm command. E.g.:
rpm -ivh bacula-enterprise-client-10.0.2-1.el7.x86_64.rpm rpm -ivh bacula-enterprise-libs-10.0.2-1.el7.x86_64.rpm rpm -ivh bacula-enterprise-xenserver-plugin-10.0.2-1.el7.x86_64.rpm
Configure your Bacula Client according to your Bacula Director actual name and connection password, as any other ordinary one. Attach is to your Bacula Director, using bweb for example (new Client creation).
As shown in Figure 1, create a new FileSet using bweb and using the following Include Plugin Options:
Figure 1. bweb Xen Plugin Include Options for All VMs Backup
The xenserver: simple specification will try to backup all host Virtual Machines.
One or a few machines can be selected for backup by name or uuid:
xenserver: vm=vm_name1 xenserver: uuid=fe1ccf3b-1865-3942-c928-d98138397ff1
Machines names with a given prefix may be included. E.g.:
And machine names with a given prefix may also be excluded:
xenserver: include=.* exclude=^Test
The password= and username= options can be used to access the XenServer API system or even the path for a passfile=. For a full list of options and more examples, obtain the referenced white paper.
Save the FileSet.
Create an ordinary Bacula Job, associating it with the Xen host Backup Client and newly created FileSet.
Apply changes and run a test backup job.
The Bacula where= restore option defines the restoration behavior.
If where=/ (origin), the Virtual Machine will be automatically to the hypervisor, and it is possible to change some plugin options such as of preserve, in order to keep current VM configuration parameters. The storage_res specifies the Xen storage for restore.
If where=/directory is defined, the VM disks and configuration are restored to the specified path.
XenServer Hypervisor Backup – Bacula Enterprise Edition. https://baculasystems.com