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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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]
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]
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
veeamconfig ui
veeamconfig ui
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:

 

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
uname -r
uname -r
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.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cat /etc/apt/sources.list
cat /etc/apt/sources.list
cat /etc/apt/sources.list

Here is our output

 

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
lsb_release -cs
lsb_release -cs
lsb_release -cs

Output

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
buster
buster
buster

 

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt-get update
sudo apt-get update
sudo apt-get update

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
modprobe veeamsnap
modprobe veeamsnap
modprobe veeamsnap
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
root@server:~# modprobe veeamsnap
modprobe: FATAL: Module veeamsnap not found in directory /lib/modules/4.19.0-23-amd64
root@server:~# modprobe veeamsnap modprobe: FATAL: Module veeamsnap not found in directory /lib/modules/4.19.0-23-amd64
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt install linux-headers-$(uname -r)
sudo apt install linux-headers-$(uname -r)
sudo apt install linux-headers-$(uname -r)

This should be the output:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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) ...
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) ...
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
modprobe veeamsnap
modprobe veeamsnap
modprobe veeamsnap

It shouldn’t throw out an answer.

 

Lets do a dkms status:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dkms status
dkms status
dkms status
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
root@server:/etc/apt/sources.list.d# dkms status
veeamsnap, 6.0.0.1060, 4.19.0-23-amd64, x86_64: installed
root@server:/etc/apt/sources.list.d# dkms status veeamsnap, 6.0.0.1060, 4.19.0-23-amd64, x86_64: installed
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 *