Proxmox VE 4/5 und DRBD 9

Für die Virtualisierung von Linux-Servern setzen wir auf der Arbeit Proxmox VE 4 in Kombination mit DRBD 9 ein.
Grundsätzlich eine sehr schöne Kombination, Proxmox nutzt KVM als Basis und setzt darauf eine Web-GUI um die Verwaltung zu erleichtern. DRBD sorgt für die syncrone Replikation zwischen den beiden Nodes.

Auf unseren neuen Systemen wollten wir allerdings direkt Proxmox VE 5 einsetzen. Also flott die Standard-Installation ausgeführt und DRBD installiert. Soweit so gut…
Bei der Initialisierung traf ich allerdings auf folgenden Fehler:

root@XYZ:~# drbdmanage init 172.19.XXX.XXX

 You are going to initialize a new drbdmanage cluster.
 CAUTION! Note that:
 * Any previous drbdmanage cluster information may be removed
 * Any remaining resources managed by a previous drbdmanage installationthat still exist on this system will no longer be managed by drbdmanage

 Confirm:

 yes/no: yes
 Error: External command failed:
 drbdsetup new-resource .drbdctrl 0
 Command output:
 (stdout)
 Command exited with exit_code 20

 Initialization failed
root@XYZ:~#

Ich habe also ein wenig gesucht und feststellen können, dass „drbdmanage“ einen potentiell falschen Aufruf von „drbdsetup“ macht. Das kam mir sehr merkwürdig vor, also habe ich mal auf der Mailing-List gefragt:
Dort kam raus, das in der Standard Installation von Proxmox lediglich das Kernel-Modul für DRBD 8.4 dabei ist. Dort gibt es „drbdmanage“ noch gar nicht…
Zum Glück ist das kein großes Problem denn die Kollegen von Linbit bieten hier in Ihrem Repo ein DKMS-Paket mit an. Also wie folgt schnell zu lösen:

root@XYZ:~# apt install drbd-dkms pve-headers
root@XYZ:~# reboot

Nach dem Neustart wird nun das Modul passend geladen:

root@XYZ:~# modinfo drbd
filename: /lib/modules/4.13.4-1-pve/updates/dkms/drbd.ko
alias: block-major-147-*
license: GPL
version: 9.0.9-1
description: drbd - Distributed Replicated Block Device v9.0.9-1
author: Philipp Reisner <phil@linbit.com>, Lars Ellenberg <lars@linbit.com>
srcversion: EF468AECF68C9A926BB53A7
depends: libcrc32c
name: drbd
vermagic: 4.13.4-1-pve SMP mod_unload modversions
parm: minor_count:Approximate number of drbd devices (1-255) (uint)
parm: disable_sendpage:bool
parm: allow_oos:DONT USE! (bool)
parm: enable_faults:int
parm: fault_rate:int
parm: fault_count:int
parm: fault_devs:int
parm: two_phase_commit_fail:int
parm: usermode_helper:string

Jetzt kann das Cluster gemäß Doku initialisiert werden und verrichtet sauber seinen Dienst.
Die Gründe, warum DRBD aus dem Proxmox VE-Kernel entfernt wurde ist für Interessierte hier nach zu lesen:
https://forum.proxmox.com/threads/drbdmanage-license-change.30404/