Acronis Backup: how to pre-compile Linux SnapAPI module
Introduction
Sometimes, kernel source packages that are required to install Acronis SnapAPI module cannot be installed on a Linux server due to security or any other reasons. In this situation, Acronis SnapAPI module can be prepared on another Linux machine (source) with the same or different kernel, then moved and installed on the required Linux server (target).
Solution
The source server either has the same kernel as the target machine or a different kernel version.
If source and target systems are the same (have exactly the same kernel that can be checked using the " #uname -a" command):
- install Acronis software on the source machine. It should build and install Acronis SnapAPI module. If the module is not installed then follow the steps described in the "Creating the SNAPAPI Module in Acronis Backup Software for Linux" KB article to build and install the module manually.
- after the module is installed make tarball with built module:
# dkms mktarball -m snapapi26 -v SNAPAPI_VERSION --archive=snapapi26-SNAPAPI_VERSION.tar.gz
If source and target systems are different:
- Make sure that you have gcc on a source system with the same version as on target system. It can be checked using "gcc -v" command.
- Make sure that the kernel sources must be identical to the kernel sources on the target system.
- Then build Acronis modules to the specific kernel version:
#dkms build -m snapapi26 -v SNAPAPI_VERSION -k KERNEL_VERSION --arch KERNEL_ARCH --kernelsourcedir=KERNEL_SOURCES_DIR
#dkms mktarball -m snapapi26 -v SNAPAPI_VERSION --archive=snapapi26-SNAPAPI_VERSION.tar.gz
where
SNAPAPI_VERSION is a version of snapapi modules (see in /usr/src/ )
KERNEL_VERSION is the exact kernel version of the target system (as uname -r)
KERNEL_ARCH is the exact kernel architecture of the target system (as uname -m)
KERNEL_SOURCES_DIR is the directory with sources for KERNEL_VERSION
TARBALL_LOCATION is the directory that contains tarball with pre-built modules
After the module is prepared, it should be copied to the target server where the software should be installed:
- Copy the built module to the target server
- Install Acronis software and refuse or fail the build Acronis SnapAPI module
- Install the pre-built module:
# dkms ldtarball --archive=TARBALL_LOCATION/snapapi26-SNAPAPI_VERSION.tar.gz
# dkms install -m snapapi26 -v SNAPAPI_VERSION
- restart Acronis Managed Machine service.
# /etc/init.d/acronis_mms restart
(or "#systemctl restart acronis_mms" if the systemd is used).
These steps allow building and installing the pre-compiled module. After that the software can be used to back up the target machine.
More information
The information about packages that are required for the software installation can be found in the User's Guide for Acronis Backup 12.5 and in User's Guide for Acronis Backup Cloud
If there are any issues with compiling the module, please get Linux system reports from source and target machines and contact Acronis Customer Central with reference to this article.