DRBD Kernel Modul mit DKMS automatisch erstellen
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
- Build DRBD kernel module (Proxmox VE Wiki)
Einzelnachweise
- ↑ Chapter 4. Building and installing DRBD from source (The DRBD User’s Guide)
- ↑ DRBD Support (linbit.com)
- ↑ Support Repository (linbit.com)
- ↑ 4.3.4. Building DRBD userspace utilities (The DRBD User’s Guide)
- ↑ LINBIT Open Source Software - drbd (oss.linbit.com)
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.
|