As we have previously discussed on this blog, the PowerShell Toolkit provides the ability to create “Thin-Fixed” VHD’s. To refresh your memory, these are fixed size VHD’s which have had their zeros unmapped on the storage controller. This means that we have flexible provisioning like a dynamic VHD but the performance of a fixed VHD. There are a couple of interesting benefits to this technique. One, these VHD’s are inherently space efficient. No more “captive” white space in your .VHD files. The storage controller will only allocate storage for them as they are written to. This is exactly what we do for a thin LUN, just at a file granular level. Second, these files are much faster to create than traditional fixed VHD’s. This is because the zero unmap operation is much more efficient than the write zero operation that is traditionally done to create them.
In the table below, we see a comparison of file creation times between Fixed VHD’s and Thin-Fixed (in seconds):
As you can see, the difference can be as high as 100x faster for Thin-Fixed VHD creation. What is probably more important is that it brings the creation of fixed VHD’s down to a time interval short enough that there is really no reason to use Dynamic VHD’s any longer. This will improve the overall performance of your storage system and the Hyper-V systems it supports.
To highlight this tool and the performance advantage we offer, we created a demo on YouTube. Please let us know what you think!