Tags: Hyper-V, Hochverfügbarkeit, Dateisystem, Cluster
Cluster Shared Volumes ermöglichen das gleichzeitige Lesen und Schreiben mehrerer Cluster-Knoten auf einer LUN. Das ist besonders dann erforderlich, wenn eine VM über Live Migration bei einem Failover/Failback unterbrechungsfrei auf einen anderen Host wechseln soll. Die Konfiguration erfolgt über den Failovercluster-Manager und PowerShell.
CSV wurde in einer unausgereiften ersten Version mit Windows Server 2008 R2 für Hyper-V-Cluster eingeführt und sollte die damals ebenfalls neue Live Migration ergänzen. Bei einem unterbrechungsfreien Umzug von VMs auf einen anderen Host greift nämlich der Ziel-Server auf die gleiche Logical Unit Number (LUN) zu wie der Quell-Server, um die Kontrolle über die VM zu übernehmen. CSV sorgen dafür, dass dabei keine Konflikte auftreten.
Konvertierung von NTFS und ReFS
Hyper-V-Cluster oder ein Dateisystem wie CSV sind jedoch keine zwingende Voraussetzung für eine Live Migration. VMs lassen sich auch von einzelnen Hosts ohne Shared Storage unterbrechungsfrei migrieren, allerdings werden dann nicht nur die RAM-Inhalte übertragen, sondern mit einem größeren Zeitfenster auch die virtuellen Laufwerke.
Damit virtuelle Maschinen zentral auf einer LUN für alle Knoten ansprechbar sind, kann man Cluster-Datenträger in Cluster Shared Volumes konvertieren. Sie müssen entweder mit NTFS formatiert sein, oder seit Windows Server 2012 R2 wird auch ReFS (Resilient File System) für CSV unterstützt. Nach Abschluss des Vorgangs wechselt ihre Bezeichnung in CSVFS, um unter anderem Applikationen zu verdeutlichen, dass es sich um ein CSV handelt.
Als Storage-Systeme kommen dafür nicht nur blockorientierte Speicher wie iSCSI-Targets in Frage, sondern auch Scale-out File-Server unter Windows 2012 (R2) im Zusammenspiel mit Storage Spaces. Microsoft positioniert diese Kombination als File-basierte Alternative zu SANs, wobei man es hier nicht mit LUNs, sondern mit virtuellen Datenträgern zu tun hat. ReFS ist in dieser Konstellation nicht als Basis für CSV zulässig. Cluster Shared Volumes im ReFS Format sind jedoch möglich in Storage Spaces Direct des Windows Server 2016.
CSV erstellen im Failovercluster-Manager
In der deutschen GUI des Failovercluster-Managers wurde diese Funktion mit Zu freigegebenen Clustervolumes hinzufügen übersetzt und ist über den Punkt Speicher => Datenträger und Rechtsklick auf die entsprechende LUN auswählbar.
Auch ein Rückkonvertieren ohne Datenverluste ist mit dem Failovercluster-Manager über das Kontextmenü des CSV möglich.
Nachdem der Datenträger in ein CSV konvertiert wurde, wird auf allen Knoten unter C:\ClusterStorage (%SystemDrive%\ClusterStorage) die LUN abgebildet. CSV verringern somit die Anzahl der erforderlichen LUNs für Failover-Clustering und benötigen keine Laufwerksbuchstaben. Die darin enthaltenen Volumes mit Namen Volume(x) können zu Beginn auch umbenannt werden.
Bei einem Zwei-Knoten-Cluster unter Windows Server 2012 empfiehlt es sich, pro Knoten ein CSV bereitzustellen, um unter anderem auch die Last der Zugriffsverwaltung auszugleichen. Windows Server 2012 R2 verteilt die Rolle des CSV Coordinator, also dem schreibberechtigten Besitzerknoten für Metadaten, automatisch über die CSV.
Wenn man ermitteln möchte, welcher Cluster-Knoten als Koordinator fungiert, kann man dies auch über das PowerShell-Cmdlet Get-ClusterSharedVolume herausfinden.
Aktivieren und anpassen des CSV-Cache
Der CSV Block Cache erhöht den lesenden Zugriff auf gleiche Blöcke und somit die IOPS in Hyper-V um ein Vielfaches. In Windows Server 2012 ist er standardmäßig nicht aktiviert, wohingegen er in Windows Server 2012 R2 und 2016 für jedes CSV eingeschaltet ist. Dort muss jedoch seine Größe konfiguriert werden. Der Cache nutzt den physischen Arbeitsspeicher und ein empfohlener Wert für Hyper-V-CSVs liegt bei 512 MB. Der Ausgangswert für einen Server 2012 R2/2016 liegt bei null.
Unter Windows Server 2012 R2 und 2016 konfiguriert man die Größe des Cache über PowerShell folgendermaßen:
(Get-Cluster).BlockCacheSize = 512
Auf einem Windows Server 2012 aktiviert man den Cache zuerst mit diesem Kommando:
Get-ClusterSharedVolume "Cluster Disk 1" | Set-ClusterParameter CsvEnableBlockCache 1
Anschließend teilt man dem Cache den gewünschten Speicher zu:
(Get-Cluster).SharedVolumeBlockCacheSizeInMB = 512
Bei Windows Server 2012 müssen die CSV-Datenträger offline und wieder online geschaltet werden, nachdem der Cache eingeschaltet wurde. Für 2012 R2 und 2016 ist dies nicht erforderlich und mögliche Downtime entfällt.
Erweiterte CSV Diagnose
Das neue Cmdlet Get-ClusterSharedVolumeState dient dazu, den genauen Status von Cluster Shared Volumes anzuzeigen. Es können verschiedene Zustände und die Gründe dafür pro Server ermittelt werden: Direct, File System Redirected und Block Redirected.
Im obigen Beispiel wurde der umgeleitete Zugriff manuell über das Kontextmenü im unteren Bereich des Failovercluster-Managers im CSV herbeigeführt. Der Grund wird somit als UserRequest ausgegeben, welcher sich in diesem Fall auch über die GUI erkennen lässt. In anderen Fällen lässt sich über die GUI nicht feststellen, ob sich der Knoten in einem Redirected Mode befindet.
Täglich Know-how für IT-Pros mit unserem Newsletter
Marcel Küppers arbeitet seit über 25 Jahren in der IT, aktuell als Team Leader, zuvor als Consultant und Infrastructure Architect unter anderem für den japanischen Konzern JTEKT/TOYODA mit Verantwortung über die Europastandorte Krefeld und Paris. Darüber hinaus wirkte er als Berater im EU-Projekt-Team für alle Lokationen des Konzerns mit und ist spezialisiert auf hochverfügbare virtualisierte Microsoft-Umgebungen plus Hybrid Cloud Solutions. Zertifizierungen: MS Specialist und MCTS für Hyper-V/SCVMM, MCSE, MCITP, MCSA. Zusätzlich zertifiziert für PRINCE2 Projektmanagementmethode.
// Kontakt: E-Mail, Twitter, LinkedIn //
Verwandte Beiträge
- VM Compute Resiliency: Toleranz bei temporären Ausfällen im Hyper-V-Cluster
- Windows Server 2016 Hyper-V Cluster: VMs in bestimmter Reihenfolge starten
- Scale-out File-Server für Hyper-V: Cluster und Storage Spaces einrichten
- Scale-out File-Server für Hyper-V: Features und Voraussetzungen
- Anleitung: Hyper-V-Cluster einrichten und VMs hochverfügbar machen
Weitere Links
1 Kommentar
Die Anpassungen des CSVFS Caches sind in 2019 nicht mehr notwendig, da größer ausgelegt.
Das Problem, dass ReFS formatierte CSVFS (Cluster Shared Volumes) immer im Redirected Mode laufen besteht in 2019 und ReFS 3.4 weiterhin.
Dokumentiert ist dies nirgendwo offiziell.
Ganz im Gegenteil wird gesagt, dass ReFS und NTFS gleichwertig sind, mit Vorteilen von ReFS bei Einsatz von Storage Spaces (Direct), oder auch ohne bei Hyper-V.