To prepare DRBD kernel modules for RHEL 8 nodes
Purpose
This process ensures that DRBD modules are signed, persistent, and Secure Boot-compliant, appropriate for air-gapped or production clusters.
Perform this procedure if:
The procedure involves the following:
Note: The VMs must have internet access while performing this procedure. SPaaS from LINBIT is required.
When using this procedure, consider the following:
Before you begin
Ensure the following:
-
The RHEL 8.x node has the same kernel version as runtime
# uname -r ↵
-
Packages are installed as follows:
# sudo dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r) gcc make bc openssl ↵
Offline installation is possible in an air-gapped network.
-
DRBD sources (drbd-9.2.14.tar.gz) are available locally or through an internal repository
Steps
You must perform the following steps on all storage nodes, which are the last three nodes by default.
1 |
Note: If you have a signed private key and have enrolled it, go to Step 3. Create a module signing certificate.
|
2 |
Reboot and enroll the key.
|
3 |
Prepare DRBD sources.
|
4 |
Build the kernel modules Compile the DRBD modules: # make all ↵ If build completes without errors, proceed to Step 5. |
5 |
Sign the DRBD modules. Use scripts or sign-file from the kernel headers: # sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /root/drbd_sign.key /root/drbd_sign.crt drbd.ko ↵ # sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /root/drbd_sign.key /root/drbd_sign.crt drbd_transport_tcp.ko ↵ # sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /root/drbd_sign.key /root/drbd_sign.crt drbd_transport_rdma.ko ↵ # sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /root/drbd_sign.key /root/drbd_sign.crt drbd_transport_lb-tcp.ko ↵ This ensures the modules are accepted by a Secure Boot-enabled kernel. |
6 |
Install the modules
|
7 |
Load the modules
|
8 |
Enable Auto-Load on reboot. Create /etc/modules-load.d/drbd.conf: cat <<EOF | sudo tee /etc/modules-load.d/drbd.conf drbd_transport_tcp drbd_transport_rdma drbd_transport_lb-tcp drbd EOF
cat <<EOF | sudo tee /etc/modules-load.d/drbd.conf drbd_transport_tcp drbd_transport_rdma drbd_transport_lb-tcp drbd EOF |
9 |
(Optional) Clean up. Remove source code and archives to save space: # rm -rf /usr/src/drbd-9.2.14 ↵ # rm -f /usr/src/drbd-9.2.14.tar.gz ↵ |
10 |
Verify and troubleshoot as follows.
End of steps |