Veeam for Linux: failed to load module veeamsnap


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:


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] buster main

deb [arch=amd64 by-hash=yes signed-by=/usr/share/keyrings/3cx-archive-keyring.gpg] 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




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

deb buster main contrib non-free
deb-src buster main contrib non-free

deb buster-updates main contrib non-free
deb-src buster-updates main contrib non-free

deb buster-backports main contrib non-free
deb-src buster-backports main contrib non-free

deb buster/updates main contrib non-free
deb-src 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:
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 buster/updates/main amd64 linux-headers-4.19.0-23-common all 4.19.269-1 [8,596 kB]
Get:2 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,, 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 *