If you want to use a linux server as a backup repository in Veeam, the requirements are pretty simple: bash shell, SSH and Perl.
At first sight, it seems a pretty easy configuration, and basically all linux distribution have all of them already available. However, the requirement for “perl” is not so clear, because together with the Perl core binaries, Veeam linux datamover also requires some specific Perl modules in order to work. The complete list can be obtained by reading the veeam_soap.tar file:
constant
Carp
Cwd
Data::Dumper
Encode
Encode::Alias
Encode::Config
Encode::Encoding
Encode::MIME::Name
Exporter
Exporter::Heavy
File::Path
File::Spec
File::Spec::Unix
File::Temp
List::Util
Scalar::Util
Socket
Storable
threads
In earlier CentOS/RedHat releases, the Perl rpm installation installed also many dependencies, and because of that this installation was enough to have a working Linux repository. With CentOS 7, things have changed a little bit, and now the default Perl installation is not enough. If you just install Perl, you will be able to connect to the Linux machine and deploy the runtime, but the scan for disk resources will spin for some minutes:
Before eventually failing:
This is because one of the Perl module is now missing in CentOS 7, specifically:
Data::Dumper
The solution is pretty simple, you just have to install the missing module:
yum install -y perl-Data-Dumper
When hitting the Populate button, this time Veeam will be able to llist all the available mount points:
Now the CentOS 7 machine is ready to be used as a Veeam repository.
If you are going to use another Linux distribution, and the Veeam runtime is not working, check first you have all the required Perl modules.