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/kmod-veeamsnap-3.0.2.1190-1.el7.x86_64.rpm

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.  

 

Return to Documentation Home I Return to Sangoma Support