optimize now
Volume One   Issue #5
 

In This Issue
Welcome
Podcast: Interview with Donn Edwards of "The Great Defrag Shootout"
Disk Fragmentation in a VMware Environment
Background Defragmentation: Pros and Cons
Special Savings!
Quick Links
Join Our List
Join Our Mailing List
Welcome
globeWelcome to another edition of Optimize Now. In this issue, we have a special podcast interview with Donn Edwards. Donn is the sheriff of "The Great Defrag Shootout" - the one no vendor - or Microsoft - can hide from. Get the background on the shootout in this 12-minute podcast.
 
We also have a couple of articles on defragmentation - we get more in depth with defragging in a virtual environment - particularly in a VMware environment, and look at the pros and cons of "automatic" disk defragmentation.
 
Thanks for reading, and keep the feedback coming.

Podcast: Interview with Donn Edwards of "The Great Defrag Shootout"

Listen to our interview with Donn Edwards, who ran the wildly popular Great Defrag Shootout over the past several months and continues to provide updates. Learn what Donn found as important as he dug deep into a wide range of defragmentation utilities.

Disk Fragmentation in a VMware Environment

The purpose of a virtual machine is to allow the user to allocate physical systems resources to multiple tasks.  In many computer operations, the CPU and memory resources are underutilized. Virtual machines allow an organization to get better resource utilization without the added expense of new hardware.  They also provide a portable environment that can keep a system going on an alternative platform when there is a hardware failure.

In the case of VMware, a virtual machine is created on a host disk.  Many administrators believe it is a good practice to keep all their virtual machines in one directory. The virtual machine consists of two main files: the VMX file and the VMDK file.  The VMX file is the primary configuration file for a virtual machine. When you create a new virtual machine, you provide information about the operating system, disk sizes, and networking; those answers are stored in the VMX file. The VMDK file is the disk drive for the virtual machine; and while it looks like a drive to the user, it is actually a container file on the host drive.  When the VMDK is created, you specify whether it is a fixed size or dynamic.  A fixed drive is not created in one big chunk.  For example, a fixed 10GB VMDK file would have an initial VMDK file of 2GB and four additional VMDK files of 2GB each.  There are actually 2 types of virtual drives (VMDK files): preallocated and dynamic. Both types can be either in one file or split into a 2GB file set. If there is less than 2GB of contiguous free space, the VMDK file will be created in as many fragments as necessary to accommodate the fixed VMDK allocation.  The VMX file keeps track of all the fragments of the VMDK file.

A dynamic drive starts with some nominal amount of file header information and grows as needed up to 2GB.  When the 2GB is exceeded, VMware will create another VMDK file and data will expand until another 2GB is used. However, if the dynamic drive was created as "non-splitted" (the default option), it will just grow. A dynamic VMDK file will fragment like any other Windows file.  Due to the nature of the Windows file system allocation algorithms, it is unlikely any expansion of the VMDK file would be contiguous to the original file. The file system will look for a piece of contiguous free space that approximates the size of the expansion. If it cannot find a single piece that fits; it will fragment the VMDK file into as many pieces as necessary to accommodate the expansion. 

Virtual machine performance suffers when the VMDK file(s) on the host system gets fragmented. Like any other file, the fragmentation slows down the I/O speed of the physical system.  The use of virtual machines often means that multiple processes are accessing the VMDK files. The growth of dynamic VMDK files is the kind of activity that can accelerate the fragmentation of the VMDK files on the host drive.

There is a second component that can affect VMware performance and disk space utilization. As mentioned above, VMDK files are usually set up to grow dynamically. If a VMDK grows to 10GB and the user deletes 5GB of data, the VMDK file remains 10GB. This causes two problems: the VMDK file can become internally fragmented as files are created and deleted. Accessing these files takes longer due to the system overhead incurred in keeping track of their fragments. Secondly, the unused space in a VMDK is wasted space because it cannot be used by anything other than its own virtual machine.

VMware provides a utility that shrinks a VMDK file.  Like the Exchange Eseutil utility, this is usually done manually and it is a somewhat complicated process. In PerfectDisk, we have automated this process, with the net result that the wasted space will be recovered and the files themselves with be compacted. In the case of our sample dynamic VMDK, the end of disk pointer will be at the end of the 5GB of data.  The compaction should improve access within the VMDK and the free space recovered goes back to the host Windows file systems pool of free space.

While virtualization provides organizations with some excellent convenience benefits, there are some performance drawbacks. Fragmentation of the host drive, internal VMDK fragmentation and wasted disk space are a few of the things that kill virtual machine performance. Keeping the host and guest drives contiguous while recovering wasted disk space eliminates the primary culprits affecting VMware I/O performance. 

 
Background Defragmentation: The Pros and Cons 
There seems to be a debate developing in the industry about the merits or demerits of automatic, background disk defragmentation. So-called "automatic" defragmentation is when defrag software (or a monitor) runs continuously in the background.  When the system has idle resources available, the software defragments the disk. Even when the defragmenter isn't defragging, some form of monitoring must occur to detect when the system is idle. This monitoring also consumes some resources. The discussion here is really about how much fragmentation is too much; and what is the best approach to eliminating that fragmentation. To explore the pros and cons here, we'll look at how this might affect workstations, laptops and servers. 
 
For organizations whose policy is to leave workstations on all the time, there could be an advantage to automatic defragmentation. There may be plenty of idle time after employees leave for the day. Given enough time, the defragmentation should be complete. The same would be true if you used a screen saver defragmentation mode. If the organization requires systems to be turned off during non-work hours, there can be considerable downside to automatic defragmentation. The defragmentation may never happen in automatic mode because the systems are busy during the day. 
 
Laptop users are often a bit compulsive about system performance; any process that runs continuously is usually viewed as a negative. Of course, laptops are usually on when the user needs to use it. As a result, the amount of idle time on a laptop would be limited; so automatic defragmentation does not seem a natural fit here. In any event, you certainly would not want to defragment while you are running on battery power.
 
Servers represent an entirely different situation. Servers run 24 x 7 and system administrators typically do not want to take them down for anything other than routine maintenance. It would seem this might be the ideal environment for automatic defragmentation. From the defragmentation software vendor's perspective, we would love to believe that system administrators around the globe recognize fragmentation as one of the main causes of server slowdowns and poor I/O performance. Our experience tells us otherwise. Most system administrators exhibit a very human behavior in that they are far more reactive than proactive. Once fragmentation is recognized to be a problem (and it will), they will look for a solution. The problem is that by the time fragmentation is an issue, you need something that makes the problem go away fast. Automatic defragmentation may eventually resolve the problem, as it chips away at fragmentation during system idle time. However, on a busy server there may be very little system idle time. The system administrator has no idea how long it will take the automatic defragmentation to defragment the disk. 
 
Since the automatic defragmentation defragments files when available resources permit, the system administrator needs to consider an interesting dilemma while waiting for the disk to defragment. Will users create new fragmented files faster than the automatic defragmenter can defragment?  If the server is busy and the starting free space is fragmented, it is very likely that new fragmentation will happen faster than the automatic defragmentation can fix it. 
 
Raxco first offered automatic defragmentation in PerfectDisk Rx Suite, a consumer product we launched last spring. A slightly different version will be available in the new release of PerfectDisk coming soon.  We will continue to offer a robust scheduling option for those who want to know exactly what is happening and when it is happening. PerfectDisk users can choose between one time, daily and weekly schedules plus the very popular screen saver mode. A scheduled defragmentation provides the absolute certainty that the defragmentation gets done. That means the system, metadata and data files are contiguous, files that change infrequently are moved out of the way, and the free space is consolidated so refragmentation is slowed. 
 
Automatic defragmentation may be just the ticket in some environments. The choice is between something that is always running; and something that runs as scheduled. The second choice is between the uncertainty of how long it will take to fix the problem and knowing exactly when it got fixed. With PerfectDisk, you have the flexibility to pick either option.
 
Special Savings!
 
PerfectDisk Server for just $99 -
 
special offer extended by popular demand! 
 
Visit www.raxco.com for details.
 
Limited time only.
 
If you haven't already done so, don't forget to subscribe to our newsletter mailing list above so that you'll continue to receive future issues.
 
Sincerely,
 
Optimize Now Newsletter
Raxco Software, Inc.