„Giving a reprieve for resource…“

Wird ein Volume als dirty markiert, das als Clusterressource eingebunden ist, so läuft es in den checkdisk. Der chkdsk geschieht erst nach dem Systemstart und nicht, wie außerhalb des Clusters üblich, während des Bootens und wird vom ClusDisk Treiber initiiert.
Folgender Eintrag ist in einem solchen Fall im cluster.log sichtbar:

00000a24.00000220::2007/05/04-07:31:33.934 INFO Physical Disk <Datenträger F:>: DriveIsAlive called for Online check
00000a24.00000220::2007/05/04-07:31:34.091 INFO Physical Disk <Datenträger F:>: DriveIsAlive checking that file system is not corrupt. If so, chkdsk may run.
00000a24.00000220::2007/05/04-07:31:34.091 INFO Physical Disk <Datenträger F:>: DisksIsVolumeDirty: Volume is dirty
00000a24.00000220::2007/05/04-07:31:34.091 INFO Physical Disk <Datenträger F:>: DisksOpenChkdskLogFile: chkdsk.exe output is in file: C:\WINDOWS\Cluster\ChkDsk_Disk0_Sig7D01274F.log

Im Hintergrund läuft nun ein chkdsk Prozess, der aktuelle Status ist im chkdsk(…).log ersichtlich.

Die Ressourcen verbleiben solange im Status Online Pending, im cluster.log wird folgendes geloggt:

00000a24.00000df0::2007/05/04-07:36:55.915 WARN [RM] ChkdskNotRunning: Found process chkdsk.exe.
00000a24.00000df0::2007/05/04-07:36:55.915 INFO [RM] RmpTimerThread: Giving a reprieve for resource Datenträger F:…

Der Resource Monitor (RM) wartet solange auf die Resource DLL, solange diese Statusupdates meldet.
Das bedeutet, daß die Zeit für ein PendingTimeout erst ab dem Zeitpunkt läuft, wenn keine Rückmeldung mehr von einer Resource DLL zurückgegeben wird.
Siehe: » MSDN – PendingTimeout
In diesem Fall muss der chkdsk Prozess abgewartet werden, die Ressourcen verbleiben währenddessen wie gesagt im Status Online Pending.
Folgender Eintrag ist im cluster.log zu finden über den chkdsk status:

00000a24.00000220::2007/05/04-08:39:59.779 WARN Physical Disk <Datenträger F:>: FixCorruption: chkdsk.exe returned status of X (…)

Erläuterung zu den status codes:
» http://support.microsoft.com/kb/265533/en-us/
Allgemeines zum chkdsk im cluster:
» http://support.microsoft.com/kb/272244/en-us

Ein Failover würde hier keine Verbesserung des Status bewirken, da erst das Dateisystem sauber sein muss, bevor eine Disk Ressource online genommen werden kann.

Um zum Titel dieses Beitrags und den eingangs erwähnten Eintrag im cluster.log zurückzukommen („giving a reprieve for resource…“): Interessante Wortwahl 😉

Stay tuned,
N.Own

Filtertreiber im Cluster

Typische third party File System Filtertreiber sind AntiVirus Treiber, Disk Quota Treiber oder Open File Agents. Jegliche Software, die einen Filtertreiber auf einem Cluster Node installiert, sollte für den Einsatz in einem Cluster vorgesehen sein (» KB250355). Ansonsten kann ein Filtertreiber, der zB. sein Handle auf ein Volume gar nicht oder nicht rechtzeitig freigibt, dazu führen, daß kein geordneter Failover mehr möglich ist.
Zu Troubleshootingzwecken ist es daher fallweise sinnvoll bestimmte Filtertreiber vorübergehend zu deaktivieren, um diese als Fehlerquelle auszuschließen und das Fehlerbild weiter einzugrenzen.

Welche Filtertreiber sind auf meinem Cluster installiert?
Viele Filtertreiber sind leicht über den Gerätemanager zu lokalisieren. Über „Ausgeblendete Geräte anzeigen“ bzw. „Show hidden devices“ sind die Treiber in der Sektion „Nicht-PNP-Treiber“ bzw. „Non-Plug and Play Drivers“ zu finden.
Der McAfee Filtertreiber trägt beispielsweise die Bezeichnung „NaiAv…“.

Über den Kommandozeilenbefehl devcon.exe erhält man diese Legacy Treiber auch angezeigt:

C:\>devcon listclass LegacyDriver

Ein Beispiel der Ausgabe: devcon_sample.txt

Devcon.exe ist in den Support Tools zu finden oder über einen Download bei Microsoft:
» http://support.microsoft.com/kb/311272/en-us

Der Clusterdienst benötigt für den Betrieb selbst zwei Kernel Filtertreiber: Den ClusDisk Treiber für den Storage Stack und ClusNet für den Network Stack.

Im Cluster » MPS Reporting Tool ist ein Kommandozeilenprogramm namens fltrfind.exe zu finden, daß einem alle Filtertreiber ausgeben soll. Leider liefert einem das Tool keine Infos zu File System Filtertreibern.

Um einen Filtertreiber zu deaktivieren, kann man den Gerätemanager verwenden oder über die Registry gehen. Die Treiber sind im Services Zweig zu finden:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Dort den betreffenden Treiber suchen und den Wert unter „Start“ auf 0x4 setzen, welches ein SERVICE_DISABLED bedeutet.
Siehe auch » KB816071 dazu.

Stay tuned,
N.Own

Top Tips for SQL Server Clustering

Dr. Tom Moreau, MVP für SQL Server, hat in einem aktuellen TechNet Magazine Artikel vom März diesen Jahres seine Top Tips für SQL Server Clustering zusammengestellt.
Er gibt eine Übersicht der Möglichkeiten MS SQL Server 2005 zu clustern und zu spiegeln:

» Dr. Tom Moreau’s Top Tips for SQL Server Clustering

Dr. Tom Moreau ist seit 2001 MVP für Windows Server System – SQL Server.

Stay tuned,
N.Own

GPT Disks in einem Cluster

Ein kürzlich veröffentlichter Hotfix ermöglicht nun den Einsatz von GPT Disks in einem Cluster. Volumes mit mehr als 2 Terabyte sind nun auch im Cluster möglich.

Siehe: » A hotfix is available that adds support for GPT volumes… (KB 919117)

Um ein Volume vom Typ MBR auf GPT umzustellen, kann man den diskpart Befehl convert gpt nutzen.

Mehr dazu: » Change a MBR disk into a GPT disk

Voraussetzungen:

· x86: Windows Server 2003 SP1/SP2, 32 Bit
· IA64: Windows Server 2003 SP1/SP2 für Intel Itanium
· x64: Windows Server 2003, 64 Bit

Stay tuned,
N.Own

W2K3 SP2 erschienen – Neuer Event 1239

Gestern ist das Service Pack 2 für Windows Server 2003 offiziell erschienen.
Es enthält auch eine Neuerung, die den Clusterdienst betrifft:

Falls der Cluster Service Account (CSA) nicht alle erforderlichen Rechte erhalten hat, wird ein Event 1239 ausgelöst, der weitere Informationen über das fehlende Recht trägt.

Siehe: » What’s New in Windows Server 2003 Service Pack 2

» Microsoft TechNet – Windows Server 2003 Service Pack 2

Der CSA sollte die Rechte halten wie in » KB 269229 beschrieben.

Event 1239 war bisher als Exchange Event (Quelle: MSExchangeIS, MSExchangeDS) bekannt.

Stay tuned,
N.Own