DRBD Kernel Modul mit DKMS automatisch erstellen

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Debian und Ubuntu stellen für ihre Linux Kernel entsprechende DRBD Module bereit. In manchen Fällen ist jedoch eine neuere DRBD Version als jene von Debian oder Ubuntu erforderlich (z.B. bei einem DRBD Bugfix oder einer neuen DRBD Option). Dieser Artikel zeigt die Möglichkeiten, wie Sie DRBD unabhängig von Debian und Ubuntu aktualisieren können und wie Sie mit DKMS automatisch bei Kernel Updates ein passendes DRBD Modul aus dem Quellcode kompilieren.

Möglichkeiten zur DRBD Aktualisierung

Wenn möglichst zeitnah ein Update benötigt wird, gibt es folgende Möglichkeiten:

  • DRBD Modul in der gewünschten Version manuell kompilieren.[1]
  • Ein passendes Paket über einen LINBIT Support Vertrag anfordern. Man bekommt in diesem Fall von LINBIT ein eigenes Repository, wo automatisch neue Pakete zur Verfügung gestellt werden. Dadurch kommt man ohne Mehraufwand auch an neuere Versionen von DRBD.[2][3]
  • Automatisch ein passendes DRBD Modul mit DKMS (Dynamic Kernel Module Support) erstellen lassen. In diesem Fall wird das Modul bei einem Kernel Update automatisch für die neue Kernel Version kompiliert. Zu beachten ist, dass man dadurch noch nicht automatisch neuere DRBD Versionen erhält. Dafür muss manuell der neue DRBD Quellcode heruntergeladen werden. Die folgende Anleitung zeigt wie Sie mit DKMS automatisch bei Kernel Updates ein passendes DRBD Modul aus dem Quellcode kompilieren.

DRBD Aktualisierung mit DKMS

Achtung: Die folgende Anleitung bezieht sich nur auf das Kernel Modul von DRBD. Die Userspace-Tools werden dabei nicht behandelt. Diese müssen ggf. separat kompiliert werden (z.b. wenn die Userspace Tools im Ubuntu Repo nicht mehr optimal zu einem aktualisiertem DRBD Kernel Modul passen). [4]

DRBD Quellcode herunterladen

Der DRBD Quellcode steht auf den Seiten von LINBIT zum Download bereit.[5] Wählen Sie dort die gewünschte DRBD Version, z.B.:

wget http://oss.linbit.com/drbd/8.4/drbd-8.4.6.tar.gz -O - | tar -xzf - -C /usr/src

DKMS konfigurieren

Konfigurieren Sie in der Datei /usr/src/drbd-8.4.6/dkms.conf folgende Einträge:

PACKAGE_NAME="drbd"
PACKAGE_VERSION="8.4.6"
MAKE[0]="make -C drbd KDIR=/lib/modules/${kernelver}/build "
BUILT_MODULE_NAME[0]=drbd
DEST_MODULE_LOCATION[0]=/kernel/drivers/block
BUILT_MODULE_LOCATION[0]=drbd
CLEAN="make -C drbd clean"
AUTOINSTALL=yes

DKMS für DRBD aktivieren

Fügen Sie nun DRBD bei DKMS hinzu:

dkms add -m drbd -v 8.4.6
dkms build -m drbd -v 8.4.6
dkms install -m drbd -v 8.4.6

Kernel Update testen

Überprüfen Sie, ob ein Kernel Update funktioniert, indem Sie apt-get mit folgenden Parametern aufrufen:

apt-get update
apt-get upgrade
...
Examining /etc/kernel/postinst.d.
...
run-parts: executing /etc/kernel/postinst.d/dkms 3.2.0-68-generic /boot/vmlinuz-3.2.0-68-generic
...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.2.0-68-generic /boot/vmlinuz-3.2.0-68-generic
...

Achten Sie bei jedem Kernel Update darauf, dass auch tatsächlich das DRBD Modul erfolgreich neu kompiliert wird.

DKMS deaktivieren

Wenn Sie DRBD Module nicht mehr per DKMS kompilieren und das aktuelle Modul deinstallieren möchten, führen Sie folgendes Kommando aus:

dkms remove -m drbd -v 8.4.6 --all

Weitere Informationen

Einzelnachweise


Foto Christoph Mitasch.jpg

Autor: Christoph Mitasch

Christoph Mitasch arbeitet in der Abteilung Web Operations & Knowledge Transfer bei Thomas-Krenn. Er ist für die Betreuung und Weiterentwicklung der Webshop Infrastruktur zuständig. Seit einem Studienprojekt zum Thema Hochverfügbarkeit und Daten Replikation unter Linux beschäftigt er sich intensiv mit diesem Themenbereich. Nach einem Praktikum bei IBM Linz schloss er sein Diplomstudium „Computer- und Mediensicherheit“ an der FH Hagenberg ab. Er wohnt in der Nähe von Linz und ist neben der Arbeit ein begeisterter Marathon-Läufer und Jongleur, wo er mehrere Weltrekorde in der Team-Jonglage hält.


Das könnte Sie auch interessieren

OpenVPN Grundlagen
Rdiff-backup Monitoring Plugin
Vi Editor Tipps und Tricks