cat-failover-cluster

Einblicke in Cluster Shared Volume (CSV)

FAILOVER CLUSTER

Logo Microsoft Windows Server 2008 R2Mit dem Release von Windows Server 2008 R2 erfährt besonders Hyper-V einige wichtige Erneuerungen.  Besonderes Augenmerk verdient dabei das Cluster Shared Volume (CSV) für den Failover Cluster.

Da NTFS nicht als Clustered File System ausgelegt wurde (wie Melio), kann jeweils nur ein Hyper-V Host eine Disk aktiv im Zugriff haben. Zudem wird bei einem Failover einer Cluster Group auch die dazugehörige Cluster Disk an den neuen Owner übergeben. Dies hat bei Windows Server 2008 (ohne R2) daher auch zun Design, eine Virtual Machine pro LUN geführt.

Mit dem Release von Windows Server 2008 R2 und Cluster Shared Volume (CSV) wird diese Limitierung für Hyper-V nun behoben. Mit der Erweiterung des File Systems ist es nun möglich, mehrere Virtual Machines (VMs) auf dem gleichen Logical Unit Number (LUN) abzulegen und gleichzeitig von verschiedenen Hyper-V Cluster Nodes zu betreiben. Die wichtigsten Vorteile von CSV vorab im Überblick:

  • Virtual Machine bleibt während eines Failovers verfügbar
  • Disks werden nicht dismounted / remounted
  • Single Name Space für den Zugriff auf die CSV Disk: %SystemDrive%\ClusterStorage\Volume…
  • Keine zusätzlichen Anforderungen an Shared Storage und Virtualization Host
  • Kein neues File System

How it works

Cluster Shared Volume (CSV) muss explizit für den Failover Cluster aktiviert werden. Anschliessend können verfügbare Cluster Disks als CSV Ressource konfiguriert werden und werden dann unter “%SystemDrive%\ClusterStorage\” angezeigt. Jede Cluster Disk erscheint dann als Subfolder mit der Bezeichnung VolumeX. Wie im Printscreen dargestellt, werden die Cluster Disks als C:\ClusterStorage\Volume1, …, C:\ClusterStorage\Volume4, dargestellt und auch über diesen Pfad angesprochen.

Einblicke in Cluster Shared Volume (CSV)

Bei CSV sperrt ein Cluster Node nicht mehr wie herkömmlich schon auf LUN-, sondern erst auf File-Level den Zugriff für die anderen Nodes. Man spricht in diesem Fall von “Distributed File Access”. Für jedes Volume agiert ein Node als sogenannter Coordinator welcher die Disk online im Zugriff hat. Der Coordinator ist dadurch auch der einzige Node, welcher vollständiger Write Access auf die Disk hat. Um Korruption von Files oder Volumes zu verhindern beinhaltet dies auch den Zugriff auf das NTFS Metadata.

Die anderen Non-Coordinator Nodes haben die Disk nicht gemounted und erhalten im Gegenzug eine RAW LUN Sector Map von Files welche für diesen Node von Wichtigkeit sind. Diese Information ermöglicht es Read / Write Operationen direkt auf der Disk durchzuführen. Dies erfolgt, ohne dass das NTFS Volume gemounted werden muss. Diesen Vorgang wird auch als “Direct I/O” bezeichnet. Ermöglicht wird dies mittels einem mini-filter Driver (CSVFilter.sys) welcher speziell NTFS entwickelt wurde.

Da Non-Coordinater keine Änderungen an Namespace oder Metadata durchführen können, werden Operationen wie Deleting oder Resizing von Files nur durch den Coordinator durchgeführt. Die Anfrage einer solchen Änderung wird via Server Message Block (SMB2) an den Coordinator Node weitergeleitet, welcher dann die Änderung an dem Namespace im Auftrag des Non-Coordinater Node durchführt.

Zu beachten ist, dass unter gewissen Umständen kein “Direct I/O” Zugriff möglich ist. Zum Beispiel ist kopieren von Dateien über Server Message Block (SMB) bei CSV nicht möglich, weswegen “Redirected I/O” verwendet wird. “Redirected I/O” heisst, dass sämtlicher I/O über den “Microsoft Failover Cluster Virtual Adapter” (NetFT) zum Coordinator Node weitergeleitet wird. Aus diesem Grund wird bei CSV empfohlen, auch für die Cluster Network Communications eine High Speed Connection (>1 GB/s) zu verwenden.

Die Network Connection für CSV ist im Übrigen Fault Tolerant. Bei einem Problem mit dem Life Migration Network Adapter kann automatisch auf eine andere Network Connection umgestellt werden.

CSV mit LiVe Migration

Mit Windows Server 2008 R2 wird mit Life Migration auch das pendant zu VMware VMotion oder Citrix XenMotion eingeführt. Ohne Cluster Shared Volume (CSV) muss auch die entsprechende Cluster Disk zunächst unmounted / mounted werden. Je nach System kann dies einige Sekunden in Anspruch nehmen, was je nach Applikation berücksichtigt werden muss.

CSV ist also nicht zwingend für Live Migration erforderlich, eine Kombination dieser beiden Technologien optimiert den Prozess aber um ein vielfaches. Mit CSV muss eine Cluster Disk (LUN) nicht an einen anderen Hyper-V Host übergeben werden um eine Virtual Machine zu migrieren und allfällige Disconnects werden vermieden. Übrigens, auch Quick Migration steht noch zur Verfügung.

Support

Cluster Shared Volume (CSV) in Windows Server 2008 R2 wird nur in Verbindung mit Hyper-V unterstützt. Ein Hyper-V Host verwendet folgende File-Typen:

  • .vhd
  • .avhd
  • .vsv
  • .xml
  • .bin
  • .iso
  • .vfd
  • .exp

Files von Applications, Features, oder anderen Roles als Hyper-V sollten nicht auf diesen Volumes gespeichert werden, da diese Szenarien nicht durch Microsoft supportet werden.

Konfiguration

Cluster Shared Volumes (CSV) können über die GUI in der Failover Cluster Management Console, oder mit PowerShell aktiviert werden. Erst nach der Aktivierung wird “Cluster Shared Volumes” in der Navigation dargestellt. Diese Einstellung wird einmal pro Failover Cluster vorgenommen und gilt dann für sämtliche Cluster Nodes.

Artikel welche die einzelnen Schritte zur Konfiguration von CSV beschreiben gibt es einige. Die beiden nachfolgenden Links führen zu Microsoft Ressourcen:

Deaktivieren von CSV

Falls es notwendig sein sollte die Funktion Cluster Shared Volumes (CSV) wieder zu deaktivieren, so ist dies nur mit einem PowerShell cmdlet möglich. CSV lässt sich nämlich mittels Failover Cluster Management Console nicht mehr deaktivieren. Mit geladenen Failover Cluster PowerShell Modules kann der Vorgang durchgeführt werden:

PS> Import-Module FailoverClusters
PS> Get-Cluster | %{$_.EnableSharedVolumes = "Disabled"}

Ein Tipp am Rande, Verfügbare und bereits geladene PowerShell Modules können ganz einfach mit dem cmdlet PS> Get-Module –list aufgelistet werden.

Weitere Informationen

Failover Cluster , Hyper-V

, , , ,

About the Author

Michel Luescher ist bei Microsoft Corporation als Architect im Center of Excellence (CoE) für Modern Datacenter tätig. Als technischer Berater fokussiert er sich auf die Planung und Umsetzung von Projekten mit dem Fokus auf Microsoft Cloud Lösungen für Datacenter im Enterprise und Service Provider Umfeld. { Hyper-V + System Center + Windows Azure = Your Cloud }.

Comments (1)

Hinterlasse eine Antwort.

Nachfolger von ServerManagerCMD Hyper-V Server 2008 R2 released