Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.2. Erstellen einer einfachen Cluster-Konfigurationsdatei

Sofern die Cluster-Hardware, Red Hat Enterprise Linux und die Hochverfügbarkeits-Add-On-Software installiert sind, können Sie eine Cluster-Konfigurationsdatei (/etc/cluster/cluster.conf) erstellen und das Hochverfügbarkeits-Add-On starten. Dieser Abschnitt soll Ihnen als Ausgangspunkt dienen und beschreibt, wie Sie das Gerüst für eine Cluster-Konfigurationsdatei erstellen, allerdings noch ohne Fencing, Ausfallsicherungs-Domains oder Hochverfügbarkeitsdiensten - mit diesen Aspekten der Konfigurationsdatei befassen sich spätere Abschnitte.

Wichtig

Hierbei handelt es sich lediglich um einen Zwischenschritt zur Erstellung einer Cluster-Konfigurationsdatei; die hieraus resultierende Datei beinhaltet kein Fencing und ist keine gültige Konfiguration.
Die folgenden Schritte beschreiben die Erstellung und Konfiguration eines Gerüsts für eine Cluster-Konfigurationsdatei. Letztendlich unterscheidet sich die Konfigurationsdatei für Ihren Cluster abhängig von der Anzahl der Knoten, vom Fencing-Typ, von der Anzahl und der Art der Hochverfügbarkeitsdienste sowie von weiteren umgebungsspezifischen Anforderungen.
  1. Erstellen Sie auf jedem Knoten im Cluster eine /etc/cluster/cluster.conf Datei. Verwenden Sie dazu die Vorlage in Beispiel 7.1, »cluster.conf Beispiel: Grundlegende Konfiguration«.
  2. (Optional) Falls Sie einen Zwei-Knoten-Cluster ausführen, können Sie die folgende Zeile zur Konfigurationsdatei hinzufügen, damit es einem einzelnen Knoten möglich ist, das Quorum zu erhalten (z.B. falls der andere Knoten ausfällt):
    <cman two_node="1" expected_votes="1"/>
    Wenn Sie die two_node Option aus der cluster.conf Datei entfernen oder ihr hinzufügen, so müssen Sie den Cluster neu starten, damit diese Änderung wirksam wird, wenn Sie die Konfiguration aktualisieren. Für Informationen über das Aktualisieren einer Cluster-Konfiguration siehe Abschnitt 8.4, »Aktualisieren einer Konfiguration«. Ein Beispiel für das Spezifizieren der two_node Option finden Sie in Beispiel 7.2, »cluster.conf Beispiel: Einfache Zwei-Knoten-Konfiguration«.
  3. Geben Sie den Cluster-Namen und die Versionsnummer der Konfiguration mithilfe dieser cluster Parameter an: name und config_version (siehe Beispiel 7.1, »cluster.conf Beispiel: Grundlegende Konfiguration« oder Beispiel 7.2, »cluster.conf Beispiel: Einfache Zwei-Knoten-Konfiguration«).
  4. Geben Sie im clusternodes Abschnitt den Knotennamen und die Knoten-ID eines jeden Knotens mithilfe dieser clusternode Parameter an: name und nodeid. Der Knotenname darf maximal 255 Bytes lang sein.
  5. Speichern Sie die /etc/cluster/cluster.conf ab.
  6. Überprüfen Sie die Datei anhand des Cluster-Schemas (cluster.rng), indem Sie den ccs_config_validate Befehl ausführen. Zum Beispiel:
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  7. Übertragen Sie die Konfigurationsdatei nach /etc/cluster/ in jedem Cluster-Knoten. Beispielsweise könnten Sie die Datei mithilfe des scp Befehls an andere Cluster-Knoten übertragen.

    Anmerkung

    Eine solche Übertragung der Cluster-Konfigurationsdatei ist nur beim erstmaligen Erstellen des Clusters notwendig. Sobald ein Cluster installiert wurde und läuft, kann die Cluster-Konfigurationsdatei mit dem Befehl cman_tool version -r übertragen werden. Es ist möglich, den scp Befehl zur Weitergabe einer aktualisierten Konfigurationsdatei zu verwenden, allerdings muss zur Verwendung des scp Befehls auf allen Knoten die Cluster-Software gestoppt werden. Zusätzlich sollten Sie ccs_config_validate ausführen, falls Sie eine aktualisierte Konfigurationsdatei mittels scp übertragen.

    Anmerkung

    Es sind zwar noch andere Elemente und Parameter in der Beispielkonfigurationsdatei enthalten (z.B. fence und fencedevices), vorerst ist es jedoch nicht nötig, diese mit Informationen auszufüllen. An späterer Stelle in diesem Kapitel werden Verfahren erläutert, die Informationen zu diesen Elementen und Parametern liefern.
  8. Starten Sie den Cluster. Führen Sie dazu auf jedem Cluster-Knoten den folgenden Befehl aus:
    service cman start
    Zum Beispiel:
    [root@example-01 ~]# service cman start
    Starting cluster: 
       Checking Network Manager...                             [  OK  ]
       Global setup...                                         [  OK  ]
       Loading kernel modules...                               [  OK  ]
       Mounting configfs...                                    [  OK  ]
       Starting cman...                                        [  OK  ]
       Waiting for quorum...                                   [  OK  ]
       Starting fenced...                                      [  OK  ]
       Starting dlm_controld...                                [  OK  ]
       Starting gfs_controld...                                [  OK  ]
       Unfencing self...                                       [  OK  ]
       Joining fence domain...                                 [  OK  ]
    
  9. Führen Sie auf einem beliebigen Cluster-Knoten cman_tool nodes aus, um zu überprüfen, dass die Knoten nun als Mitglieder im Cluster fungieren (gekennzeichnet durch ein "M" in der Statusspalte "Sts"). Zum Beispiel:
    [root@example-01 ~]# cman_tool nodes
    Node  Sts   Inc   Joined               Name
       1   M    548   2010-09-28 10:52:21  node-01.example.com
       2   M    548   2010-09-28 10:52:21  node-02.example.com
       3   M    544   2010-09-28 10:52:21  node-03.example.com
    
  10. Läuft der Cluster, fahren Sie mit Abschnitt 7.3, »Konfiguration von Fencing« fort.

7.2.1. Einfache Konfigurationsbeispiele

Beispiel 7.1, »cluster.conf Beispiel: Grundlegende Konfiguration« und Beispiel 7.2, »cluster.conf Beispiel: Einfache Zwei-Knoten-Konfiguration« (bei einem Zwei-Knoten-Cluster) liefern jeweils eine sehr einfache Beispiel-Cluster-Konfigurationsdatei als Ausgangspunkt. An späterer Stelle in diesem Kapitel werden Verfahren erläutert, die Informationen über die Konfiguration von Fencing und Hochverfügbarkeitsdiensten liefern.

Beispiel 7.1. cluster.conf Beispiel: Grundlegende Konfiguration


<cluster name="mycluster" config_version="2">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
</cluster>

Beispiel 7.2. cluster.conf Beispiel: Einfache Zwei-Knoten-Konfiguration


<cluster name="mycluster" config_version="2">
   <cman two_node="1" expected_votes="1"/>
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
</cluster>

7.2.2. Der consensus Wert für totem in einen Zwei-Knoten-Cluster

Wenn Sie einen Zwei-Knoten-Cluster erstellen und nicht beabsichtigen, diesem zu einem späteren Zeitpunkt weitere Knoten hinzuzufügen, dann sollten Sie den consensus Wert im totem Tag in der cluster.conf Datei weglassen, so dass der consensus Wert automatisch ermittelt wird. Beim automatischen Ermitteln des consensus Wertes gelten die folgenden Regeln:
  • Bei zwei oder weniger Knoten lautet der consensus Wert (Token * 0.2), mit einer Höchstgrenze von 2000 ms und einer Mindestgrenze von 200 ms.
  • Bei drei oder mehr Knoten lautet der consensus Wert (Token + 2000 ms)
Wenn Sie das cman Dienstprogramm Ihren Consensus-Timeout auf diese Weise bestimmen lassen, müssen Sie später, falls Sie von zwei auf drei oder mehr Knoten aufstocken, Ihren Cluster neu starten, da der Consensus-Timeout dann auf den höheren Wert geändert werden muss, entsprechend dem Token-Timeout.
Wenn Sie einen Zwei-Knoten-Cluster konfigurieren und beabsichtigen, diesen zukünftig auf mehr als zwei Knoten zu erweitern, können Sie den Consensus-Timeout außer Kraft setzen, so dass ein Cluster-Neustart nicht nötig ist, wenn Sie von zwei auf drei oder mehr Knoten aufstocken. Bearbeiten Sie dazu die cluster.conf wie folgt:

<totem token="X" consensus="X + 2000" />

Beachten Sie, dass bei der Verarbeitung der Konfiguration X + 2000 nicht automatisch berechnet wird. Sie müssen daher einen ganzzahligen Wert einsetzen, keine Formel.
Der Vorteil bei der Verwendung des optimierten Consensus-Timeouts für Zwei-Knoten-Cluster besteht darin, dass die Zeit beim Knotenwechsel im Fehlerfall reduziert wird, da Consensus keine Funktion des Token-Timeouts ist.
Beachten Sie, dass für die automatische Zwei-Knoten-Erkennung in cman die Anzahl der physischen Knoten maßgeblich ist, nicht das Vorhandensein der two_node=1 Direktive in der cluster.conf Datei.