Backing up FreePBX with Veeam
Tested with:
Sangoma Linux 7 (Core) (x86_64)
Kernel version 3.10.0-957.21.3.e17.x86_64
Veeam Backup & Replication_10.0.0.4461_20200401 (Community Edition)
Â
Introduction:
After blowing up my test lab one too many times i decided it was time to get reliable backups and snapshots of FreePBX. However, even though the Veeam console will install the backup agent on FreePBX it always reports a version upgrade is needed and always fails to backup the server.Â
There are a few reasons this happens;
Sangoma Linux is based on CentOS which is based on RHEL. While Veeam seems to be aware of this it still fails to install some dependencies. (Worth noting that i see similar issues in stock CentOS)
There are several versions of the Veeam agent for linux and the server seems to consistently choose the wrong one.
This document will describe how to manually install the Veeam client on a stock FreePBX server so that you can run backups without issue. This has been tested in a home lab and shown to work.
Â
******************************************************************************************************************************************************************************
IMPORTANT:Â All commands listed in this document need to be run as root or through sudo.
IMPORTANT: Your results may vary. There are infinite combinations of OS and software that could be in play and no way to test all of them. Try it in a lab or test
environment before you do this in production.
******************************************************************************************************************************************************************************
Missing Dependencies
dkms
kernel-devel
mokutil
gcc
openssl-devel
bzip2-devel
libffi-devel
Python 3
Yum Installable Dependencies
yum install dkms -y
yum install kernel-devel -y
yum install mokutil -y
yum install gcc openssl-devel bzip2-devel libffi-devel -y
Python 3
curl -O https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
tar -xzf Python-3.8.1.tgz
cd Python-3.8.1/
./configure --enable-optimizations
make altinstall
Â
Download and Install the Correct Veeam Client
curl -O http://repository.veeam.com/backup/linux/agent/rpm/el/7/x86_64/veeam-3.0.2.1190-1.el7.x86_64.rpm
Â
******************************************************************************************************************************************************************************
IMPORTANT: The Veeam and VeeamSnap versions are related to the installed kernel version. If there is a later 3.x version available go ahead and try it.
But do NOT grab the 4.x versions. They aren't upgrades of the client they are for higher versions of the Linux kernel.
******************************************************************************************************************************************************************************
rpm -Uvh kmod-veeamsnap-3.0.2.1190-1.el7.x86_64.rpm
rpm -Uvh veeam-3.0.2.1190-1.el7.x86_64.rpm
Â
Create a Veeam Backup User on the FreePBX Server
***replace <username> with the name of the user you want Veeam to connect to the server
***The veeam RPM creates the veeam group but doesn't create the veeam user
***I had to assign Veeam to the root group. That may be unnecessary and risky in your environment.
useradd <username> -g veeam
passwd <username>
usermod <username> -g root
Â
EXAMPLE
useradd veeam -g veeam
passwd veeam
***you'll be prompted for a password
usermod veeam -g root
Â
Conclusion
That's it! The Veeam server should now be happy to backup the FreePBX server and shouldn't report a version mismatch. Â
Â