Workshop: Virtueller Windows-2003-Cluster

05.09.2005 von Christoph Lange
Mit Hilfe von VMware lässt sich ein virtueller Windows-2003-Cluster mit zwei Nodes aufbauen. Am Ende der folgenden Schritt-für-Schritt-Lösung können Sie damit über einen funktionierenden 2-Knoten-Windows-Cluster verfügen.

Der folgende Beitrag demonstriert, wie sich mit VMware ein virtueller Windows-2003-Cluster mit zwei Nodes aufbauen lässt. Wir erklären Ihnen Schritt für Schritt, was Sie tun müssen, um in VMware Shared-SCSI-Disks zu erzeugen, wie Sie die Cluster-Services unter Windows 2003 einrichten und was Sie bei der Konfiguration der Netzwerk- und Cluster-Ressourcen berücksichtigen sollten.

Für den Workshop benötigen Sie eine Virtualisierungs-Software, mit der sich auf einem Rechner mehrere virtuelle Betriebssysteme betreiben lassen. Wir verwenden den GSX-Server von VMware, der bei uns auf einem Windows-2003-Server läuft.

Um unter Windows 2003 einen Cluster aufzusetzen, ist die Enterprise Edition erforderlich. Sie unterstützt bis zu acht Knoten pro Cluster. Bei der Betriebssystem-Installation richtet Windows 2003 das Cluster-Verwaltungs-Tool gleich mit ein, so dass Sie für das später durchzuführende Cluster-Setup keine weitere Software benötigen.

VMware-Sessions einrichten

Vor der Installation der beiden Windows-2003-Sessions für die Cluster-Nodes müssen Sie zunächst einen weiteren Windows-Server in einer VMware-Session als Domänen-Controller aufsetzen. Dies ist notwendig, weil die Knoten eines Clusters Mitglied einer Windows-Domäne sein müssen.

Wir bauen deshalb zunächst eine VMware-Session mit einem Windows-2000-Server auf, der als Domain Controller (DC) der Domäne CLUSDOM konfiguriert wird. Im nächsten Schritt installieren wir in zwei weiteren VMware-Sessions die beiden Windows-2003-Server (Enterprise Edition) VMNODE1 und VMNODE2, aus denen später dann der 2-Knoten-Cluster VMCLUS wird.

Cluster-Nodes mit zwei Netzwerkkarten

Beim Setup der VMware-Sessions sollten Sie den beiden späteren Cluster-Servern jeweils zwei Netzwerkkarten spendieren. Denn ein Windows-Cluster sollte für die interne Kommunikation der Nodes untereinander nicht das normale IP-Netz verwenden, sondern ein dezidiertes „privates“ Netz. Dies erhöht neben der Performance der Cluster-Kommunikation auch die Verfügbarkeit, da die Nodes bei einem Ausfall des privaten Netzes ihre Cluster-Informationen weiterhin über das normale „öffentliche“ Netz austauschen können.

Konfigurieren Sie die Netzwerkkarten deshalb gleich so, wie Sie sie später für den Cluster benötigen. Eine Karte auf jedem Knoten erhält die IP-Adresse des „öffentlichen“ IP-Netzes, mit dem auch der Domänen-Controller verbunden ist. Im Workshop haben wir hierfür das IP-Subnetz 192.168.111.xxx gewählt. Die zweite Karte wird als Mitglied des privaten IP-Netzes zur Cluster-internen Kommunikation konfiguriert. Es verwendet bei uns den Adressbereich 192.168.74.xxx. Prüfen Sie anschließend bei jedem der drei virtuellen Windows-Server auf der Kommandozeile per Ping-Befehl, ob die Kommunikation in allen Subnetzen korrekt funktioniert.

Nachdem die Installation der beiden Windows-2003-Server abgeschlossen ist, fügen Sie diese zur Domäne CLUSDOM hinzu. Gehen Sie hierfür auf Arbeitsplatz und öffnen Sie per rechter Maustaste das Eigenschaften-Menü. Klicken Sie dann im Reiter Computername auf die Schaltfläche Ändern und tragen Sie den Domänennamen ein.

Virtuelle Shared Disks erzeugen

Um einen Windows-Cluster zu betreiben, müssen alle daran beteiligten Knoten auf die im Cluster genutzten Festplatten-Ressourcen zugreifen können. Denn ein wichtiger Zweck des Clusters ist es ja, dass beim Ausfall eines Servers automatisch ein anderer Knoten dessen Ressourcen übernimmt. Unter VMware sind ein paar zusätzliche Schritte erforderlich, damit dies auch in unserem virtuellen Netzwerk funktioniert.

Zunächst müssen Sie mit Hilfe des Kommandozeilen-Utilitys plainmaker.exe so genannte „physical“ SCSI-Disks erstellen. Dieser Disk-Typ unterstützt gleichzeitige Zugriffe von unterschiedlichen VMware-Sessions.

Die Syntax lautet:

plainmaker <Dateiname.pln> <Kapazität in MByte>

Mit dem folgenden Befehl erstellen Sie eine SCSI-Disk mit 1 GByte Speicherkapazität:

plainmaker shareddisk01.pln 1000

VMware legt durch diesen Befehl die Datei shareddisk01.pln an, die das virtuelle SCSI-Laufwerk bereitstellt. Um weitere SCSI-Disks zu erzeugen, wiederholen Sie diesen Befehl und geben jeweils einen neuen Dateinamen an, zum Beispiel shareddisk02.pln für die zweite Platte et cetera.

Plattenzugriff für Nodes einrichten

Damit beide Nodes auf die per plainmaker.exe erstellten „Physical Disks“ zugreifen können, müssen Sie nun noch in jeder VMware-Session die zentrale Konfigurationsdatei - sie hat die Endung .vmx - so anpassen, dass die Session SCSI Reservation unterstützt. Fahren Sie hierfür zunächst beide virtuellen Server herunter und öffnen Sie anschließend mit einem Texteditor wie zum Beispiel Notepad die .vmx-Datei der jeweiligen Session. Fügen Sie in der Datei folgende Zeile hinzu:

scsi0.sharedBus = "virtual"

Damit können die virtuellen Maschinen den gesamten SCSI-Bus 0 nutzen. Wenn Sie dieselbe Befehlszeile erneut hinzufügen und die 0 durch eine 1 ersetzen, können andere Systeme auch den SCSI-Bus 1 nutzen.

Sie müssen in dieser Datei nun noch eine weitere Zeile hinzufügen, damit die SCSI Reservation aktiviert wird. Diese ist erforderlich, damit die Sessions gleichzeitig auf die SCSI-Disks zugreifen können. Geben Sie in der .vmx-Datei ein:

disk.locking = "false"

Fügen Sie anschließend diejenigen SCSI-Disks, auf die unsere beiden Cluster-Nodes zugreifen sollen, im Konfigurationsmenü der jeweiligen VMware-Session hinzu. Wählen Sie hierfür im Add-Disk-Menü über die Browser-Schaltfläche die jeweilige Datei aus, in unserem Beispiel Shareddisk01.pln, 02, 03 und 04.

Jetzt sind beide Cluster-Nodes in der Lage, auf diese Laufwerke zuzugreifen. Bei der Konfiguration des Clusters ordnen Sie diese Disks später dann jeweils dem gewünschten Node zu.

Festplatten einrichten

Fahren Sie nun den Server VMNODE1 wieder hoch und überprüfen Sie in der Windows-Festplattenverwaltung, ob er die vier SCSI-Disks korrekt erkennt. Sie sollten die neuen Disks bei dieser Gelegenheit auch gleich initialisieren. Achten Sie dabei darauf, dass die virtuellen Platten als Basic Disk eingerichtet sind. Dies ist wichtig, da der Cluster-Administrator Dynamic Disks nicht erkennt. Am einfachsten verläuft das Cluster-Setup, wenn Sie die Shared Disks auch gleich formatieren und ihnen einen Laufwerksbuchstaben zuweisen. Für die Quorum-Disk verwenden wir Q:. Dann erkennt der Cluster-Setup-Wizard die Platten und richtet auch das Quorum gleich auf dem richtigen Volume ein.

Der zweite Node sollte zu diesem Zeitpunkt noch nicht hochgefahren werden, da der Zugriff auf die gemeinsam genutzten Disks erst nach der Installation der Cluster-Services auf kontrollierte Weise erfolgt. Diesen Server nehmen wir erst wieder in Betrieb, wenn der erste Cluster-Node eingerichtet wurde und die Kontrolle über die Shared-Disks übernommen hat. Dann lässt sich der zweite Node gefahrlos hinzufügen.

Art der Quorum-Disk wählen

Bevor wir im nächsten Schritt die Cluster-Services installieren, sollten Sie sich überlegen, welchen Quorum-Typ Sie einsetzen möchten. Für unseren 2-Knoten-Cluster ist die Standard-Quorum-Disk die richtige Wahl. In größeren Clustern mit drei oder mehr Knoten könnte aber auch das mit Windows 2003 neu eingeführte Majority Node Set Quorum (MNS) in Frage kommen.

Diese Entscheidung ist für den späteren Betrieb des Clusters sehr wichtig und lässt sich nachträglich nicht mehr ändern. Die Quorum-Disk ist quasi das Herzstück des Clusters. Sie enthält eine Datenbank mit allen wichtigen Konfigurationsinformationen, zum Beispiel welche physikalischen Server zum Cluster gehören, welche Ressourcen vorhanden sind oder wer derzeit der Eigentümer (Owner) der jeweiligen Ressource ist.

Majority Node Set Quorum

Die Standard-Quorum-Disk wird als ein eigenes Volume auf dem zentralen Speichersystem eingerichtet, auf das alle Knoten zugreifen können. Kontrolliert wird das Quorum immer nur von einem Node. Beim Majority Node Set Quorum dagegen speichert jeder Knoten eine eigene Kopie der Quorum-Datenbank und gleicht sie permanent mit den anderen Nodes ab. Der Cluster startet nach einem Ausfall nur dann wieder, wenn eine Mehrheit der Gesamtknoten und damit der Quorum-Disks verfügbar ist.

Für 2-Knoten-Cluster eignet sich das MNS-Quorum damit nicht, weil ein einzelner Node gar nicht mehr aktiv werden könnte. Der MSN-Quorum-Typ ist vor allem für Cluster interessant, die sich über größere Entfernungen hinweg erstrecken. Mit einem Standard-Quorum müssten alle Cluster-Nodes auf die zentral gespeicherte Quorum-Disk zugreifen können. Dies ist technologisch sehr aufwendig, wenn mehrere hundert oder gar tausend Kilometer überbrückt werden müssen. Beim MNS-Quorum entfällt diese Anforderung, da jeder Node eine eigene Kopie der Quorum Disk vorhält. Die Informationen zwischen den entfernten Nodes werden in diesem Fall per Replikation über das TCP/IP-Netz miteinander abgeglichen.

Installation der Cluster-Services auf dem ersten Node

Für unseren 2-Node-Cluster verwenden wir eine Standard-Quorum-Disk, die wir ja bereits formatiert und mit dem Laufwerksbuchstaben Q: versehen haben. Prüfen Sie sicherheitshalber noch einmal, ob alle Netzwerkverbindungen verfügbar sind. Insbesondere der Domain Controller muss erreichbar sein, wenn das Cluster-Setup läuft.

Starten Sie nun den Cluster-Wizard, indem Sie unter den Windows-Verwaltungswerkzeugen den Cluster-Administrator aufrufen. Je nach Ausgangszustand des Systems startet der Wizard entweder gleich, oder Sie müssen in der Cluster-Oberfläche im Aufklappmenü die Option Neuen Cluster erstellen wählen. Geben Sie dann einen Namen für den Cluster ein, zum Beispiel VMCLUS, und tragen Sie den Node-Namen in das entsprechende Feld ein. Wir haben den ersten Knoten VMNODE1 genannt.

Anschließend analysiert Windows das System und das Netzwerk, ob alle für eine Cluster-Installation erforderlichen Komponenten vorhanden und richtig konfiguriert sind.

Cluster-Setup

Wenn Sie im Analyse-Fenster auf das Pluszeichen klicken, sehen Sie, welche Partition der Wizard für die Quorum-Disk ausgewählt hat. Klicken Sie nun auf Weiter und geben Sie die IP-Adresse ein, über die sich das Cluster-Verwaltungs-Tool künftig mit dem Cluster verbindet. Wir wählen hierfür eine IP-Adresse aus dem „privaten" Netz.

Das nächste Wizard-Fenster fordert Sie dazu auf, einen Namen für den Cluster-Service-Account sowie ein Passwort einzugeben. Wie Sie dieses Passwort zu einem späteren Zeitpunkt ändern können, erfahren Sie in Artikel 305813 der Microsoft Knowledge Base.

Anschließend haben Sie die Möglichkeit, ein anderes Laufwerk für das Standard-Quorum zu wählen oder ein Majority Node Set Quorum einzurichten. Da wir in unserem Workshop einen 2-Node-Cluster aufbauen, verwenden wir aus den bereits angeführten Gründen das Standard-Quorum. Wenn Sie nun auf Weiter klicken, startet das Cluster-Setup. Sobald es erfolgreich abgeschlossen wurde, öffnet der Wizard automatisch das Cluster-Verwaltungs-Tool, und Sie können überprüfen, ob alles korrekt eingerichtet wurde.

Disk-Volumes als Virtuelle Server einrichten

Bevor wir den zweiten Cluster-Node hinzufügen, richten wir die vorhandenen SCSI-Disks als virtuelle Server ein. Der Setup-Wizard ordnet automatisch jede erkannte SCSI-Disk einer eigenen Disk Group zu und nummeriert sie von 0 aus aufsteigend durch. Die Quorum-Disk ist standardmäßig Mitglied der Cluster-Gruppe, die vom Setup-Wizard bereits als virtueller Server eingerichtet wurde. Wir fügen nun den drei anderen Disk-Gruppen jeweils eine eigene IP-Adresse und einen eigenen Netzwerknamen als Cluster-Ressource hinzu. Dadurch lässt sich die jeweilige Partition über ihre Netzwerkadresse oder ihre IP-Adresse ansprechen, und zwar unabhängig davon, welcher physikalische Server sie gerade verwaltet.

Markieren Sie hierfür in der Cluster-Verwaltung mit der rechten Maustaste eine Disk Group und fügen Sie mit Neu/Neue Ressource zunächst die IP-Adresse und dann den Netzwerknamen hinzu. Wenn Sie diese Schritte für alle Ressourcen durchgeführt haben, können Sie diese per rechter Maustaste online schalten.

Den zweiten Node zum Cluster hinzufügen

Nachdem Sie den ersten Cluster-Node eingerichtet haben, kontrolliert dieser die Festplatten, und Sie können nun den zweiten Knoten gefahrlos wieder hochfahren. Um ihn zum Cluster hinzuzufügen, markieren Sie auf dem ersten Node im Cluster-Administrator den Cluster-Namen mit der rechten Maustaste und wählen Neu/Node. Daraufhin startet der Cluster-Wizard, und Sie geben hier den Namen des neuen Knotens an. Anschließend führt Windows zunächst wieder die Vorabanalyse durch. Fällt sie positiv aus, nimmt der Wizard den neuen Server in den Cluster auf.

Sobald der zweite Knoten zum Cluster hinzugefügt wurde, können Sie die Ressourcen nach Belieben vom ersten auf den zweiten Node verschieben und umgekehrt. Wenn Sie die Quorum-Ressource nachträglich auf eine andere Partition verlagern möchten, markieren Sie im Cluster-Administrator links oben den Eintrag mit dem Cluster-Namen mit der rechten Maustaste und wählen Sie das Eigenschaften-Menü. Hier können Sie beim Reiter Quorum im Aufklappfenster Quorum resource eine andere Partition als physikalischen Speicherort für die Quorum-Disk wählen.

Defekten Cluster wieder entfernen

Falls Ihnen bei der Konfiguration des Clusters oder zu einem späteren Zeitpunkt ein schwerwiegender Fehler unterläuft, durch den sich der Cluster nicht mehr starten lässt, können Sie den defekten Cluster mit Hilfe des Kommandozeilen-Tools Cluster.exe wieder vom System entfernen.

Der Befehl hierfür lautet:

cluster node [Node-Name] /forcecleanup

In unserem Beispiel würden Sie auf der Kommandozeile des ersten Knotens eingeben:

cluster node vmnode1 /forcecleanup

Damit werden die Cluster-Services von dem angegebenen Node wieder entfernt. Wenn Sie diesen Befehl nacheinander auf allen Nodes eines nicht mehr funktionierenden Clusters ausführen und ihn damit komplett entfernen, können Sie den Cluster anschließend wieder neu installieren. Dies sollte aber nur in seltenen Ausnahmefällen erforderlich sein, da die Cluster-Services unter Windows 2003 normalerweise sehr stabil laufen. (mje)

Übersicht: Komponenten des Cluster-Service

Im Folgenden finden Sie eine Auflistung der Komponenten des Cluster-Service: