Veeam for Linux: failed to load module veeamsnap

on

In this case we have a Debian physical server running Veeam Endpoint and saving the backups to a Veeam Backup and Replication server.

Every now and then the Debian server will stop backing up, and we get this error on the console:

1/04/2023 5:30:32 AM :: Failed to load module [veeamsnap] with parameters [zerosnapdata=1 debuglogging=0 snapstore_block_size_pow=14 change_tracking_block_size_pow=18 logdir=/var/log/veeam fixflags=0 logmaxsize=15728640]

On the server, if we run

veeamconfig ui

and check the failed job, it will show the same error as in the veeam console. This is caused by the linux headers used by Veeam on modprobe veeamsnap.

 

To fix this, we will do the following:

Start by checking the version we are running:

 

uname -r

In our case, this returned:

4.19.0-23-amd64

Lets check that the debian repositories were not overwritten or deleted. In our case, this is also a 3CX server which seems to interfere with it.

cat /etc/apt/sources.list

Here is our output

 

deb [arch=amd64 by-hash=yes signed-by=/usr/share/keyrings/3cx-archive-keyring.gpg] http://repo.3cx.com/debian/1807 buster main

deb [arch=amd64 by-hash=yes signed-by=/usr/share/keyrings/3cx-archive-keyring.gpg] http://repo.3cx.com/debian-security/1807 buster main

The only repos we have are from 3CX and these won’t necessary update our kernel headers

To check our release, do a:

lsb_release -cs

Output

buster

 

In this case, we will add the buster repos from Debian by adding

deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free

deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free

deb http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://deb.debian.org/debian buster-backports main contrib non-free

deb http://security.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security/ buster/updates main contrib non-free

 

to the /etc/apt/sources.list file or by creating a separate file on /etc/apt/source.list.d/debian.list

Save and exit.

Lets do an apt-get update:

sudo apt-get update

We can check the current status of the veeamsnap module by running

modprobe veeamsnap
root@server:~# modprobe veeamsnap
modprobe: FATAL: Module veeamsnap not found in directory /lib/modules/4.19.0-23-amd64

 

We can try installing the headers this way:

sudo apt install linux-headers-$(uname -r)

This should be the output:

root@server:/etc/apt/sources.list.d# sudo apt install linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
linux-headers-4.19.0-23-common
The following NEW packages will be installed:
linux-headers-4.19.0-23-amd64 linux-headers-4.19.0-23-common
0 upgraded, 2 newly installed, 0 to remove and 18 not upgraded.
Need to get 9,715 kB of archives.
After this operation, 56.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://security.debian.org/debian-security buster/updates/main amd64 linux-headers-4.19.0-23-common all 4.19.269-1 [8,596 kB]
Get:2 http://security.debian.org/debian-security buster/updates/main amd64 linux-headers-4.19.0-23-amd64 amd64 4.19.269-1 [1,119 kB]
Fetched 9,715 kB in 2s (5,046 kB/s)
Selecting previously unselected package linux-headers-4.19.0-23-common.
(Reading database ... 81263 files and directories currently installed.)
Preparing to unpack .../linux-headers-4.19.0-23-common_4.19.269-1_all.deb ...
Unpacking linux-headers-4.19.0-23-common (4.19.269-1) ...
Selecting previously unselected package linux-headers-4.19.0-23-amd64.
Preparing to unpack .../linux-headers-4.19.0-23-amd64_4.19.269-1_amd64.deb ...
Unpacking linux-headers-4.19.0-23-amd64 (4.19.269-1) ...
Setting up linux-headers-4.19.0-23-common (4.19.269-1) ...
Setting up linux-headers-4.19.0-23-amd64 (4.19.269-1) ...

Here we can see that we finally got our headers installed.

Lets check if a veeam modprobe gives out the right answer:

modprobe veeamsnap

It shouldn’t throw out an answer.

 

Lets do a dkms status:

dkms status
root@server:/etc/apt/sources.list.d# dkms status
veeamsnap, 6.0.0.1060, 4.19.0-23-amd64, x86_64: installed

Now let’s try running another backup.

Leave a Reply

Your email address will not be published. Required fields are marked *