Systemadministratoren, die sich mit Hochverfügbarkeit beschäftigen, bevorzugen in der Regel die Kommandozeile zum Verwalten ihrer Setups. Konfiguration und Administration von DRBD (Distributed Replicated Block Device) gehört nun eher zu den vergleichsweise unspektakulären Aufgaben, weil die Konfigurationsdatei »/etc/drbd.conf« einfach gehalten ist. Im vergangenen Februar hat aber die DRBD-Erfinderin Linbit GmbH ihrer Software eine grafische Oberfläche verpasst, die DRBD Management Console (DRBD-MC, [1]). Bei Redaktionsschluss stand die Release 0.13 zum Download zur Verfügung [2].
Die Grundlagen von DRBD sind in [3] und [4] beschrieben, sodass dieser Beitrag sich auf die Interaktion zwischen Management Console und DRBD 0.7 respektive der Nachfolgeversion DRBD 8 beschränkt. Als Testumgebung dienten zwei virtuelle Instanzen von Ubuntu 8.10 unter Virtualbox 2.14 auf einer Open Suse 11.1 als Wirtssystem. Ubuntu 8.10 bringt netterweise sowohl DRBD 0.7 als auch DRBD 8 als Utilities mit (sowie DRBD 8.2.6 als Kernelmodul), sodass beide Tests auf derselben Plattform stattfinden konnten.
Da es sich bei der DRBD-MC gegenwärtig noch um eine Betaversion handelt, sind bei der Begutachtung andere Maßstäbe anzulegen als bei Produktivsoftware. Zu beherzigen ist auch der ausdrückliche Hinweis von der DRBD-Homepage [5]: "Seien Sie gewarnt: Obwohl dies eine grafische Benutzerschnittstelle für Ihr DRBD-Heartbeat-Cluster ist, benötigen Sie ein gutes und klares Verständnis der Konzepte solcher Cluster."
Übliches Setup
Wie bei Clustern üblich, führt der Administrator einige vorbereitende Arbeiten durch. Er legt eine saubere »/etc/hosts« ohne irreführende »127.0.*.*«-Einträge für den Hostnamen einheitlich auf beiden Hosts an und erzeugt SSH-Schlüssel ohne Passphrase für Root. Ausnahmsweise sind auf beiden Hosts auch die eigenen öffentlichen Schlüssel »id_dsa.pub« in die Datei »authorized_keys« aufzunehmen. Die Konsole braucht sie später, wenn sie ohne Passwortabfrage auskommen soll. Tatsächlich erledigt die DRBD-MC alle Zugriffe auf die Clusterknoten per SSH, weswegen sie irgendwo im Netz laufen kann, solange die Knoten erreichbar und die SSH-Schlüssel verteilt sind.
Einfache Installation
Als letzte Vorbereitung sind die Pakete für Heartbeat und DRBD (»drbd0.7-utils« respektive »drbd8-utils«) nachzureichen. Die Installation der DRBD-MC gestaltet sich sehr einfach, da das Programm in Java geschrieben ist und als Jar-Datei zum Download vorliegt. RPM- oder Deb-Pakete gibt es (noch?) nicht. Also gilt es, die Datei manuell am Ort der Wahl abzulegen. Die Applikation startet anschließend durch Aufruf von:
java -cp DMC-0.1.3.jar drbd.DrbdMC
Dokumentation existiert derzeit außer einer Entwickler-Mailingliste nicht, also muss sich der Admin durch die Menüs hangeln. Mit den Menüpunkten »Session | New | Host« sind beide Hosts schnell angelegt. Wenn man alle Defaults bestätigt und sich mit »Next« durchgeklickt hat, bestätigt die MC, dass alles ordnungsgemäß installiert ist.
Gelegentlich schlägt der letzte Schritt fehl und das GUI bemängelt fehlende Komponenten, die aber definitiv vorhanden sind. Mit »Skip | Next« lässt sich diese Klippe umschiffen.
Anschließend legt der Admin mit »Configure Cluster« ein Heartbeat-Cluster an. Spätestens hier zeigt sich, dass die DRBD-MC mehr sein will als nur eine Konsole für DRBD, da sie ein komplettes Heartbeat-GUI integriert.
Leider ist der Zugriff auf Heartbeat noch fehlerhaft: So erzeugt das GUI bei einer Konfiguration mit zwei Netzwerkkarten (eine produktive für die Anwendung, eine private für Heartbeat und DRBD) eine fehlerhafte Datei »/etc/ha.d/ha.cf«, wenn man als Heartbeat-Typ »Unicast« wählt. Das produktive Interface trägt sie zweimal ein, das private hingegen gar nicht, obwohl die beiden Netzwerkkarten in verschiedenen Netzen liegen (im Test 192.168.20/24 respektive 10.0.0/24).