Veeam Agent Installation for CentOS 8 Stream
Overview
This document is for installing the Veeam Backup Agent Linux on CentOS 8 Stream
Procedure
OS: CentOS is 8 Stream, running kernel 4.18.0-500.el8.x86_64
Veeam repository: veeam-release-el8-1.0.8-1.x86_64.rpm
Veeam Agent: veeam-6.0.3.1221-1.el8.x86_64
Step 1: Download Veeam repository:
The Veeam repository for Linux can be found at Index of /backup/linux/agent/rpm/el/8/x86_64/. On this page select "veeam-release-el8-1.0.8-1.x86_64.rpm".

Step 2: Install Veeam:
This will download an RPM file. It is likely that you will be unable to download this directly from this page to your Linux machine, as your server will most likely not have a GUI and a web browser. To get around this it is best to download the RPM to your workstation, then use WinSCP or MobaXterm to copy the RPM file to your server via SSH.
Once the RPM is on your server, install it.
# dnf clean all
# rpm -hi veeam-release-el8-1.0.8-1.x86_64.rpm
# dnf install -y veeam
This will install the required packages for the Veeam agent, including a kmod-veeamsnap package; however, you will notice that there are still issues with the Linux kernel module for veeamsnap. If we inspect the files installed with kmod-veeamsnap, and compare it with our current kernel version, we can see that the kernel module is not installed for our version. The difference is very minute.
[root@centos8 ~]# uname -r
4.18.0-500.el8.x86_64
[root@centos8 ~]# dnf download kmod-veeamsnap
Last metadata expiration check: 0:32:53 ago on Mon 07 Aug 2023 04:10:27 PM +07.
kmod-veeamsnap-6.0.3.1221-1.el8.x86_64.rpm
[root@centos8 ~]# rpm -qlp kmod-veeamsnap-6.0.3.1221-1.el8.x86_64.rpm | grep ko$
/lib/modules/4.18.0-147.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-193.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-240.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-305.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-348.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-372.9.1.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-425.10.1.el8_7.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-425.3.1.el8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-477.10.1.el8_8.x86_64/extra/veeamsnap.ko
/lib/modules/4.18.0-80.el8.x86_64/extra/veeamsnap.ko
From this, we can see that the kernel module was installed for 4.18.0-477.10.1.el8_7.x86_64, but our current kernel is 4.18.0-500.el8.x86_64.
Without this kernel module, our agent based Veeam backups will fail.
We can confirm that this module has not loaded by running lsmod, and grepping for Veeam. We will see that grep returns 0 lines of output.
[root@centos8 ~]# lsmod | grep veeam -c
0
Fortunately, the difference in these kernel versions is small enough that the veeamsnap.ko file will still work for us.
First, we must create the /extra/ directory for our kernel version, then copy the kernel module to this directory.
[root@centos8 ~]# mkdir -p /lib/modules/$(uname -r)/extra
[root@centos8 ~]# cp /lib/modules/4.18.0-477.10.1.el8_7.x86_64/extra/veeamsnap.ko /lib/modules/$(uname -r)/extra/.
[root@centos8 ~]# ls /lib/modules/$(uname -r)/extra
veeamsnap.ko
Step 3: Insert module veeamsnap:
Important: If the server boots with Secure Boot, we can’t insert the module → Must run step 3 on Secure Boot below first.
We need to load the module into the currently running kernel using insmod:
[root@centos8 ~]# insmod /lib/modules/$(uname -r)/extra/veeamsnap.ko
[root@centos8 ~]# lsmod | grep veeam
veeamsnap 225280 0
At this point, our agent based backups will run fine; however, the loaded module will not persist if we reboot. We will need to create a file called /etc/modules-load.d/veeam.conf, and make sure that it has the name of the kernel module in it. We will also need to run depmod to add the loaded kernel module into the kernel module dependencies list.
[root@centos8 ~]# depmod
[root@centos8 ~]# echo veeamsnap > /etc/modules-load.d/veeam.conf
[root@centos8 ~]# cat /etc/modules-load.d/veeam.conf
veeamsnap
Now, once we reboot the CentOS server, the veeamsnap module will automatically be loaded as a kernel module.
[root@centos8 ~]# uptime && lsmod | grep veeam
14:55:59 up 0 min, 1 user, load average: 0.00, 0.00, 0.00
veeamsnap 225280 0
And our agent-based backups will now work correctly.
Last updated