Many software providers from large to small are in the race to offer virtualization solutions, and many enterprises are taking advantage. While this futuristic technology certainly offers many benefits, it has one critical challenge to its overall performance–disk file fragmentation.
File fragmentation–the splitting of files into pieces (fragments) in order to better utilize disk space–is a performance challenge in non-virtual environments, and has been for many years. But virtualization brings with it even more critical fragmentation issues, requiring solutions like never before.
The key to understanding fragmentation’s impact on virtualization lies within the word “virtual” itself. For storage, virtual machines are making use of hard drive partitions which appear as entire drives dedicated to the virtual machines. But underneath the “virtual” layer, the hardware is storing files the way it always has, utilizing an entire disk and fragmenting files from all partitions across the whole disk.
Virtual machines have their own I/O requests which are passed along to the host system. Hence, multiple I/O requests are occurring for each file request–minimally, one request for the guest system, then another for the host system. But in a common fragmentation scenario, especially with virtual servers creating high amounts of disk activity, files will be fragmented in to tens, hundreds or even thousands of fragments. Imagine the frantic activity with multiple I/Os for each fragment of each and every file requested. The impact on performance is horrendous.
With virtualization, regular defragmentation is vital–but so is the fragmentation technology utilized. Basic defragmentation, even scheduled defragmentation, cannot possibly keep up with the fragmentation rates of virtualization. The best possible solution, one which is only now becoming available, is a constant background defragmentation solution which has no impact on system resources.
Additionally, defragmenters exist which offer additional technologies which add benefit specifically to virtualization.
The moral: when implementing virtualization, make sure you also implement a robust defragmentation solution which will keep up and allow virtualization to deliver the intended performance gain and resource savings.