cat-failover-cluster

Error “Cluster Disk has a Persistent Reservation”

FAILOVER CLUSTER

Ein Storage welches in einem Failover Cluster genutzt werden sollt, muss zwingend die SCSI-3 Spezifikationen erfüllen. Denn mit Persistent Reservation kann ein Node durch das setzen einer Reservation Lese- und Schreibzugriffe von anderen Nodes unterbinden. Weil dadurch nie mehr als ein Node auf eine Cluster Disk zugreifen kann, wird bereits auf Storage-Ebene dem Split-Brain entgegengewirkt. Die Storage-Voraussetzungen werden auch explizit im Cluster Validation Wizard abgefragt und geprüft, wie zum Beispiel:

  • List Potential Cluster Disks
  • Validate SCSI-3 Persistent Reservation
  • Validate Simultaneous Failover

Unter bestimmten Umständen kann es nun aber zu einem Problem kommen, dass eine Disk Reservation nicht wieder aufgehoben (released) wird. In einem solchen Fall kann kein Node diese Disk mehr online nehmen und die Hochverfügbare Applikation (Exchange Server, Hyper-V, SQL Server) schlägt fehlt . Zunächst sollte mit dem Validation Wizard der Failover Cluster auf mögliche Fehlkonfiguration getestet werden.

In den meisten Fällen wird bei “Storage” die folgende Fehlermeldung ausgegeben:

Disk With identifier MyDisk has persistent reservation on it. The disk might be a part of some other cluster. Removing the disk from the validation set.

Ist seitens des Storage nichts auffindbar (Firmware, MPIO, etc.), sollte diese Meldung genauer geprüft werden. Zunächst muss die “fehlerhafte” Cluster Disk in Windows identifiziert werden. Dies kann am einfachsten mit dem Server Manager durchgeführt werden, geht aber auch in einem Command Prompt mit “diskpart”. Im nachfolgenden Beispiel handelt es sich um “Disk 5” welche ein Problem hat. Eine SCSI Reservation wird mit cluster.exe aufgehoben. Dazu muss lediglich ein Command Prompt als Administrator ausgeführt werden: cluster.exe node MyClusterNode /clear: 5

Mit Windows Server 2008 R2 stehen nun auch PowerShell cmdlets zur Verfügung. In PowerShell sieht das entsprechende cmdlet wie folgt aus:

PS> Import-Module FailoverClusters
PS> Clear-ClusterDiskReservation -Disk 5

Nachdem die Reservation aufgehoben wurde, kann die Disk nun online genommen und die entsprechende Applikation wieder gestartet werden. Bevor das Support Ticket allerdings geschlossen werden kann, sollte zwingend nochmals eine Validierung des Failover Cluster durchgeführt werden. Erst wenn sämtliche Tests erfolgreich abgeschlossen wurden, sollte der Betrieb wieder aufgenommen werden.

Übrigens, damit nicht sämtliche Modules manuell importiert werden müssen, kann PowerShell mit der Option “Import system modules” gestartet werden. Dieser Vorgang dauert zwar einen Moment länger, dafür entfällt danach das Laden (Import-Module) der einzelnen Module.

Eine Liste der System Modules welche geladen werden kann mit einer einfachen PowerShell Abfrage erstellt werden: PS> Get-Command -type cmdlet | Group Module | Sort Count –Desc

Weitere Informationen

Failover Cluster , Windows Server 2008 R2

, , ,

About the Author

Michel Luescher is a solution architect in the worldwide Datacenter & Cloud Infrastructure Center of Excellence (CoE) at Microsoft Corporation based out of Zurich, Switzerland. Primarily, Michel is focused on hybrid cloud solutions (Hyper-V, System Center and Microsoft Azure). In addition Michel is speaker, blogger and author of several books.

Leave a Reply.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Wer hat an der Uhr gedreht? Windows Failover Cluster mit Hyper-V