Monday 29 April 2013

Hyper-V: Defragment the “Drive” in a Guest OS?

This post is as a result of a discussion on the SMB Virtualization Yahoo Group.

The article is in the TechNet Wiki:

Bryan’s response about whether to defragment the guest starts with it being relative to personal preference.

Indeed, we have a very specific reason set for _not_ defragmenting within a guest OS.

Why not?

For most VHD/VHDX deploys there has been an underlying disk subsystem set up. Sometimes on a RAID array hosting 4, 6, 8, 16, or more disks. Sometimes on a SAN or DAS with 16+ disks.

Now, we set up a _fixed_ VHD/VHDX file in the first place so as to limit file fragmentation at the host storage level (whether local, SAN, or DAS).

Some folks prefer to allocate dynamically expanding VHD/VHDX files however over time in larger storage situations defragmentation can indeed have an impact on storage throughput/IOPs.

Disk access is not the same for a guest OS. Running a defragment routine within the guest OS does not improve Read/Write access for a set of spinning platters as it could have back when.

In fact, running a defragmentation routine within the guest OS may only serve to load down the disk subsystem with unnecessary I/O for no real gains.

Back in the day we did indeed test disk setups for our NT Server deploys and found that over time a system partition integrated swap file caused disk access times to increase and overall throughput to degrade.

When we started to deploy our servers with a dedicated swap file partition with a defined swap file on that partition the server’s disk performance over time remained relatively robust.

Philip Elder
Microsoft Small Business Specialists
Co-Author: SBS 2008 Blueprint Book

Chef de partie in the SMBKitchen
Find out more at

Windows Live Writer

No comments: