How to Run Chkdsk on a Server Cluster

How to Run Chkdsk on a Server Cluster
When you run Chkdsk on a server cluster, you use the same syntax and command-line switches that you use when you run Chkdsk on a stand-alone server; however, there are some considerations. When you try to run the chkdsk /f command or the chkdsk /f /r command on a cluster shared drive, Chkdsk may not run and may state that the drive could not be locked for exclusive use. If you schedule Chkdsk to run after the computer restarts, you may receive the following error message during the start-up process:
Cannot determine file system on drive \??\drive letter.
Under most circumstances, running Chkdsk with the /f or /r command-line switch requires that you restart the computer because of open handles on the drive from applications and user sessions. Typically, when the computer starts up, there are no services or drivers running that prevent Autochk from checking the drive. However, if you are using server clustering, the file system does not mount the shared drive until the Cluster service starts and brings the Physical Disk resources online. The ClusDisk.sys driver blocks all access to the drives until they are brought online. This causes Chkdsk to report that it cannot determine the file system on a cluster shared drive. Running Chkdsk in read-only mode may seem to work, but in this mode, Chkdsk does not fix any problems.
FSUtil.exe is a utility in Windows XP and later that you can use on a Windows 2000 server cluster to set the dirty bit on the physical drive. Then, when the drive is failed over or brought online the next time, chkdsk /f is run against the drive. For more information about the FSUtil.exe tool, see the “FSUtil.exe” section in the Appendix on page 31 of this white paper.
If you suspect that there is file corruption on the shared drive, close all open handles to the shared drive, and then run Chkdsk on the drive. To do so, follow these steps:
-
Quit all programs, stop all cluster unaware applications, and then log on to the server with an account that has Administrative rights.
-
Start Cluster Administrator, right-click the cluster name, and then click Properties.
-
Click the Quorum tab, and then note which hard disk is the quorum disk. If the hard disk on which you want to run Chkdsk contains the quorum log, temporarily move the quorum disk to another shared drive.
Note For more information, see the following Microsoft Knowledge Base article:
280353 “How to Change Quorum Disk Designation”
-
Find the group that contains the shared drive on which you want to run Chkdsk.
-
Right-click the group name, and then click Take offline.
This takes the whole group offline, including the shared drive, and closes all the handles to the physical drive.
-
Right-click the Physical Disk resource that you want to run Chkdsk on, and then click Bring online.
This brings the shared drive online.
Note If the dirty bit was previously set, Chkdsk may automatically run, and the Physical Disk resource may stay in an Online Pending state and take awhile to come online. If this occurs, you will see a Command Prompt window with Chkdsk running, and Task Manager will show Chkdsk running as a process.
-
At the command prompt, change to a drive other than the drive on which you are trying to run Chkdsk, and then type the following command, where drive is the shared drive:
|