WHAT IS THE CHKDSK PROBLEM?
ChkDsk is the utility that has to be run when a volume has problems. To fix the
problems, the volume has to be taken offline, which means that it’s unavailable
while a thorough scan and fix is performed on it. The larger the number of files on
a volume, the longer the scan for the problems will take and the longer the
volume will be offline. For example, a 2TB volume filled with many files could be
offline for hours or days, depending on the storage subsystem; this is a long time
if the volume contains important data. To avoid long outages, organizations would
limit the size of NTFS volumes, which reduces the number of files. Think of this
scenario as a highway that is closed while a crew walks along, looking for potholes
and fixing the few that it finds. This road may be closed for weeks or months
while the crew is looking for the potholes.
Windows Server 2012 rearchitected ChkDsk into a two-phase process. The long
process of finding problems now occurs with the volume still online. Once the
problems are found, the volume is taken offline, and a spotfix of the problems is
performed. In the worst-case scenario, the volume is offline for only 8 seconds
and commonly for only milliseconds, which is not noticeable at all. If Cluster
Shared Volumes (CSV) is used, downtime never occurs, because CSV has its own
layer of indirection, resulting in just a pause in I/O. Going back to the highway
analogy, in Windows Server 2012, the road stays open as the crews hop between
cars, looking for the problems. Then after they find all of the potholes that are
marked on a map, the road is closed for one night while all the found potholes are
filled.
To perform the scan, use chkdsk /scan <disk>: or Repair-Volume -Scan <disk>:
in PowerShell, and then once the search for problems is complete, perform the
spotfix, which will take the volume offline for the maximum of 8 seconds to run
the commands chkdsk /spotfix <disk>: or Repair-Volume -SpotFix <disk>:.
This means that NTFS volumes are no longer restricted to a certain size because
of fears related to running ChkDsk.
An important point to remember about VHDX is that it is a core part of the operating
system for both server and client. VHDX files can be mounted natively to the
operating system, and physical machines can even boot from VHDX files, which
allows great flexibility for moving an operating system instance from a virtual
machine to a physical machine without any real changes being required. If you have a
physical system that you would like to convert to a virtual machine, several
technologies are available for this physical-to-virtual (P2V) conversion. A free tool for
a small number of conversions is Disk2vhd, which is available from https://technet
.microsoft.com/en-us/sysinternals/ee656415.aspx. It takes the storage from physical
machines and creates equivalent VHD and VHDX (version 2) files that can then be
used with Hyper-V virtual machines.