Einblicke in Cluster Shared Volume (CSV)

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, kann jeweils nur ein Cluster Node die Disk Ressource aktiv im Zugriff haben. Bei einem Failover werden die Disk Ressourcen beim noch aktiven Node dismounted und nach wenigen Sekunden Downtime beim passiven, respektive nun aktiven Node remounted. Wird High Availability in einem aktiv/passiv Scenario angeboten, stellt diese kurze Downtime grundsätzlich kein Problem dar. Bei der Server Virtualisierung sind aber bereits diese wenigen Sekunden ein grosses Problem.

Mit dem Release von Windows Server 2008 R2 und Cluster Shared Volume (CSV) wird diese Limitierung für Hyper-V nun umgangen. Mit der Erweiterung des File Systems ist es nun möglich, mehrere Virtual Machines (VMs) auf dem gleichen Logical Unit Number (LUN) abzulegen und geleichzeitig 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. CSV Ressourcen werden anschliessend im Verzeichnis %SystemDrive%\ClusterStorage\ angezeigt. Jede Shared Disk erscheint als Subfolder mit der Bezeichnung VolumeX, zum Beispiel C:\ClusterStorage\Volume1, C:\ClusterStorage\Volume2, usw. wie es auch in folgendem Printscreen dargestellt wird:

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 zu verwenden.

Die Network Connection für CSV ist im Übrigen Fault Tolerant. Bei einem Problem im Netzwerk wird automatisch auf ein andere Network Connection umgestellt.

Support

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

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

CSV sollte nicht für zum abspeichern von Files von Applications, Features, oder anderen Roles als Hyper-V eingesetzt werden. Aktuell werden nur Hyper-V Files unterstützt und durch Microsoft supported.

Konfiguration

Cluster Shared Volumes (CSV) können über die GUI in der Failover Cluster Management Console, oder mit PowerShell aktiviert werden. CSV wird einmal, pro Failover Cluster aktiviert. Diese Einstellung  gilt dann für sämtliche Cluster Nodes. Artikel welche die einzelnen Schritte zur Konfiguration von CSV beschreiben gibt es inzwischen einige, um nur paar zu nennen:

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ührtwerden:

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

Ähnliche Beiträge

  1. Error “Cluster Shared Volume is no longer available” mit Hyper-V Failover Cluster
  2. How-To: Verwaltung eines Cluster Shared Volume (CSV)
  3. Angepasste Hyper-V Cluster Limits für Windows Server 2008 R2
  4. Error: “Service has not been started” bei Failover Cluster mit Server Core


1 Kommentar zu “Einblicke in Cluster Shared Volume (CSV)”

  1. [...] Server 2008 R2 wurde für Hyper-V das Cluster Shared Volume (CSV) eingeführt. Im Artikel “Einblicke in Cluster Shared Volume (CSV)” wurde bereits detailliert darüber berichtet. Mit Cluster Shared Volume (CSV) nimmt [...]

Kommentieren