This Quick Guide presents Enterprise Bacula Proxmox VM Backup Plugin usage techniques and strategies.
The Plugin provides automatic complete virtual machines backup and recovery, including QEMU and LXC guests and other features, as detailed:
- Snapshot-based online backup of any guest VM including QEMU and LXC
- Full image-level backup
- Automatic VMs configuration backup
- Ability to restore complete virtual machine image
- Backups can be performed for guests VMs in any power state (running or stopped)
- Deduplicated backups with Bacula Deduplication Drivers
- Ability to restore QEMU VM archive (.vma) to an alternate directory
- Ability to restore LXC VM archive (.tar) and configuration to an alternate
One of the Plugin advantages is that Bacula doesn’t need to walk through the Client filesystem to open/read/close/stat files, so it consumes fewer resources on your Proxmox infrastructure than a file level traditional backup on each guest machine would.
The Proxmox Plugin must be installed on the Proxmox hypervisor machine which hosts your virtual guests VMs that you want to backup, and where a Bacula File Daemon (client) is already installed and configured.
You can install the Enterprise Bacula Proxmox Plugin by extending the repository file for your package manager to contain a section for the plugin. For example, in Debian /etc/apt/sources.list.d/bacula.list, replacing the customer code, Debian and Enterprise Bacula desired versions:
# Debian Bacula Enterprise deb https://www.baculasystems.com/dl/@customer-string@/debs/bin/10.0.2/stretch-64/ stretch main deb https://www.baculasystems.com/dl/@customer-string@/debs/proxmox/10.0.2/stretch-64/ stretch proxmox
Update apt and install the package:
apt-get update && apt-get install bacula-enterprise-proxmox-plugin
If you prefer to manually install the packages, you can also download them from your download area and use dpkg to perform the plugin installation. E.g.
dpkg -i bacula-enterprise-proxmox-plugin_10.0.2-1_amd64.deb
Restart the Bacula Client in order to load the plugin:
service bacula-fd restart
As shown in Figure 1, use bweb Bacula Configuration module to create a new FileSet. Edit its Include Plugin Options. The simple “proxmox:” specification enables all Client Virtual Machines backup.
Figure 1. bweb Proxmox all Virtual Machines backup
In order to perform specific VMs backups, their name can be used as a filter:
proxmox: vm=vmname1 proxmox: vm=vmname2
The VMs ID can also be used:
proxmox: vmid=101 proxmox: vmid=102
A string can be used to match VM names (e.g. all containing the Linux word).
Include all VMs and exclude a few by that begins with the Windows word:
proxmox: include=.* exclude=^Windows
Save the new FileSet.
Create a new backup Job for Proxmox, using its Client and newly created FileSet. Save and apply changes.
Run a test backup job.
The where= Bacula restore option defines the type of Virtual Machine restoration.
If where=/ (origin), the Virtual Machine will be restored to Proxmox hypervisor.
If where=/directory, the Virtual Machine disks and configuration will be restored to the defined directory.
Proxmox Backup – Bacula Enterprise Edition White Paper. http://baculasystems.com