IBM Support

How do you manually update the R1Soft Backup Agent Kernel Module?

Troubleshooting


Problem

How do you manually update the R1Soft Backup Agent Kernel Module?

Resolving The Problem

Answer

The R1Soft Server Backup Agent utilizes a proprietary kernel module. In most cases, the vendor will directly supply pre-built modules through their repositories on the public Internet. The Server Backup Agent will configure and keep them updated using the distribution';s package manager. However, in the following situations, you might need to manually building the module:

  • The packages are missing header files (broken).

  • The packages are stripped of information that any device driver needs to compile a kernel module.

  • The kernel involved is too old to receive pre-built modules directly from the vendor.

  • The kernel is the latest and has not yet had a pre-built module tested/released from the vendor directly.

In such cases, it might be necessary to manually build and load the kernel module.

Online method (requires public internet connectivity)

  • Ubuntu, Debian, and derivative distributions:

    1. Install the necessary headers using the following command: apt-get install linux-headers-[VERSION*]
      If you do not know your running kernel version, you can run the uname -r command to obtain it. Confirm that the kernel headers package is not intended for a newer kernel.

    2. Confirm connectivity (TCP 443) to krnlbld.r1soft.com using the following command: serverbackup-setup --test-connection

    3. Issue the following Build command: serverbackup-setup --get-module

    If the module is compiled and installed successfully, the system provides output that is similar to the following text:
    Saving kernel module to ';/lib/modules/r1soft/hcpdriver-cki-2.6.32-279.11.1.el6.x86_64.ko'; Kernel module is now installed. Use ';/etc/init.d/cdp-agent restart'; to load the new driver

  • RHEL, CentOS, and derivative distributions:

    1. Install the necessary headers using the following command: yum install kernel-devel
      If you do not know your running kernel version, you can run the uname -r command to obtain it. Confirm that the kernel headers package is not intended for a newer kernel.

    2. Confirm connectivity (TCP 443) to krnlbld.r1soft.com using the following command: serverbackup-setup --test-connection

    3. Issue the following Build command: serverbackup-setup --get-module

    If the module is compiled and installed successfully, the system provides output that is similar to the following text:
    Saving kernel module to ';/lib/modules/r1soft/hcpdriver-cki-2.6.32-279.11.1.el6.x86_64.ko'; Kernel module is now installed. Use ';/etc/init.d/cdp-agent restart'; to load the new driver

Offline method

You can build modules for systems that do not have direct access to the Internet using a Linux system and a .zip file. The .zip file is created on the protected machine with the information that is needed to construct the module. The process is distribution agnostic. While the target installation device does not need to have public connectivity, you will need to be able to download/upload to it. You will also need to connect to the R1Soft upload/FTP site on the public Internet on a separate device or jump-host. Complete the following steps:

  1. Install the Server Backup agent on the Internet-connected machine. You can stop the agent as we really just need the getmodule tool.

  2. On the system that does not have direct network access to the R1Soft servers, install and run the getmodule -ha command. The command collects the system information that will be packed in to a .zip file. The file can then be copied to a Linux system with Internet connectivity:
    $ getmodule \-ha

    Response:
    Building header archive ... outfile = /tmp/headers295471026 headers = /usr/src/linux-headers-4.13.3-041303-generic Archive headers can be found at `/tmp/headers295471026`.

  3. Copy the archive headers file, which is produced by the getmodule command, to a system that has direct network access to the mbuild servers and has a copy of getmodule installed.

  4. Run the getmdoule -headers <path_to_archive_headers_file> -dest $PWD command.
    The path to archive headers file is replaced with the path to which the archive was copied. It will continue the build module process using the specified archive file. For example:
    $ getmodule \-headers headers295471026

    Response:
    Using headers at `headers295471026`.
    Session ID: 671724324
    Waiting to upload...
    Uploading file...
    Waiting in build queue...
    Building...
    Built. Downloading module...

    After the module finishes building, it will be in current working directory.

  5. Copy the module back to the original server and place it in /lib/modules/r1soft directory.

  6. Restart the agent.

It should find your module and load it.


Older Kernel Options

If you are using Linux kernel versions 3.10+, then you will need use pre-compiled modules. The module version string must match the version of your running kernel.

  1. Place the pre-compiled modules in the following directory: /lib/modules/r1soft

  2. Restart the cdp-agent to load and initialize the Backup Agent: /etc/init.d/cdp-agent restart

Document Location

Worldwide

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSCLA2","label":"Virtual Server"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 August 2019

UID

ibm1KB0011050