© royalmg, Photocase.com
Geclusterter CIFS-Server mit Samba und CTDB
Tanzen in der Formation
von Michael Adam
Erschienen im Linux-Magazin
2009/05
Samba ist seit der Version 3.3 zusammen mit dem Lock-Manager CTDB erstmals vollumfänglich als Active-Active-Cluster konfigurierbar. Mit der neuen Registry-Konfiguration kann der Admin den Samba-Cluster mit einem lockeren Hüftschwung verwalten.
Die Open-Source-Software Samba [1] stellt seit 1992 auf Linux und anderen Unix-Plattformen Datei- und Druck-Dienste für Windows-Clients zur Verfügung. In dem Bemühen, möglichst viele Eigenschaften von Windows-Servern genau nachzubilden, hinken die Samba-Entwickler [2] naturgemäß hinter dem beweglichen Ziel, Microsofts Entwicklung, her. Dass Microsoft Ende 2007 die Spezifikationen der Serverprotokolle offengelegt hat [3], vereinfacht die Lage zum Glück etwas.
Der Verfolgte wird zum Verfolger
In den letzten zwei Jahren ist jedoch etwas Unerhörtes geschehen: Mit Hilfe der Zusatzsoftware CTDB [4] implementiert Samba ein Feature, das Windows offenbar nicht bietet: Es kann als geclusterter Fileserver arbeiten. Das heißt, Samba bietet ein verteiltes Dateisystem von mehreren Clusterknoten nach außen wie einen einziger CIFS-Server konsistent und performant an. Dabei skaliert der Cluster fast beliebig mit der Zahl der Knoten. Zwar bietet auch Windows 2003 Clustering; es zielt aber vor allem auf Web- und Datenbankserver ab und ist auf acht Knoten beschränkt. Ein Fileserver-Cluster, der frei skaliert, ist mit Microsofts Bordmitteln nicht realisierbar.
Die Software CTDB debütierte im Frühjahr 2007, die CTDB-Anbindung in Samba war bis vor Kurzem aber nur als speziell angepasste Version 3.0.25-ctdb zu haben. Mit Version 3.2.0 hielt der Clustercode im Juli 2008 Einzug in Sambas Standard-Distribution - wenn auch nicht ganz vollständig. Aber Samba 3.3.0, das in diesem Januar erschienen ist, ist nun komplett clusterfähig.
Des Clusters Kern
Der folgende Artikel erläutert die Probleme, die Samba im Cluster löst, geht kurz auf die Entstehung und das Design von CTDB ein und beschreibt schließlich die Konfiguration von CTDB und geclustertem Samba, insbesondere aber Sambas neue Registry-basierte Konfiguration.
Es gibt mehrere Formen des Clustering: Rechen- oder Performance-Cluster, High-Availability-, Loadbalancing-Cluster und diverse Mischformen. Dieser Artikel dreht sich um einen geclusterten oder verteilten Samba-Server, also um einen Verbund mehrerer Rechner (Knoten), die ein gemeinsames verteiltes Dateisystem verwenden.
Auf jedem Knoten läuft Samba und alle Samba-Instanzen erscheinen für den Client wie ein einziger (!) Samba-Server. Die Samba-Instanzen sind identisch konfiguriert und bieten die gleichen Dateibereiche aus dem gemeinsamen Dateisystem als Freigabe an. Bei dem CTDB-Konzept handelt es sich also im Wesentlichen um einen Loadbalancing-Cluster (Activ-Activ-Cluster), angereichert mit High-Availability-Funktionalität.
Als wichtiger Aspekt beim geclusterten Samba-Server gilt seine Skalierbarkeit: Die Anzahl der bewältigten Requests pro Sekunde und die akkumulierten Datendurchsätze sollten je nach Hardware mit der Knotenzahl möglichst linear wachsen. Im Kern geht es darum, aus einem SAN ein geclustertes, hoch verfügbares, skalierendes NAS zu machen.
|
Eine Entwicklergruppe um Volker Lendecke und Andrew Tridgell (Abbildung 1) implementierte ab 2006 in dem speziellen SVN-Branch »vl-messaging« zunächst einen Message-Dispatcher-Daemon, der auf allen Knoten laufen soll und die Nachrichten verteilt. Außerdem abstrahierten sie im selben Branch Sambas Zugriff auf die TDBs und schufen mit dem Proof of Concept eines zentralen TDB-Daemon eine erste im Cluster skalierende Samba-Version. Nach den Abstraktionsschichten für den TDB-Zugriff erschien im April 2007 die erste CTDB, die das Messaging und die Behandlung der flüchtigen TDB-Datenbanken im Clusterbetrieb beherrscht.
Anhand der Vorarbeiten im »vl-messaging«-Zweig ersetzten auf allen Knoten laufende, ihre Datenrecords replizierende CTDB-Daemons den Engpass zentraler TDB-Daemons. Die Handhabung von persistenten TDB-Datenbanken war jedoch nicht implementiert. Diese CTDB-Version arbeitete mit der speziellen Samba-Version 3.0.25-ctdb zusammen.
Mittlerweile ist Ronnie Sahlberg der Maintainer des CTDB-Projekts. Sein CTDB-Git-Branch [7] ist der Kristallisationspunkt für den offiziellen CTDB-Code. Neuere CTDB-Versionen unterstützen auch die persistenten TDBs sowie Datenbank-Transaktionen auf dem API-Level, sodass CTDB für alle TDB-Belange einsetzbar ist. Außerdem haben die Entwickler die CTDB um viele Monitoring- und High-Availability-Features ergänzt. Die ganze CTDB-Historie beschreibt das Samba-Wiki [8].
|
| Whitepaper |
|
Usage Landscape Enterprise Open Source Data Integration
Die Nachfrage nach Datenintegrationslösungen für Unternehmen ist zunehmend gestiegen und vor allem das Interesse an Open Source Technologien wird immer größer. Doch wie und von wem werden Open Source Datenintegrationslösungen genutzt und welches Nutzungsverhalten lässt sich daraus ableiten? Das vorliegende White Paper präsentiert die Erfahrungswerte von über 1000 Open Source Nutzern und liefert fundierte Antworten auf diese Fragen.
Download PDF (Registrierung erforderlich)
|
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|