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/