Anhang F. High Availability LVM (HA-LVM)
Das Red Hat Hochverfügbarkeits-Add-On bietet Unterstützung für hochverfügbare LVM-Datenträger (HA-LVM) in einer Ausfallsicherungs-Konfiguration. Dies unterscheidet sich von active/active-Konfigurationen mithilfe des Clustered Logical Volume Manager (CLVM), bei dem es sich um eine Reihe von Clustering-Erweiterungen zu LVM handelt, die einem Cluster von Computern die Verwaltung von gemeinsam genutztem Speicher erlauben.
Die Entscheidung, ob CLVM oder HA-LVM eingesetzt werden sollte, hängt von den Anforderungen der implementierten Applikationen oder Dienste ab.
- Falls die Applikationen clusterfähig sind und zur simultanen Ausführung auf mehreren Rechnern optimiert wurden, dann sollte CLVM verwendet werden. Insbesondere müssen Sie CLVM einsetzen, falls mehr als ein Knoten in Ihrem Cluster Zugriff auf den Speicher benötigt, der somit also von den aktiven Knoten gemeinsam verwendet wird. CLVM ermöglicht einem Benutzer die Konfiguration von logischen Datenträgern auf gemeinsam genutztem Speicher, indem der Zugriff auf den physischen Speicher während der Konfiguration des logischen Datenträgers gesperrt wird, und verwendet geclusterte Sperrdienste, um den gemeinsam verwendeten Speicher zu verwalten. Für weitere Informationen über CLVM und über die LVM-Konfiguration im Allgemeinen siehe Logical Volume Manager Administration.
- Falls die Applikationen optimal in active/passive-Konfigurationen (Ausfallsicherung) laufen, in denen zu jeder Zeit nur ein Knoten aktiv ist, der auf den Speicher zugreift, sollten Sie High Availability Logical Volume Management Agenten (HA-LVM) einsetzen.
Die meisten Applikationen laufen besser in einer active/passive-Konfiguration, da sie für die gleichzeitige Ausführung mit anderen Instanzen weder ausgelegt noch optimiert sind. Wenn Sie eine Applikation, die nicht clusterfähig ist, auf geclusterten logischen Datenträgern ausführen, kann dies zu eingeschränkter Leistung führen, falls der logische Datenträger gespiegelt wird. Der Grund dafür ist in diesen Instanzen der Mehraufwand durch die Cluster-Kommunikation der logischen Datenträger selbst. Eine clusterfähige Applikation muss dazu in der Lage sein, Leistungsvorteile zu erreichen, die die Leistungseinbußen durch die Cluster-Dateisysteme und clusterfähigen logischen Datenträger aufwiegen. Für einige Applikationen und Arbeitslasten ist dies einfacher zu erreichen als für andere. Für die Entscheidung zwischen den zwei LVM-Varianten müssen Sie daher die Anforderungen an den Cluster definieren und abwägen, ob der zusätzliche Aufwand für die Optimierung für eine active/active-Konfiguration die möglichen Vorteile rechtfertigt. Die meisten Benutzer werden die besten HA-Ergebnisse mit HA-LVM erreichen.
HA-LVM und CLVM ähneln sich insofern, als sie die Beschädigung von LVM-Metadaten und den logischen Datenträgern verhindern, die andernfalls auftreten könnte, falls mehrere Rechner sich überschneidende Änderungen vornehmen dürften. HA-LVM erzwingt, dass ein logischer Datenträger nur exklusiv aktiviert werden kann, mit anderen Worten, zu jeder Zeit nur auf einem Rechner aktiv sein kann. Das bedeutet, dass nur die lokalen (nicht geclusterten) Implementierungen der Speichertreiber verwendet werden. Indem auf diese Weise der Mehraufwand der Cluster-Koordination vermieden wird, steigt die Leistung. CLVM hat diese Einschränkungen nicht - ein Benutzer kann nach Belieben einen logischen Datenträger auf allen Rechnern im Cluster aktivieren; dies erfordert die Verwendung von clusterfähigen Speichertreibern, die es ermöglichen, clusterfähige Dateisysteme und darauf Applikationen zu betreiben.
HA-LVM kann mit zwei verschiedenen Methoden eingerichtet werden, um das exklusive Aktivieren logischer Datenträger zu erreichen.
- Die bevorzugte Methode benutzt CLVM, aktiviert die logischen Datenträger jedoch immer nur exklusiv. Dies hat den Vorteil, dass es einfacher einzurichten ist und dass administrative Fehler (wie das Entfernen eines derzeit verwendeten logischen Datenträgers) vermieden werden. Um CLVM zu verwenden, muss die Hochverfügbarkeits-Add-On und Resilient Storage Add-On Software einschließlich des
clvmd
Daemons laufen.Das Verfahren zur Konfiguration von HA-LVM mithilfe dieser Methode wird in Abschnitt F.1, »Konfiguration von HA-LVM-Ausfallsicherung mit CLVM (bevorzugt)« beschrieben. - Die zweite Methode benutzt lokale Rechnersperren und LVM-"Tags". Diese Methode hat den Vorteil, dass keine LVM-Clusterpakete erforderlich sind. Allerdings sind mehr Schritte zur Einrichtung nötig und ein Administrator wird nicht daran gehindert, versehentlich einen logischen Datenträger von einem Knoten im Cluster zu entfernen, auf dem es nicht aktiv ist. Das Verfahren zur Konfiguration von HA-LVM mithilfe dieser Methode wird in Abschnitt F.2, »Konfiguration von HA-LVM-Ausfallsicherung mit Tagging« beschrieben.
F.1. Konfiguration von HA-LVM-Ausfallsicherung mit CLVM (bevorzugt)
Um HA-LVM-Ausfallsicherung (unter Verwendung der bevorzugten CLVM-Variante) einzurichten, führen Sie die folgenden Schritte aus:
- Vergewissern Sie sich, dass Ihr System zur Unterstützung von CLVM konfiguriert ist. Dazu ist Folgendes erforderlich:
- Das Hochverfügbarkeits-Add-On und das Resilient Storage Add-On sind installiert, einschließlich des
cmirror
Pakets, falls die CLVM logischen Datenträger gespiegelt werden sollen. - Der
locking_type
Parameter im globalen Abschnitt der/etc/lvm/lvm.conf
Datei ist auf den Wert '3' gesetzt. - Die Hochverfügbarkeits-Add-On und Resilient Storage Add-On Software, einschließlich des
clvmd
Daemons, müssen laufen. Für CLVM-Spiegelung muss zudem dercmirrord
Dienst gestartet sein.
- Erstellen Sie den logischen Datenträger und das Dateisystem mithilfe der standardmäßigen LVM- und Dateisystem-Befehle, wie im folgenden Beispiel veranschaulicht.
#
pvcreate /dev/sd[cde]1
#vgcreate -cy shared_vg /dev/sd[cde]1
#lvcreate -L 10G -n ha_lv shared_vg
#mkfs.ext4 /dev/shared_vg/ha_lv
#lvchange -an shared_vg/ha_lv
Informationen über das Anlegen von LVM logischen Datenträgern finden Sie im Handbuch Administration des Logical Volume Manager. - Bearbeiten Sie die
/etc/cluster/cluster.conf
Datei, um den neu erstellten logischen Datenträger in einem Ihrer Dienste als Ressource hinzuzufügen. Alternativ können Sie Conga oder denccs
Befehl verwenden, um LVM- und Dateisystem-Ressourcen für den Cluster zu konfigurieren. Nachfolgend sehen Sie einen beispielhaften Ressourcen-Manager Abschnitt aus der/etc/cluster/cluster.conf
Datei, der einen CLVM logischen Datenträger als Cluster-Ressource konfiguriert:<rm> <failoverdomains> <failoverdomain name="FD" ordered="1" restricted="0"> <failoverdomainnode name="neo-01" priority="1"/> <failoverdomainnode name="neo-02" priority="2"/> </failoverdomain> </failoverdomains> <resources> <lvm name="lvm" vg_name="shared_vg" lv_name="ha-lv"/> <fs name="FS" device="/dev/shared_vg/ha-lv" force_fsck="0" force_unmount="1" fsid="64050" fstype="ext4" mountpoint="/mnt" options="" self_fence="0"/> </resources> <service autostart="1" domain="FD" name="serv" recovery="relocate"> <lvm ref="lvm"/> <fs ref="FS"/> </service> </rm>