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.