2. Oktober 2018 Aleksej Kusnir

Windows Failover Cluster Tutorial für Anfänger

Einen Windows Server Cluster zu betreiben kann so einfach sein, wenn Sie die Grundlagen und das grundlegende Verständnis dazu haben.

In diesem Tutorial zeige ich Ihnen die Bestandteile eines Windows Failover Clusters.

Sie lernen was Sie genau beachten müssen und wo Sie einen Cluster verwenden können.

Zum Schluss zeige ich Ihnen in einem Screencast (Video), wie Sie ein Windows Cluster installieren und konfigurieren.

Bevor Sie aber ein Cluster installieren, sollten Sie die grundlegenden Elemente eines Clusters kennen lernen.

Dazu lesen Sie am besten den Artikel vom Anfang bis zum Ende. Die Kapitel bauen aufeinander auf.

Was ist ein Windows Failover Cluster?

Ein Windows Failover Cluster ist ein Zusammenschluss aus mindestens 2x Windows Server Systemen.

Ein Windows Server Cluster wird dazu verwendet, um eine Windows Applikation hoch verfügbar bereitzustellen.

Dazu gibt es zwei Modus Arten.

Active | Active

Die Windows Anwendung läuft auf beiden Windows Servern im Cluster gleichzeitig.  

Fällt ein Windows Server im Cluster aus, entsteht nur eine geringe Unterbrechung.

 Active | Passiv

Die Windows Anwendung läuft nur auf einem Windows Server im Cluster.  

Fällt ein Windows Server im Cluster aus, übernimmt der zweite “Passive” Windows Server den Betrieb.

Um die Windows Cluster Funktion zu nutzen, müssen Sie auf jedem Windows System, das Sie im Cluster betreiben möchten, das Failover Cluster Feature installieren.

Vorteile eines Failover Clusters

  • Ausfallsicherheit für kritische Anwendungen 
  • Verschieben der meisten Cluster Ressourcen von einem Host auf den anderen im laufenden Betrieb. 
  • Fileserver hochverfügbar 
  • Hyper-V hochverfügbar 
  • SQL Server hochverfügbar 
  • DHCP Server hochverfügbar 
  • Storage Replica hochverfügbar 
  • Storage Spaces Direct

Was ist ein Cluster Quorum?

Das Quorum in einem Cluster wird als Zeuge (Witness) genutzt. 

Falls Cluster Knoten durch ein Netzwerkproblem nicht mehr miteinander kommunizieren können, wir das Quorum verwendet um zu bestimmen, ob der Cluster noch verfügbar ist.

Aber auch im Falle dessen, dass nur 50% der Cluster Ressourcen noch zur Verfügung stehen, wird das Quorum verwendet.

Nehmen wir mal an Sie haben einen Cluster aus 4 Knoten.

2 dieser Knoten fallen aus. Dann haben Sie nur noch 50% der Knoten. 

Ein Windows Cluster ist so konfiguriert, dass er Ihre Daten schützen möchte. Er würde sich bei 50% abschalten, weil Windows nicht zulassen möchte, dass Sie Ihre Daten verlieren.

Hier kommt das Quorum ins Spiel.  

Das Quorum wird in diesem Fall als Zeuge und somit als ein Knoten im Cluster gewährtet. 

Mit 2 Knoten und einem Quorum haben Sie somit 3 Knoten im Cluster und somit 60% der Ressourcen. Der Cluster bleibt an.

Um diese Funktion zu erreichen, muss das Cluster Quorum von jedem Cluster Knoten immer erreichbar sein.

Welche Art von Quorum (Zeuge) gibt es unter Windows Server?

Es gibt drei Arten von Quorums?

Shared Disk

Vorteile

  • Wenn Shared Storage im Cluster sowieso genutzt wird, dann macht eine Shared Disk wirklich Sinn. Fällt der Storage aus ist es dann meist auch egal ob noch die Shared Disk da ist.
  • Meist von allen Host immer erreichbar.

Nachteile

  • Schwierig im Stretch Cluster betrieb. 
  • Shared Storage muss verwendet werden (Hier aber nur 1 GB)

Fileshare

Vorteile

  • Jeder beliebige Windows Fileserver kann genutzt werden. 
  • Günstige Variante, wenn kein Shared Storage zur Verfügung steht.

Nachteile

  • Fileserver muss von allen Clusterknoten immer erreichbar sein. 
  • Bei Netzwerkproblem ist das Quorum meist auch dann nicht mehr da.

Azure Storage

Vorteile

  • Immer erreichbar, solange eine Internetverbindung existiert. 
  • Sehr gut geeignet für Stretch Cluster zwischen zwei Rechenzentren. 
  • Günstiger Speicher.

Nachteile

  • Sie benötigen einen Azure Account. 
  • Zugang zu Azure muss verfügbar sein (Internet) 
  • Bei Netzwerkproblem ist das Quorum auch nicht mehr erreichbar.

Wenn die Möglichkeit besteht, würde ich die Shared Disk oder das Azure Storage nehmen. In kleinen-/ oder Testumgebungen reicht aber auch ein Fileshare als Quorum.

Windows Failover Cluster Manager

Die Hauptaufgabe eines Failover Clusters ist es sicherzustellen, dass ein Service, der auf dem Cluster läuft vor Ausfall geschützt ist.

Dies wird erreicht in dem ein Service nicht nur auf einem System, sondern auf 2 oder mehr Systemen laufen kann.

Wenn ein Cluster Knoten aus bestimmten Gründen nicht mehr erreichbar ist, übernimmt ein anderer Knoten die Bereitstellung eines Services.

In einem Cluster können verschiedene Windows Dienste hochverfügbar bereitgestellt werden.

Um die Konfiguration und Installation der Windows Dienste im Cluster zu ermöglichen, gibt es den Failover Cluster Manger.

Der Failover Cluster Manager ist ein Feature unter Windows Server.

Im Failover Cluster Manager verwalten Sie Rollen, Nodes, Storage und das Netzwerk.

Failover Cluster mit Windows Admin Center verwalten

Seit Anfang dieses Jahres 2018 gibt es das Windows Admin Center, vorher bekannt als Project Honolulu.

Mit Windows Admin Center können Sie Ihre komplette Windows Server Umgebung mit einem normalen Browser verwalten.

Die benötigen weder Silverlight noch Adobe Flash Player. Windows Admin Center basiert auf einer reinen HTML5 Umgebung.

Im Windows Admin Center können Sie auch Ihre Windows Server Cluster verwalten.

Was Windows Admin Center ist und wie Sie Windows Admin Center verwalten, können Sie in unseren Blogartikel “Windows Admin Center Download und Installation” nachlesen. https://www.linetwork.de/windows-admin-center/

Welche Voraussetzungen sind für ein Cluster zu erfühlen?

Einfach gesagt macht ein Cluster nur ab mindestens zwei Windows Servern Sinn.

Sie können natürlich ein Cluster auch nur mit einem Windows Server erstellen, aber dann muss man sich fragen wofür ist der Cluster?

Aber gehen wir zusammen einmal die Voraussetzungen durch, die meiner Meinung nach wichtig für ein funktionierendes Cluster sind.

  1. Mindestens zwei Windows Server 2012 R2, besser 2016 oder 2019. 
  2. Ein Shared Disk oder Azure Quorum. 
  3. Shared Storage für die Anwendungen bzw. Rollen. 
  4. Die Windows Server sind Mitglieder im Active Directory 
  5. ClusterName und eine freie IP-Adresse.

Was ist eine Rolle im Failover Cluster?

Ein Windows Cluster bauen wir nur, damit wir eine Anwendung hochverfügbar bereitstellen können, korrekt?

Im Failover Cluster Manager werden Anwendungen Rollen genannt.

Somit können Sie unter einem Cluster mehrere Anwendungen der gleichen Art bauen, z.B. mehrere Fileserver Rollen.

Welchen Vorteil hat dies?

Sie können z.B. eine Fileserver Rolle auf einem Clusterknoten und die andere Fileserverrolle auf dem anderen Clusterknoten betreiben.

In einem Hyper-V Cluster z.B. ist jede Virtuelle Maschine eine Rolle. Diese Rolle kann dann zwischen den Hyper-V Hosts im Cluster verschoben werden.

Also merken Sie sich einfach Anwendung = Rolle.

Standardmäßig können die folgenden Windows Anwendungen (Rollen) in einem Windows Server Cluster betrieben werden.

  • DFS Namespace Server 
  • DHCP Server 
  • Distributed Transaction Coordinator (DTC) 
  • File Server 
  • Generic Application 
  • Generic Script 
  • Generic Service 
  • Hyper-V Replica Broker 
  • iSCSI Target Server 
  • iSNS Server 
  • Message Queuing 
  • Other Server 
  • Virtual Machine 
  • WINS Server

Doch bevor Sie damit beginnen Rollen zu erstellen, müssen wir das Netzwerk und Storage konfigurieren.

Wie wird das Netzwerk im einem Failover Cluster konfiguriert?

Wie jeder Windows Server seine Netzwerkadapter hat, so hat ein Cluster ebenfalls ein Cluster Netzwerk.

Wenn Sie z.B. ein Cluster aus zwei Windows Servern erstellen, die sich in einem C-Klass Netz z.B. 192.168.X.X befinden, dann erstellt der Cluster automatisch ein Cluster Netzwerk für dieses Subnetz.

Sie sehen dann im Failover Cluster Manager eine Netzwerkressource aus zwei Netzwerkadaptern.

In dieser Netzwerkressource steht dann, welche Windows Server Netzwerkadapter für dieses Netzwerk zuständig sind.

Wenn Sie später einen weiteren Clusterknoten hinzufügen, wird dessen Netzwerkadapter automatisch hinzugefügt.

Merken Sie sich einfach: 1 Subnetzt = 1 Clusternetzwerk.

Wie funktioniert das genau mit dem Shared Storage im Failover Cluster?

Wenn Ihre Anwendung Speicher benötigt um Daten oder Informationen abzulegen, dann müssen Sie im Cluster auch ein Shared Storage zur Verfügung stellen.

Shared Storage ermöglich Ihnen, dass jeder Clusterknoten auf das Storage zugreifen kann.

Wenn ein Clusterknoten ausfallen sollte, besteht weiterhin die Verbindung zum Shared Storage da ja beide Knoten Zugang zum Storage haben.

Damit Sie Shared Storage im Windows Cluster bereitstellen können, müssen ein paar Voraussetzungen erfüllt werden.

Sie können kein Lokales Storage, was als Lokale Festhalte auf Ihren Clusterknoten liegt als Shared Storage anbieten.

  1. Sie müssen ein über iSCSI, SAS, Fiber Channel oder bei Hyper-V auch über SMB basiertes Storage zur Verfügung stellen. 
  2. Beide Windows Server im Cluster müssen mit dem Storage verbunden sein und das Storage sehen können. 
  3. Wird das Storage über mehrere Wege bzw. über mehrere Switche bereitgestellt, sollten Sie das MPIO Features unter Windows Server verwenden.

Wenn Sie einen Hyper-V Server im Cluster bereitstellen, dann sollten Sie Ihr Storage als CSV (Cluster Shared Volume) bereitstellen. Dies ist ein Feature im Cluster.

Der Storage Owner also der Primäre Storage Inhaber ist immer nur ein Server im Cluster.

Fällt dieser Server aus, übernimmt ein anderer Cluster Knoten den Primären Dienst. Somit ist eine Hochverfügbarkeit auch für die Storageanbindung gewährleistet.

Anbei ist eine Darstellung wie Shared Storage im Cluster verwendet wird.

So, nun haben Sie die wichtigsten Infos zu Failover Cluster erhalten. Dies war ein genereller Einblick in das Clustering.

Bei einigen Windows Anwendungen gibt es Besonderheiten, die Microsoft entwickelt hat um diese Dienste im Cluster möglichst einfach bereitzustellen.

 Seit Windows Server 2016 in der Datacenter Version gibt es großartige Enterprise Features wie Storage Replica, Storage Spaces Direct oder auch Hyperconverged.

In folgenden gehe wir auf die Besonderheiten für Hyper-V, Storage Spaces Direct und Hyperconverged ein.

Hyper-V Cluster

Der Hyper-V Server ist ein Hypervisor mit dem Sie virtuelle Maschinen bereitstellen.

Einen Hyper-V Cluster nutzen Sie, damit im Notfall oder bei geplanten Updates alle virtuellen Maschinen von einem Hyper-V Host auf einen anderen verschoben werden können und das im Live Betrieb.

Damit Sie dies erreichen können, müssen Sie einen Windows Server Cluster erstellen.

Welche Voraussetzungen müssen Sie bei einem Hyper.-V Cluster erfühlen.

  1. Sie benötigen ein vernünftiges performantes Shared Storage. 
  2. Sie benötigen ein Management Netzwerk. 
  3. Sie benötigen ein Live Migration Netzwerk. 
  4. Sie benötigen ein Storage Netzwerk (Nur bei iSCSI oder SMB) 
  5. Sie müssen Ihr Shared Storage als CSV konfigurieren.

Warum Cluster Shared Volumen (CSV)?

Da wir ja gelernt haben das jeder Anwendung im Cluster einer Rolle entspricht, so ist jede virtuelle Maschine im einem Hyper-V Cluster eine Anwendung und somit auch eine Clusterrolle.

Eine Shared Storage Disk kann aber nur von einer einzigen Rolle im Cluster genutzt werden.

 Somit müssen Sie für jede virtuelle Maschine einen eigenen Shared Storage Disk erstellen. Das wäre ein extremer Verwaltungsaufwand.

In einem Windows Server Cluster können Sie Ihren eigebundenen Shared Storage Disk als CSV konfigurieren.

Eine CSV sieht dann jeder Hyper-V Server im Cluster.

Der CSV Disk wird dann in jedem Hyper-V Server unter: C:\ClusterStorage\Volume1… angezeigt.

Dadurch müssen Sie nun Ihren virtuellen Maschinen im Cluster, nicht mehr die ganze Shared Disk zuweisen, sondern nur den Pfad C:\ClusterStorage\Volume1… usw.

Auf diesen Pfad können dann alle VMs im Cluster gleichzeig zugreifen.

Somit können Sie dann z.B.: einen Shared Disk mit 1 TB Speicher dem Cluster zuweisen und dort alle die VMs im Cluster ablegen.

Ich finde dieses Feature einfach nur genial und super einfach zu handhaben.

So nun kommen wir zu Storage Spaces Direct.

Storage Spaces Direct Cluster

Storage Spaces Direct ermöglich Ihnen ein Enterprise Storage für ihre Hyper-V oder eine SQL Umgebung auf Basis von Windows Server 2016 oder 2019 zu erstellen.

Normalerweise ist das so, dass Sie für den Betrieb eines Hyper-V Clusters ein Shared Storage auf Basis von iSCSI oder Fiber Channel nutzen.

Mit SMB 3.0 haben Sie die Möglichkeit Ihre VMs auch auf einer Windows Freigabe abzulegen. Sprich Enterprise Storage über SMB. Dies funktioniert aber nur für Hyper-V Cluster.

SMB 3.0 ist eine Erweiterung von dem SMB Protokoll und ist extra für den Austausch von Dateien innerhalb eines Netzwerks für Hyper-V und co. entwickelt worden.

 Microsoft ist aber eine Nummer weitergegangen und hat eine Storage Lösung erfunden, die es erlaubt ein Enterprise Storage auf Basis von x86 Servern und Windows Server 2016 oder 2019 zu erstellen.

Der Vorteil ist, dass lokale Festplatten verendet werden.

Storage Spaces Direct Bereitstellung Steps ohne Details

  1. Sie haben z.B. 2 Server in einem Cluster, die interne Festplatten haben. 
  2. Durch einen Befehl wandeln Sie den ganz normalen Windows Server Cluster einem Storage Spaces Direct Cluster um.
  3. Storage Spaces Direct fasst dann alle internen Festplatten auf den Windows Server zu einem  StoragePool zusammen.
  4. Sie erstellen daraufhin eine neue Fileserver Rolle im Cluster. Diese neue Fileserver Rolle heißt “Scale Out Fileserver Cluster” oder auf SOFS genannt.
  5. Diese SOFS Rolle kann dann Freigaben bereitstellen, auf dem Sie Ihre Hyper-V Maschinen ablegen können.

Um das etwas zu verdeutlichen, habe ich mal ein Bild hinzugefügt.

Ein super Lösung um Storage für Ihr Hyper-V Cluster bereitzustellen.

Hyperconverged Cluster

Sie haben schon gemerkt, wenn wir ein Hyper-V Cluster erstellen, benötigen wir immer ein Shared Storage.

Das sind immer zwei Komponenten, die Sie bereitstellen müssen. Sie benötigen dadurch mehr Hardware, mehr Netzwerkressourcen usw.

Deswegen hat Microsoft die Hyperconverged Lösung für Hyper-V und Storage entwickelt.

Die Lösung ist fantastisch.

Hyperconverged heißt: Hyper-V + Storage Spaces Direct in einem Cluster.

Anstatt für Hyper-V einen eigenen Cluster zu erstellen und für Storage Spaces Direct ebenfalls einen Cluster bereitzustellen, werden die beiden Dienste einfach zusammengeführt.

Nehmen wir mal an Sie möchten ein Hyper-V Cluster aus zwei Hyper-V Hosts erstellen.

Dann benötigen Sie nur zwei Server, auf dem Sie Hyper-V und Storage Spaces Direct installieren. Sie müssen kein Extra Shared Storage etc. bereitstellen.

Die Hyper-V Server benötigen nur genügend RAM, CPU und interne Festplatten um die VMs abzulegen und betreiben zu können.

Es gibt natürlich noch viele Details, die man beachten muss bei der Konfiguration, Auswahl der Hardware usw. Aber prinzipiell läuft alles auf ein paar x86 Servern.

Anbei eine Abbildung wie das in der Praxis aussieht.

Failover Cluster Installation und Konfiguration

Nun möchte Ich Ihnen in einem Screencast zeigen, Wie Sie einen Windows Failover Cluster Manager installieren und konfigurieren.