Recovering the Cloud Backup agent after a Linux kernel update
Updating the Linux kernel
This may affect the agent’s performance, since the SnapAPI module (developed by the backup provider for the agent to work with disks and built by the DKMS framework
To restore the Cloud Backup agent’s performance affected by a Linux kernel update, you need to update the version of the Linux kernel headers DKMS refers to when building the SnapAPI module. Once the kernel header version matches the kernel version, DKMS will rebuild the SnapAPI module for the required Linux kernel version at the next start of the resource.
-
Make sure the Linux kernel version does not match that of the kernel headers:
-
To find out the Linux kernel version, run this command in the terminal:
uname -rResult:
6.1.0-31-amd64 -
To find out the version of the Linux kernel headers, run this command:
sudo apt list --installed | grep headerResult:
linux-headers-6.1.0-27-amd64/stable,now 6.1.115-1 amd64 [installed] linux-headers-6.1.0-27-common/stable,now 6.1.115-1 all [installed,automatic]
As you can see from the command outputs, the versions are different: the Linux kernel version is
6.1.0-31, and the Linux kernel header version is6.1.0-27. -
-
Install the
linux-headerspackage for the new Linux kernel:sudo apt install linux-headers-$(uname -r) -
Make sure the new kernel headers have been added:
sudo apt list --installed | grep headerResult:
linux-headers-6.1.0-27-amd64/stable,now 6.1.115-1 amd64 [installed] linux-headers-6.1.0-27-common/stable,now 6.1.115-1 all [installed,automatic] linux-headers-6.1.0-31-amd64/stable-security,now 6.1.128-1 amd64 [installed] linux-headers-6.1.0-31-common/stable-security,now 6.1.128-1 all [installed,automatic] -
Reboot your OS:
sudo rebootDuring the reboot, the DKMS framework will rebuild the SnapAPI module for the required Linux kernel version and the Cloud Backup agent will run.
-
If the Cloud Backup agent's performance is not restored after a reboot, complete the following steps to manually rebuild the SnapAPI kernel module for the required version:
-
Find out the Linux kernel version:
uname -rResult:
6.8.0-110-genericAs you can see in the output, the Linux kernel version is
6.8.0-110-generic. You will need this value when updating the module. -
Find out the SnapAPI version. If missing, install the
dkmsutility for your OS first:sudo dkms status | grep snapapiResult:
snapapi26/2.0.6, 5.15.0-119-generic, x86_64: built snapapi26/2.0.6, 6.8.0-48-generic, x86_64: builtAs you can see in the output, the SnapAPI module version is
snapapi26/2.0.6. You will need this value when updating the module. -
Update the SnapAPI module by populating the command with the SnapAPI and Linux kernel versions you obtained previously:
sudo dkms install snapapi26/2.0.6 -k 6.8.0-110-genericResult:
Building module: cleaning build area... ... - Installation - Installing to /lib/modules/6.8.0-110-generic/updates/dkms/ depmod....... -
Run the command again to check the installed SnapAPI version:
sudo dkms status | grep snapapiResult:
snapapi26/2.0.6, 5.15.0-119-generic, x86_64: built snapapi26/2.0.6, 6.8.0-110-generic, x86_64: installed snapapi26/2.0.6, 6.8.0-48-generic, x86_64: built -
Reboot your OS:
sudo reboot
-
-
Make sure the Linux kernel version does not match that of the kernel headers:
-
To find out the Linux kernel version, run this command in the terminal:
uname -rResult:
3.10.0.1160.81.1.el7.x86_64 -
To find out the version of the Linux kernel headers, run this command:
sudo yum list installed | grep kernel-dev*Result:
kernel-devel.x86_64 3.10.0-1160.76.1.el7 @updates
As you can see from the output of the commands, the versions are different: the Linux kernel version is
3.10.0.1160.81.1.el7, while the version of the Linux kernel headers is3.10.0-1160.76.1.el7. -
-
Install the
linux-headerspackage for the new Linux kernel:sudo yum install kernel-$(uname -r) -
Make sure the new kernel headers have been added:
sudo yum list installed | grep kernel-dev*Result:
kernel-devel.x86_64 3.10.0-1160.76.1.el7 @updates kernel-devel.x86_64 3.10.0.1160.81.1.el7 @updates -
Reboot your OS:
sudo rebootDuring the reboot, the DKMS framework will rebuild the SnapAPI module for the required Linux kernel version and the Cloud Backup agent will run.
-
If the Cloud Backup agent's performance is not restored after a reboot, complete the following steps to manually rebuild the SnapAPI kernel module for the required version:
-
Find out the Linux kernel version:
uname -rResult:
6.8.0-110-genericAs you can see in the output, the Linux kernel version is
6.8.0-110-generic. You will need this value when updating the module. -
Find out the SnapAPI version. If missing, install the
dkmsutility for your OS first:sudo dkms status | grep snapapiResult:
snapapi26/2.0.6, 5.15.0-119-generic, x86_64: built snapapi26/2.0.6, 6.8.0-48-generic, x86_64: builtAs you can see in the output, the SnapAPI module version is
snapapi26/2.0.6. You will need this value when updating the module. -
Update the SnapAPI module by populating the command with the SnapAPI and Linux kernel versions you obtained previously:
sudo dkms install snapapi26/2.0.6 -k 6.8.0-110-genericResult:
Building module: cleaning build area... ... - Installation - Installing to /lib/modules/6.8.0-110-generic/updates/dkms/ depmod....... -
Run the command again to check the installed SnapAPI version:
sudo dkms status | grep snapapiResult:
snapapi26/2.0.6, 5.15.0-119-generic, x86_64: built snapapi26/2.0.6, 6.8.0-110-generic, x86_64: installed snapapi26/2.0.6, 6.8.0-48-generic, x86_64: built -
Reboot your OS:
sudo reboot
-
If you were unable to recover your Cloud Backup agent for any reason, contact