More specifically, it is the creation of one or more virtual instances of a “guest” operating system on top of a “host” operating system, or in some cases directly on top of a specialized software layer. It allows numerous virtual machines, either standard PCs or servers, to operate and appear as independent machines when in fact they’re operating off of a single hardware platform.
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.