Login
Newsletter
Werbung

Do, 23. Januar 2014, 15:00

Projekt »Virtueller hochverfügbarer Linux-Server«, Teil 11

Corosync und Pacemaker, libvirt und Live-Migration von KVM

Corosync/Pacemaker

Nun wollen wir auch den Cluster zum Leben erwecken, das hieß vormals, Heartbeat zu konfigurieren. Doch hier hat sich einiges geändert. Heartbeat ist ein Auslaufmodell und wurde durch Corosync ersetzt. Corosync ist zusammen mit dem Cluster Resource Manager Pacemaker die empfohlene Konfiguration.

Wer lediglich ein Update des Servers vorgenommen und noch Heartbeat installiert hat, sollte dieses entfernen:

dpkg -P heartbeat
rm /var/lib/heartbeat/crm/*

Der rm-Befehl ist notwendig, um Konflikte mit neueren Ressourcen-Skripten zu vermeiden. Statt Heartbeat installieren wir Corosync und Pacemaker. Die Backports-Repositorien von Debian Squeeze enthalten die neuesten Versionen, so dass wir diese anstelle der normalen verwenden:

apt-get install -t squeeze-backports corosync pacemaker

Damit Corosync startet, muss in der Datei /etc/default/corosync

START=yes

eingetragen werden. Nun gilt es die Konfigurationsdatei /etc/corosync/corosync.conf anzupassen. Diese ist etwas länger, aber das einzige, was wir zunächst brauchen, ist der Abschnitt interface am Ende des Abschnitts totem. Nur die IP-Adresse des Netzwerks, über die wir Kontakt mit dem anderen Knoten haben, ist anzupassen. Hier handelt es sich um eine Netzwerk-, keine individuelle Adresse. So ist es erfreulicherweise möglich, dieselbe Konfigurationsdatei auf allen Knoten zu verwenden.

    interface {
            # The following values need to be set based on your environment 
            ringnumber: 0
            bindnetaddr: 192.168.2.0
            mcastaddr: 226.94.1.1
            mcastport: 5405
    }

Nun muss man einen Authentifizierungsschlüssel für Corosync anlegen, was man mit corosync-keygen erledigt. Glücklicherweise ist auch dieser Schlüssel für alle Knoten identisch, so dass man ihn mit

scp -p /etc/corosync/authkey <hostname>:/etc/corosync

auf den anderen Knoten kopieren kann. Eine genaue Anleitung (für Debian 5.0, aber noch weitgehend gültig für 6.0) findet man im Wiki von Clusterlabs.

Corosync kann jetzt (endlich) gestartet werden, und zwar durch /etc/init.d/corosync start auf beiden Knoten. Die Konfiguration von Corosync ist zwar noch leer, aber dennoch sollte es starten, und ein ps ax | grep pacemaker sollte etwa folgendes zeigen:

 1659 ?        S     00:00 /usr/lib/pacemaker/cib
 1660 ?        S     00:00 /usr/lib/pacemaker/stonithd
 1662 ?        S     00:00 /usr/lib/pacemaker/attrd
 1663 ?        S     00:00 /usr/lib/pacemaker/pengine
 1664 ?        S     00:00 /usr/lib/pacemaker/crmd

Außerdem sollte lrmd laufen. In manchen Installationen muss Pacemaker noch separat gestartet werden, bei Debian ist das nicht der Fall.

Start von LCMC. Die tatsächlich verwendeten Namen und IP-Adressen weichen von den Beispielen im Text ab.

Hans-Joachim Baader

Start von LCMC. Die tatsächlich verwendeten Namen und IP-Adressen weichen von den Beispielen im Text ab.

Corosync läuft, doch es ist noch nichts konfiguriert. Es gibt jetzt prinzipiell zwei Möglichkeiten: Die Konfiguration mit dem Kommandozeilenprogramm crm oder die Benutzung einer grafischen Oberfläche - genannt LCMC (Linux Cluster Management Console). Ersteres hat seine Vorteile: Es funktioniert auch noch problemlos, wenn man nur eine Text-Konsole zur Verfügung hat, und Anleitungen können recht kompakt geschrieben werden. Es existieren komplette Anleitungen zum Einrichten eines Clusters auf diesem Weg im Internet, und diese waren für mein Verständnis sehr hilfreich. Andererseits ist es umständlich und es ist kaum möglich, die Befehle auswendig zu behalten. Es hängt sicherlich auch davon ab, wie oft man es benutzt. Das Programm bietet umfangreiche Online-Hilfe und automatische Vervollständigung, so dass man alle Kommandos erkunden kann.

# crm
crm(live)# help

This is the CRM command line interface program.

Available commands:

        cib              manage shadow CIBs
        resource         resources management
        configure        CRM cluster configuration
        node             nodes management
        options          user preferences
        ra               resource agents information center
        status           show cluster status
        quit,bye,exit    exit the program
        help             show help
        end,cd,up        go back one level

crm(live)# 

Natürlich ist das grafische LCMC bequemer, da es intuitiv zu benutzen ist. Dennoch muss man einiges Hintergrundwissen besitzen, sonst wird man es nicht schaffen, einen funktionierenden Cluster einzurichten. Für diesen Artikel verwenden wir LCMC, wobei textuelle Beschreibungen, die die Kommandozeile verwenden, wie z.B. diese, als Vorlage dienen.

Kommentare (Insgesamt: 5 || Alle anzeigen )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung