Skip to main content

Piraeus CSI

Versions Supported

For Palette or Palette VerteX deployments that use Piraeus/LINSTOR-backed storage, and where the drbd-loader init container is configured with LB_HOW=compile, the container image must include the appropriate Linux kernel headers.

The drbd-loader dynamically compiles the DRBD kernel module at runtime on the target node when LB_HOW=compile is set. This compilation process requires access to the kernel headers and related build tooling that match the running kernel on the host.

If the required kernel headers are missing or do not match the running kernel version, the module compilation fails, and the DRBD kernel module does not load.

Therefore, when using LB_HOW=compile, ensure that you follow these guidelines.

  1. Ensure that you include kernel headers that match the Palette or Palette VerteX host kernel version in the container image used by the drbd-loader init container.

    For Palette deployments, add the following line to the Dockerfile or build configuration of the drbd-loader image.

    apt-get update && apt-get install --assume-yes linux-headers-$(uname --kernel-release)

    For Palette VerteX deployments, add the following line to the Dockerfile or build configuration of the drbd-loader image.

    kernel=$(ls /lib/modules/ | grep fips | head -1)
    apt-get update && apt-get install --assume-yes linux-headers-${kernel}
  2. Your nodes must have internet access at runtime to download the DRBD source code from the LINBIT repositories for the compilation process to succeed.

    If your nodes do not have internet access, such as in airgapped environments, you need to use precompiled modules by setting LB_HOW=shipped_modules to use prebuilt DRBD modules instead of compiling dynamically.