Symptoms
Installing or updating C21.11 or C21.12 agent on CloudLinux7.9 or CloudLinux8.5 (8.x) fails to (re)build snapapi26 and snumbd26 kernel modules. This happens after the latest updates to CloudLinux 7.9 and 8.5 (8.x in general). trueimage-setup.log contains an error from DKMS about the use of deprecated feature: REMAKE_INITRD in the dkms.conf files of the agent's kernel modules.
The result is a failed install of the agent (in case of a fresh install / manual installation), or backups failing with error "The SnapAPI kernel module is not loaded".
Installation fails
The errors in the trueimage-setup.log file looks like this:
- For C21.12:
2021-12-21T15:41:44+0300:Launching '/usr/sbin/dkms ldtarball --force --archive /usr/lib/Acronis/kernel_modules/snapapi26-0.8.8-all.tar.gz 2>&1'.
2021-12-21T15:41:44+0300:Deprecated feature: REMAKE_INITRD
Error! No valid dkms.conf in dkms_source_tree or dkms_binaries_only.
/usr/lib/Acronis/kernel_modules/snapapi26-0.8.8-all.tar.gz is not a valid DKMS tarball.
2021-12-21T15:41:44+0300:Cannot load tarball snapapi26 0.8.8
2021-12-21T15:41:44+0300:Cannot open /var/lib/dkms/snapapi26/0.8.8/
2021-12-21T15:41:44+0300:Failed to install kernel module snapapi26 0.8.8 via Weak-Modules
2021-12-21T15:41:44+0300:HTTP proxy configuration is not specified
2021-12-21T15:41:44+0300:cloudlinux8_rh system detected, flags = 2360320
===
- For C21.11:
2021-12-21T15:41:44+0300:Launching '/usr/sbin/dkms ldtarball --force --archive /usr/lib/Acronis/kernel_modules/snapapi26-0.8.4-all.tar.gz 2>&1'.
2021-12-21T15:41:44+0300:Deprecated feature: REMAKE_INITRD
Error! No valid dkms.conf in dkms_source_tree or dkms_binaries_only.
/usr/lib/Acronis/kernel_modules/snapapi26-0.8.4-all.tar.gz is not a valid DKMS tarball.
2021-12-21T15:41:44+0300:Cannot load tarball snapapi26 0.8.4
2021-12-21T15:41:44+0300:Cannot open /var/lib/dkms/snapapi26/0.8.4/
2021-12-21T15:41:44+0300:Failed to install kernel module snapapi26 0.8.4 via Weak-Modules
2021-12-21T15:41:44+0300:HTTP proxy configuration is not specified
2021-12-21T15:41:44+0300:cloudlinux8_rh system detected, flags = 2360320
Cause
The modern DKMS (3.x series) which the fully updated CloudLinux 7.9 or CloudLinux 8.x now uses, is not compatible with the dkms.conf files for snapapi26 and for other Acronis kernel modules (e.g. file_protector) that contain a deprecated DKMS feature: REMAKE_INITRD. This causes the building of these modules by the installer/updater to fail.
The trueimage-setup.log contains the specific text:
"Deprecated feature: REMAKE_INITRD Error!
No valid dkms.conf in dkms_source_tree or dkms_binaries_only.
/usr/lib/Acronis/kernel_modules/snapapi26-0.8.8-all.tar.gz is not a valid DKMS tarball."
Solution
This issue has been fixed in Acronis Cyber Protect Cloud 22.01 (Agent build 28816). Please update to the latest available build.
The following solutions can be used to work around the issue without updating to the latest build:
1. Installation issue
1. Change the dkms.conf files that accompany the kernel modules and comment out REMAKE_INITRD line.
===
Procedure: (using agent C21.11/November release, which has snapapi26-0.8.4):
cd /usr/lib/Acronis/kernel_modules/
tar xvfz snapapi26-0.8.4-all.tar.gz
mkdir /usr/src/snapapi26-0.8.4
mv /usr/lib/Acronis/kernel_modules/dkms_source_tree/* /usr/src/snapapi26-0.8.4/
sed 's/REMAKE_INITRD/#REMAKE_INITRD/' -i /usr/src/snapapi26-0.8.4/dkms.conf
dkms --verbose build -m snapapi26 -v 0.8.4
dkms --verbose install -m snapapi26 -v 0.8.4
rmdir /usr/lib/Acronis/kernel_modules/dkms_source_tree/
modprobe snapapi26
cd /usr/lib/Acronis/kernel_modules/
tar xvfz file_protector-1.1-1487-all.tar.gz
mkdir /usr/src/file_protector-1.1-1487
mv /usr/lib/Acronis/kernel_modules/dkms_source_tree/* /usr/src/file_protector-1.1-1487/
sed 's/REMAKE_INITRD/#REMAKE_INITRD/' -i /usr/src/file_protector-1.1-1487/dkms.conf
dkms --verbose build -m file_protector -v 1.1-1487
dkms --verbose install -m file_protector -v 1.1-1487
rmdir /usr/lib/Acronis/kernel_modules/dkms_source_tree/
modprobe snumbd26
modprobe file_protector
===
Procedure: (using the agent C21.12/December release, which has snapapi26-0.8.8):
cd /usr/lib/Acronis/kernel_modules/
tar xvfz snapapi26-0.8.8-all.tar.gz
mkdir /usr/src/snapapi26-0.8.8
mv /usr/lib/Acronis/kernel_modules/dkms_source_tree/* /usr/src/snapapi26-0.8.8/
sed 's/REMAKE_INITRD/#REMAKE_INITRD/' -i /usr/src/snapapi26-0.8.8/dkms.conf
dkms --verbose build -m snapapi26 -v 0.8.8
dkms --verbose install -m snapapi26 -v 0.8.8
rmdir /usr/lib/Acronis/kernel_modules/dkms_source_tree/
modprobe snapapi26
cd /usr/lib/Acronis/kernel_modules/
tar xvfz file_protector-1.1-1494-all.tar.gz
mkdir /usr/src/file_protector-1.1-1494
mv /usr/lib/Acronis/kernel_modules/dkms_source_tree/* /usr/src/file_protector-1.1-1494/
sed 's/REMAKE_INITRD/#REMAKE_INITRD/' -i /usr/src/file_protector-1.1-1494/dkms.conf
dkms --verbose build -m file_protector -v 1.1-1494
dkms --verbose install -m file_protector -v 1.1-1494
rmdir /usr/lib/Acronis/kernel_modules/dkms_source_tree/
modprobe snumbd26
modprobe file_protector
===
2. Another possible workaround is to downgrade the DKMS RPM package to an older 2.8.x version, then proceed with Agent installation (if you haven't yet installed the agent on the machine) or - if you have already installed the agent - uninstall the agent using "/usr/lib/Acronis/BackupAndRecovery/uninstall/uninstall -a" and then rerun the installer.
====
[root@server ~]# dkms --version
dkms-3.0.2
[root@server ~]# yum --showduplicates list dkms
[root@server ~]# yum remove dkms
[root@server ~]# yum install dkms-2.8.4-1.el7
[root@server ~]# dkms --version
dkms:2.8
===
2. Backup failing with The SnapAPI kernel module is not loaded
1. Comment out REMAKE_INITRD line in the dkms.conf files as described in "Installation issue" section
2. Rebuild and load the snapapi, snumbd modules in the same way it is done during installation