Windows Server 2012 R2 Update 2 lässt Hyper-V Failover Cluster abstürzen
Ich hatte diese Woche einen Supportfall in einer Umgebung, in der Windows Server 2012 R2 Systeme mit Hyper-V ein Failover Cluster betreiben. Als Storage wird ein Equallogic-SAN von Dell eingesetzt, welches per iSCSI die LUNs an die jeweiligen Hosts bringt. Der Kunde hat letztes Wochenende einen großen Teil seiner Umgebung geupdatet, unter Anderem das SAN und die Hyper-V Hosts. Nach dem Update-Vorgang kam es dann zu einem sehr komischen Verhalten: Der Zugriff auf die LUNs war für einige Minuten nicht möglich, die Rollen (VMs) im Failover Cluster stürzten daraufhin ab und wurden als “fehlerhaft” gekennzeichnet.
Nachdem ein Supportfall bei Dell eröffnet wurde haben sich die Techniker das SAN angeschaut, da hier ein Update der Firmware vorgenommen wurde. Das SAN selbst wurde aber als mögliche Fehlerquelle weitestgehend ausgeschlossen, da alle Verbindungen aufgebaut werden konnten und auch sonst keinerlei Fehler auftauchten. An dieser Stelle kam ich ins Spiel und habe mir das Failover Cluster gemeinsam mit dem Kunden näher angeschaut. Mir sind vor Allem die vielen Fehlermeldungen im Failovercluster-Manager aufgefallen:
Cluster resource ‚Virtueller Computer „<VMName>“‚ of type ‚Virtual Machine‘ in clustered role ‚<VMName>‘ failed. The error code was ‚0x2‘ (‚The system cannot find the file specified.‘).
Based on the failure policies for the resource and role, the cluster service may try to bring the resource online on this node or move the group to another node of the cluster and then restart it. Check the resource and group state using Failover Cluster Manager or the Get-ClusterResource Windows PowerShell cmdlet.
Cluster Shared Volume ‚Volume1‘ (‚<CSV>‘) is no longer accessible from this cluster node because of error ‚(1460)‘. Please troubleshoot this node’s connectivity to the storage device and network connectivity.
Cluster Shared Volume ‚Volume1‘ (‚<CSV>‘) has entered a paused state because of ‚(80000011)‘. All I/O will temporarily be queued until a path to the volume is reestablished.
Source war hier Microsoft-Windows-FailoverClustering, die Kategorien waren Resource Control Manager und Cluster Shared Volume. Die Event-IDs sind 1069, 5142 und 5120. Das Log war ziemlich voll mit diesen Einträgen:
Das Verhalten war wie folgt: Zwei der drei Cluster Nodes waren im pausierten Zustand, da es sonst zu einer Verschiebung der CSV-Datenträger kommt und der Datenträger in einem undefiniertem Zustand verbleibt. Im Wechsel von drei bis fünf Minuten waren die CSV-Datenträger erreichbar (über C:\ClusterStorage\), danach frierte z.B. der Explorer ein oder ein Zugriff per Failover Cluster Manager war nicht möglich.
Ich habe mir die installierten Updates angeschaut, es war unter Anderem das November-Update mit der KB-Nummer KB3000850 bzw. KB3000853 installiert. Wir haben zwei der Server im Wartungsmodus belassen (Knoten angehalten) und auf dem dritten Server das Update deinstalliert. Nach einem Neustart startete das Failover Cluster wieder automatisch und brachte auch wieder alle Datenträger online. Seit diesem Zeitpunkt war der Zugriff auf die Datenträger möglich, in den kommenden 20 Minuten passierten keine weiteren Aussetzer. Ein Zugriff auf C:\ClusterStorage war ebenfalls problemlos möglich, und nach und nach konnten alle virtuellen Server wieder eingeschaltet werden. Ich habe mit dem Kunden noch abgesprochen, das die beiden anderen Server im kompletten Offline-Zustand ebenfalls wieder auf den Stand vor dem November-Update gebracht werden (durch eine Deinstallation des Updates). Dies scheint funktioniert zu haben, ich habe seitdem keine Meldung mehr bekommen, dass das Problem weiter existiert.
Was genau die Installation des Updates bewirkt hat, kann ich aktuell nicht sagen. Ich habe bereits mehrere Server und Installationen auf das neue Update hochgezogen, bisher gab es solche Probleme nicht. Dieses Failover Cluster ist aber auch das Einzige, das mit LUNs arbeitet, alle anderen Systeme die geupdatet wurden, arbeiten mit einem Scale-Out File Server zusammen.