Inhaltsverzeichnis
Oracle Cluster File System 2 (OCFS2) ist ein allgemeines Journaling-Dateisystem, das vollständig in den Linux 2.6-Kernel und spätere Versionen integriert ist. OCFS2 ermöglicht das Speichern von binären Anwendungsdateien, Datendateien und Datenbanken auf Geräten in einem SAN. Alle Knoten in einem Cluster haben gleichzeitig Lese- und Schreibzugriff auf das Dateisystem. Ein verteilter Sperrenmanager sorgt dafür, dass es zu keinen Dateizugriffskonflikten kommt. OCFS2 unterstützt bis zu 32.000 Unterverzeichnisse und Millionen von Dateien in jedem Verzeichnis. Zur Verwaltung des Clusters läuft auf jedem Knoten der O2CB-Cluster-Dienst (ein Treiber).
OCFS2 wurde SUSE Linux Enterprise Server 9 im August 2005 hinzugefügt, um Oracle Real Application Cluster (RAC)-Datenbanken und Oracle Home (die Anwendungsdateien von Oracle) zu unterstützen. Ab SUSE Linux Enterprise Server 10 kann OCFS2 für jede der folgenden Speicherlösungen verwendet werden:
Oracle RAC und andere Datenbanken
Allgemeine Anwendungen und Auslastungen
XEN-Image-Speicher in einem Cluster
Virtuelle XEN-Computer und virtuelle Server können auf OCFS2-Volumes gespeichert werden, die von Cluster-Servern eingehängt werden, um eine schnelle und einfache Portabilität der virtuellen XEN-Computer zwischen den Servern zu gewährleisten.
LAMP-Stacks (Linux, Apache, MySQL znd PHP | Pearl | Python)
OCFS2 ist zudem vollständig in Heartbeat 2 integriert.
Als leistungsstarkes, symmetrisches, paralleles Cluster-Dateisystem unterstützt OCFS2 die folgenden Funktionen:
Die Dateien einer Anwendung stehen allen Knoten des Clusters zur Verfügung. Die Anwendung wird nur einmal auf einem OCFS2-Volume im Cluster installiert.
Alle Knoten haben gleichzeitig über die Standard-Dateisystemschnittstelle Lese- und Schreibzugriff auf den Speicher; dies vereinfacht die Verwaltung der clusterweit ausgeführten Anwendungen.
Der Dateizugriff wird vom Distributed Lock Manager (DLM) koordiniert.
Die Steuerung über den DLM ist in den meisten Fällen zweckmäßig; das Anwendungsdesign kann jedoch die Skalierbarkeit beeinträchtigen, wenn die Anwendung mit dem DLM um die Koordination des Dateizugriffs konkurriert.
Speichersicherungsfunktionen stehen auf allen Backend-Speichern zur Verfügung. Problemlos lässt sich ein Image der freigegebenen Anwendungsdateien erstellen, das bei einem Notfall eine schnelle Wiederherstellung ermöglicht.
OCFS2 bietet darüber hinaus folgende Funktionen:
Metadaten-Caching
Metadaten-Journaling
Knotenübergreifende Dateidatenkonsistenz
Eine GTK GUI-basierte Verwaltung über das Dienstprogramm ocfs2console
Betrieb als freigegebenes Stammdateisystem
Unterstützung für verschiedene Blockgrößen (jedes Volume kann eine andere Blockgröße haben) bis zu 4 KB bei einer maximalen Volume-Größe von 16 TB
Unterstützung für bis zu 255 Cluster-Knoten
Unterstützung für kontextabhängige symbolische Links (CDSL) bei knotenspezifischen lokalen Dateien
Asynchrone und direkte E/A-Unterstützung für Datenbankdateien zur Verbesserung der Datenbankleistung
Der O2CB-Cluster-Dienst umfasst verschiedene Module sowie arbeitsspeicherinterne Dateisysteme, die zur Verwaltung der OCFS2-Dienste und -Volumes erforderlich sind. Sie können festlegen, dass diese Module beim Systemstart geladen und eingehängt werden. Anleitungen hierzu erhalten Sie in Abschnitt 14.2.2, „Konfigurieren der OCFS2-Dienste“.
Tabelle 14.1. O2CB-Cluster-Dienststapel
Dienst |
Beschreibung |
---|---|
Node Manager (NM) |
Zeichnet alle Knoten in der Datei |
Heartbeat (HB) |
Gibt Benachrichtigungen nach oben oder unten aus, wenn Knoten zum Cluster hinzukommen oder den Cluster verlassen. |
TCP |
Ermöglicht die Kommunikation zwischen den Knoten über das TCP-Protokoll. |
Distributed Lock Manager (DLM) |
Zeichnet sämtliche Sperren sowie deren Eigentümer und Status auf. |
CONFIGFS |
Dateisystem für die Konfiguration des Benutzerspeicherplatzes. Weitere Informationen finden Sie in Abschnitt 14.1.4, „Arbeitsspeicherinterne Dateisysteme“. |
DLMFS |
Schnittstelle zwischen Benutzerspeicherplatz und DLM des Kernel-Speicherplatzes. Weitere Informationen finden Sie in Abschnitt 14.1.4, „Arbeitsspeicherinterne Dateisysteme“. |
Für OCFS2 müssen die Knoten im Netzwerk "alive" (betriebsbereit und online) sein. Um sicherzustellen, dass dies auch der Fall ist, sendet der O2CB-Cluster-Dienst in regelmäßigen Abständen so genannte Keepalive-Pakete. Der Cluster-Dienst verwendet dazu statt des LAN eine private Verbindung zwischen den Knoten, um zu verhindern, dass eventuelle Netzwerkverzögerungen als verschwundener Knoten interpretiert werden, was einer Selbstabriegelung des Knotens gleichkommen würde.
Der OC2B-Cluster-Dienst kommuniziert den Knotenstatus über ein Disk Heartbeat. Die Heartbeat-Systemdatei befindet sich auf dem SAN, wo sie allen Knoten des Clusters zur Verfügung steht. Die Blockzuweisungen der Datei entsprechen der Reihenfolge nach den Steckplatz-Zuweisungen der einzelnen Knoten.
Jeder Knoten liest die Datei in Zwei-Sekunden-Intervallen und schreibt in den ihm zugewiesenen Block. Änderungen am Zeitstempel eines Knotens sind ein Hinweis darauf, dass der Knoten betriebsbereit ist. Als "tot" wird ein Knoten bezeichnet, wenn er über eine bestimmte Anzahl an Intervallen (dem Heartbeat-Schwellenwert) nicht mehr in die Heartbeat-Datei schreibt. Selbst wenn nur ein einziger Knoten "alive" ist, muss der O2CB-Cluster-Dienst diese Überprüfung durchführen, da jederzeit ein anderer Knoten dynamisch hinzugefügt werden kann.
Den Disk Heartbeat-Schwellenwert können Sie in der Datei /etc/sysconfig/o2cb
mit dem Parameter O2CB_HEARTBEAT_THRESHOLD
ändern. Die Wartezeit berechnet sich wie folgt:
(O2CB_HEARTBEAT_THRESHOLD value - 1) * 2 = threshold in seconds
Wenn beispielsweise für O2CB_HEARTBEAT_THRESHOLD
der Standardwert 7 eingestellt ist, beträgt die Wartezeit 12 Sekunden ((7 - 1) * 2 = 12).
OCFS2 verwendet zur Kommunikation zwei arbeitsspeicherinterne Dateisysteme:
Tabelle 14.2. Von OCFS2 verwendete, arbeitsspeicherinterne Dateisysteme
OCFS2 speichert spezifische Parameterdateien für die Cluster-Knoten. Die Cluster-Konfigurationsdatei (/etc/ocfs2/cluster.conf
) befindet sich auf jedem dem Cluster zugewiesenen Knoten.
Das Dienstprogramm ocfs2console ist eine GTK GUI-basierte Schnittstelle für die Konfigurationsverwaltung der OCFS2-Dienste im Cluster. Mit diesem Programm können Sie die Datei /etc/ocfs2/cluster.conf
einrichten und auf allen Mitgliedsknoten des Clusters speichern. Darüber hinaus können Sie mit diesem Programm OCFS2-Volumes formatieren und einstellen sowie ein- und aushängen.
Weitere OCFS2-Dienstprogramme werden in der folgenden Tabelle beschrieben. Eine Beschreibung der Syntax dieser Befehle finden Sie auf den jeweiligen Manualpages.
Tabelle 14.3. OCFS2-Dienstprogramme
Zur Verwaltung der O2CB-Dienste verwenden Sie die folgenden Befehle. Eine Beschreibung der Befehlssyntax von o2cb finden Sie auf der Manualpage dieses Befehls.
Tabelle 14.4. O2CB-Befehle
Ab SUSE Linux Enterprise Server 10 wird das OCFS2-Kernelmodul (ocfs2
) automatisch installiert. Allerdings müssen Sie, wenn Sie OCFS2 verwenden möchten, noch die Pakete ocfs2-tools
und ocfs2console
auf den einzelnen Cluster-Knoten installieren. Dazu können Sie YaST oder die Kommandozeile verwenden.
Melden Sie sich als root
-Benutzer (bzw. als Benutzer mit gleichwertigen Berechtigungen) an und öffnen Sie das YaST-Kontrollzentrum.
Wählen Sie
+ .Geben Sie unter
Folgendes ein:ocfs2
Auf der rechten Seite sollten nun die Softwarepakete ocfs2-tools
und ocfs2console
angezeigt werden. Sind sie bereits markiert, so sind sie schon installiert.
Wenn die Pakete noch installiert werden müssen, markieren Sie sie, klicken Sie auf
und befolgen Sie die Anweisungen auf dem Bildschirm.