4

A UPS failed and a Hyper-V box hosting 6 VMs went down (all Windows Server 2008 R2 x64, if it matters). When I booted back up, it did not automatically perform a chkdsk (which I have seen in the past). I didn't notice whether any of the VMs did chkdsk as they came back up.

In this situation, is it appropriate to:

  • Schedule a chkdsk on C:\ of the VM host upon reboot?
  • Schedule a chkdsk on C:\ of each of the VMs?
  • All of the above?

Or should I only do it when Windows recommends it and does it on its own during bootup? How does windows "know" when it's appropriate to do this?

TL;DR: If a VM Host goes down, do I run chkdsk on it and all the VMs or just let windows do that if it feels it's necessary?

Chris
  • 1,381
  • 1
  • 12
  • 22

2 Answers2

8

It's appropriate if you feel it is. For an important server, running chkdsk is a good policy. Balance that against the downtime you'll go through.

Microsoft believes it is unnecessary.

Windows Server 2008 no longer performs chkdsk after power failures due to "Self-healing NTFS" and "Transaction NTFS". From the wikipedia articles on Server 2008 and Transactional NTFS:

Self-healing NTFS
In Windows versions prior to Windows Vista, if the operating system detected corruption in the file system of an NTFS volume, it marked the volume "dirty"; to correct errors on the volume, it had to be taken offline. With self-healing NTFS, an NTFS worker thread is spawned in the background which performs a localized fix-up of damaged data structures, with only the corrupted files/folders remaining unavailable without locking out the entire volume and needing the server to be taken down. The operating system now features S.M.A.R.T. detection techniques to help determine when a hard disk may fail.

Transactional NTFS
A component of Windows Vista and later operating systems. It brings the concept of atomic transactions to the NTFS file system, allowing Windows application developers to write file output routines that are guaranteed either to succeed completely or to fail completely.

Chris Ting
  • 899
  • 4
  • 5
  • 1
    +1, "It's appropriate if you feel it is" - Note: Windows will run `chkdsk` on it's own still if it detects problems with the file system on boot. This technically shouldn't be possible with the transactional nature of new NTFS implementations, but it happens anyway. – Chris S May 26 '11 at 16:56
  • S: People shouldn't let our opinions push them around in subjective things like this. Microsoft has implemented improvements. Some may choose to rely on them. Others might not. Everyone has to find their own comfort level. Also, thanks for the note on Windows still running chkdsk if it detects problems. – Chris Ting May 26 '11 at 17:08
  • What about the virtual machines? Should I follow the exact same guidelines even though they are not physical? – Chris May 26 '11 at 17:08
  • @Chris: If you're comfortable about the host, then apply the same rule to the virtual machines. The Transactional and Self-healing aspects (minus S.M.A.R.T. detection) are the same on your non-physical drives. – Chris Ting May 26 '11 at 17:13
  • 1
    Sounds like I will stick to my mass chkdsk ritual, just to be sure, but TIL about NTFS self-healing! Neat! – Chris May 26 '11 at 18:04
0

Always chkdsk after sudden shutdown. If it's not an important server I wouldn't bother though.

Also the more important the server, the more important to test backup power regularly. Even have backups of backups etc.

Hax
  • 139
  • 6