Firmenbrief

18.10.2006

Verfügbarkeit von Rechnersystemen, Teil 4


Verfügbarkeit von Rechnersystemen, Teil 4

Symmetrische Cluster: Verteilung von Systemfunktionen auf mehrere Server (Aktiv/Aktiv-Cluster)

Mit dem heutigen Beitrag schließen wir unsere Reihe zur Verfügbarkeit von Rechnersystemen ab. Im Unterschied zu dem im letzten Beitrag vorgestellten Aktiv/Passiv-Cluster sind beim Aktiv/Aktiv-Cluster beide Rechnerknoten gleichzeitig aktiv, das heißt, sie übernehmen Rechenaufgaben und schreiben Daten auf Platte.

Aktiv/Aktiv-Cluster haben gegenüber Aktiv/Passiv-Clustern einige Vorteile, beispielsweise:

  • Rechnerknoten ausserhalb der Reichweite von SCSI-Kabellängen (3, 6, bzw. 12m) sind möglich. Somit können Rechner in getrennten Rechenzentren aufgestellt werden.

  • Keine gemeinsamen Datenspeicher, daher kein Single Point of Failure.

  • Aktive, gleichzeitige Nutzung beider (oder mehrerer) Rechnerknoten, daher bessere Hardware-Nutzung und Lastverteilung.

Für den technischen Aufbau von Aktiv/Aktiv-Clustern gibt es viele Varianten. So gibt es einen Ansatz, die technisch begrenzte Länge von SCSI-Kabeln zu beseitigen, und eine virtuelle End-to-End-Verbindung zwischen Server und Speicher herzustellen, indem man SCSI auf das TCP-Protokoll aufsetzt. Genannt wird dieser durchaus attraktive Ansatz “iSCSI”, konnte sich aber - insbesondere im Linuxumfeld - auf Grund von Kompatibilitätsproblemen noch nicht flächendeckend durchsetzen.

Im folgenden wird ein typischer Ansatz vorgestellt, der auch in den CoreBiz Cluster-Produkten der Linux Information Systems (LIS AG) zum Einsatz kommt.

Hardware-Komponenten:

Als Rechner kommen alle Server in Betracht, die ausreichend Plattenplatz für die erforderlichen Datenmengen bieten. Der Einsatz von Raid-Systemen sollte hier Standard sein, generell kann der Storage-Bereich durch interne oder externe (DAS) Raid-Systeme dargestellt werden.

Beide Rechnerknoten sollten hinsichtlich ihrer Leistung und Speicherkapazitäten vergleichbar sein, um die Möglichkeit von Funktionsübernahmen innerhalb des Clusters überhaupt möglich zu machen.

Konfiguration:

Die auf den Clustern laufenden Dienste werden in zwei oder mehrere Dienste kategorisiert, beispielsweise in Fileserver/Groupware/Datenbank. Für jeden Dienst wird innerhalb des Storage-Systems ein eigener “Datencontainer” definiert, der ausschließlich durch diesen Dienst beschrieben wird. Der zweite Server wird exakt identisch konfiguriert.

Nun wird für jeden Dienst definiert, auf welchem Knoten er aktiv laufen soll. Damit ist er auf dem anderen Knoten automatisch “passiv”,d. h. installiert und konfiguriert, aber nicht gestartet.

Im Falle eines Problems im operativen Betrieb und Ausfall eines aktiven Dienstes wird – ähnlich wie im Falle des Aktiv/Passiv-Clusters – der bis dahin passive Dienst auf dem anderen Knoten gestartet.

So weit, so gut - aber wie bleiben die Daten aktuell?

Die den Diensten eindeutig zugeordneten Datencontainer (zum Beispiel aktiver und passiver “Groupware-Datencontainer”) werden im laufenden Betrieb permanent auf Network-Block-Device-Ebene abgeglichen. Somit setzt ein aufgrund eines Ausfalls neu gestarteter Dienst auf aktuellen Daten auf. Der Abgleich der Datencontainer erfolgt aus Performancegründen über einen eigenen Netzwerkadapter.


Dieser Ansatz eines Aktiv/Aktiv-Clusters besticht durch seine Klarheit und Einfachkeit und bietet sich damit insbesondere für mittelständische Unternehmen und für Behörden und Kommunen an.

Informationen zu unseren Dienstleistungen finden Sie auch auf unserer Homepage unter http://www.linux-ag.com