7.3. Konfiguration von Fencing


Zur Konfiguration von Fencing gehört (a) das Angeben eines oder mehrerer Fencing-Geräte in einem Cluster und (b) das Angeben einer oder mehrerer Fencing-Methoden für jeden Knoten (unter Verwendung der angegebenen Fencing-Geräte).

Anmerkung

Es wird empfohlen, für jeden Knoten mehrere Fencing-Mechanismen zu konfigurieren. Ein Fencing-Gerät kann aus verschiedenen Gründen ausfallen, beispielsweise aufgrund einer Netzwerkspaltung, eines Stromausfalls oder eines Problems mit dem Fencing-Gerät selbst. Die Konfiguration mehrerer Fencing-Mechanismen verringert die Wahrscheinlichkeit, dass der Ausfall eines Fencing-Geräts schwerwiegende Folgen hat.
Konfigurieren Sie abhängig von den Fencing-Gerätetypen und den Fencing-Methoden, die für Ihre Konfiguration notwendig sind, die cluster.conf folgendermaßen:
  1. Geben Sie im fencedevices Abschnitt jedes Fencing-Geräts mittels eines fencedevice Elements und den von dem Fencing-Gerät abhängigen Parametern an. Beispiel 7.3, »APC Fencing-Gerät zu cluster.conf hinzugefügt« zeigt ein Beispiel für eine Konfigurationsdatei, zu der ein APC-Fencing-Gerät hinzugefügt wurde.
  2. Geben Sie im clusternodes Abschnitt innerhalb des fence Elements für jeden clusternode Abschnitt die Fencing-Methode für den Knoten an. Spezifizieren Sie den Fencing-Methodennamen mithilfe des method Parameters name. Geben Sie das Fencing-Gerät für jede Fencing-Methode an, und zwar mithilfe des device Elements und dessen Parametern, name und Fencing-Gerät-spezifischen Parametern. Beispiel 7.4, »Fencing-Methoden zu cluster.conf hinzugefügt« zeigt ein Beispiel für eine Fencing-Methode mit einem Fencing-Gerät für jeden Knoten im Cluster.
  3. Fügen Sie für andere Fencing-Methoden als das Power-Fencing (also SAN/Speicher-Fencing) im clusternodes Abschnitt einen unfence Abschnitt ein. Dadurch wird sichergestellt, dass ein abgegrenzter Knoten erst wieder re-aktiviert wird, nachdem er neu gestartet wurde. Wenn Sie ein Gerät konfigurieren, dass Unfencing erfordert, muss der Cluster zunächst gestoppt werden, dann muss die vollständige Konfiguration einschließlich Geräten und Unfencing hinzugefügt werden, bevor der Cluster gestartet wird. Weitere Informationen über das Aufheben der Knotenabgrenzung finden Sie auf der fence_node(8) Handbuchseite.
    Der unfence Abschnitt enthält im Gegensatz zum fence Abschnitt keine method Abschnitte. Er enthält direkte device Referenzen, welche die entsprechenden Geräteabschnitte für fence widerspiegeln, sowie zusätzlich die explizite Aktion (action) "on" oder "enable". Dasselbe fencedevice wird sowohl von den fence als auch von unfence device Zeilen referenziert, und es sollten dieselben Parameter für den Knoten wiederholt werden.
    Indem Sie den action Parameter auf "on" oder "enable" setzen, wird dieser Knoten nach einem Neustart aktiviert. Beispiel 7.4, »Fencing-Methoden zu cluster.conf hinzugefügt« und Beispiel 7.5, »cluster.conf: Mehrere Fencing-Methoden pro Knoten« enthalten Beispiele für die unfence Elemente und Parameter.
    Für weitere Informationen über unfence werfen Sie einen Blick auf die fence_node Handbuchseite.
  4. Aktualisieren Sie den config_version Parameter, indem Sie dessen Wert erhöhen (ändern Sie ihn z.B. von config_version="2" auf config_version="3").
  5. Speichern Sie die /etc/cluster/cluster.conf ab.
  6. (Optional) Überprüfen Sie die aktualisierte 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. Führen Sie den cman_tool version -r Befehl aus, um die Konfiguration an die übrigen Cluster-Knoten zu verbreiten. Dadurch wird auch eine zusätzliche Validierung ausgeführt. Es ist notwendig, dass ricci auf jedem Cluster-Knoten ausgeführt wird, um die aktualisierten Cluster Konfigurationsdaten verbreiten zu können.
  8. Vergewissern Sie sich, dass die aktualisierte Konfigurationsdatei übertragen wurde.
Falls nötig, können Sie komplexe Konfigurationen mit mehreren Fencing-Methoden pro Knoten und mit mehreren Fencing-Geräten pro Methode konfigurieren. Falls mehrere Fencing-Methoden pro Knoten konfiguriert sind und die Abgrenzung mit der ersten Methode fehlschlägt, versucht der Fencing-Daemon fenced die nächste Methode usw., bis er schließlich eine Methode findet, die funktioniert.
Manchmal ist es zur Abgrenzung eines Knotens nötig, zwei I/O-Pfade oder zwei Stromversorgungen zu deaktivieren. Sie erreichen dies durch Angabe von zwei (oder mehr) Geräten innerhalb der Fencing-Methode. fenced führt den Fenching-Agent einmal für jede Fencing-Gerätezeile aus; alle müssen erfolgreich verlaufen, damit das Fencing insgesamt erfolgreich ist.
Komplexere Konfigurationen werden im Abschnitt »Fencing-Konfigurationsbeispiele« veranschaulicht.
Weitere Informationen über die Konfiguration bestimmter Fencing-Geräte finden Sie auf der Handbuchseite eines Fencing-Geräte-Agenten (z.B. auf der Handbuchseite für fence_apc). Des Weiteren finden Sie Informationen über Fencing-Parameter in Anhang A, Parameter der Fencing-Geräte, den Fencing-Agenten in /usr/sbin/, das Cluster-Schema unter /usr/share/cluster/cluster.rng, und das kommentierte Schema unter /usr/share/doc/cman-X.Y.ZZ/cluster_conf.html (z.B. /usr/share/doc/cman-3.0.12/cluster_conf.html).

7.3.1. Fencing-Konfigurationsbeispiele

Das folgende Beispiel zeigt eine einfache Konfiguration mit einer Fencing-Methode pro Knoten und einem Fencing-Gerät pro Fencing-Methode:
Die folgenden Beispiele zeigen komplexere Konfigurationen:

Anmerkung

Die Beispiele in diesem Abschnitt können nicht alle möglichen Fälle aufzeigen, es gibt also durchaus andere Wege, wie Sie das Fencing Ihren Anforderungen entsprechend konfigurieren können.

Beispiel 7.3. APC Fencing-Gerät zu cluster.conf hinzugefügt


<cluster name="mycluster" config_version="3">
   <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>
         <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>

In diesem Beispiel wurde ein Fencing-Gerät (fencedevice) zum fencedevices Element hinzugefügt und spezifiziert den Fencing-Agenten (agent) als fence_apc, die IP-Adresse (ipaddr) als apc_ip_example, das Login (login) als login_example, den Namen des Fencing-Geräts (name) als apc und das Passwort (passwd) als password_example.

Beispiel 7.4. Fencing-Methoden zu cluster.conf hinzugefügt


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="APC">
              <device name="apc" port="1"/>
             </method>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="APC">
              <device name="apc" port="2"/>
            </method>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="APC">
              <device name="apc" port="3"/>
            </method>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
         <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>

In diesem Beispiel wurde eine Fencing-Methode (method) zu jedem Knoten hinzugefügt. Der Name der Fencing-Methode (name) für jeden Knoten ist APC. Das Gerät (device) für die Fencing-Methode in jedem Knoten spezifiziert den Namen (name) als apc und eine eindeutige APC Switch Netzanschlussnummer (port) für jeden Knoten. Zum Beispiel lautet die Netzanschlussnummer für node-01.example.com 1 (port="1"). Der Gerätename für jeden Knoten (device name="apc") verweist auf das Fencing-Gerät anhand des Namens (name) apc in dieser Zeile des fencedevices Elements: fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example".

Beispiel 7.5. cluster.conf: Mehrere Fencing-Methoden pro Knoten


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="APC">
              <device name="apc" port="1"/>
             </method>
            <method name="SAN">
	      <device name="sanswitch1" port="11"/>
             </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="11" action="on"/> 
         </unfence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="APC">
              <device name="apc" port="2"/>
            </method>
            <method name="SAN">
	      <device name="sanswitch1" port="12"/>
             </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="12" action="on"/> 
         </unfence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="APC">
              <device name="apc" port="3"/>
            </method>
            <method name="SAN">
	      <device name="sanswitch1" port="13"/>
             </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="13" action="on"/> 
         </unfence>
     </clusternode>
   </clusternodes>
   <fencedevices>
        <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/>
        <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example"
login="login_example" name="sanswitch1" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>


Beispiel 7.6. cluster.conf: Fencing, Multi-Pathing mehrerer Ports


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="SAN-multi">
	      <device name="sanswitch1" port="11"/>
	      <device name="sanswitch2" port="11"/>
	    </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="11" action="on"/>
             <device name="sanswitch2" port="11" action="on"/>
         </unfence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="SAN-multi">
	      <device name="sanswitch1" port="12"/>
	      <device name="sanswitch2" port="12"/>
            </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="12" action="on"/>
             <device name="sanswitch2" port="12" action="on"/>
         </unfence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="SAN-multi">
	      <device name="sanswitch1" port="13"/>
	      <device name="sanswitch2" port="13"/>
            </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="13" action="on"/>
             <device name="sanswitch2" port="13" action="on"/>
         </unfence>
     </clusternode>
   </clusternodes>
   <fencedevices>
        <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example"
login="login_example" name="sanswitch1" passwd="password_example"/> 
        <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example"
login="login_example" name="sanswitch2" passwd="password_example"/> 
   </fencedevices>
   <rm>
   </rm>
</cluster>


Beispiel 7.7. cluster.conf: Fencing von Knoten mit Dual-Stromversorgung


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="APC-dual">
              <device name="apc1" port="1"action="off"/>
              <device name="apc2" port="1"action="off"/>
              <device name="apc1" port="1"action="on"/>
              <device name="apc2" port="1"action="on"/>
             </method>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="APC-dual">
              <device name="apc1" port="2"action="off"/>
              <device name="apc2" port="2"action="off"/>
              <device name="apc1" port="2"action="on"/>
              <device name="apc2" port="2"action="on"/>
            </method>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="APC-dual">
              <device name="apc1" port="3"action="off"/>
              <device name="apc2" port="3"action="off"/>
              <device name="apc1" port="3"action="on"/>
              <device name="apc2" port="3"action="on"/>
            </method>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
       <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc1" passwd="password_example"/>
       <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc2" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>


Werden Netzschalter zum Abgrenzen von Knoten mit dualer Stromversorgung verwendet, muss den Agenten mitgeteilt werden, beide Netzanschlüsse zu deaktivieren, bevor die Stromversorgung auf einem der beiden Anschlüsse wiederhergestellt werden kann. Das standardmäßige Verhalten des Agenten beim ein- und ausschalten könnte andernfalls dazu führen, dass die Stromversorgung auf dem Knoten nie vollständig abgeschaltet wird.
Red Hat logoGithubRedditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

© 2024 Red Hat, Inc.