A short while back, a respected member of the VMware community, Matt Liebowitz (@mattliebowitz), tweeted a blurb on the version 11 release of PerfectDisk that ties directly into a virtualized environment. The PerfectDisk 11 vSphere Bundle is billed as an automated solution for defragmenting and optimizing file placement on VMware guests. There are many offerings that provide scheduled defragmentation and file placement optimization, such as MyDefrag in the open source arena and DiskKeeper 2010 as a paid offering. One major challenge is that these tools are ignorant of the underlying storage structure, assuming that the server is a standalone silo without any disk contention. Using these versus PerfectDisk 11 vSphere Bundle requires creativity from the administrator. Setting up dynamic fragmentation schedules to accommodate pooled storage structure requires time and foresight; in some cases forgoing the hassle on all but the Tier 1 guests is the preferred setup. I gave PerfectDisk 11 vSphere Bundle a spin for 2 weeks on a number of servers that, for this test, were made to purposely share a single VMFS datastore on a single LUN to introduce contention. This post will review the installation process, configuration requirements, and results from this test.
Note: DiskKeeper (the company) does offer a software suite called V-locity which offers integration into a VMware environment. I have not tried this product – the licensing model (per core) would be incredibly expensive on my 12-core servers.
Installation Process
Enterprise Console Setup
The installation process is a bit odd, as the installer first extracts the bundle into Program Files (x86) directory and is then run from there.
C:Program Files (x86)RaxcoPD11 vSphere Bundle Install
It makes more sense later, as this is also where all of the agent software for the various guests are stored, along with the installer for the Enterprise Console. Click on the Installation Guide to open a local web page containing information on the software, or choose to install the Enterprise Console straight away. I completely read over the Install Guide, as the software uses unique verbiage and concepts.
The installation process requires a SQL server for the data; I allowed it to configure a local SQL Express server for the sake of this test.
Using the Enterprise Console
The console is laid out in an easy to navigate manner. Once I deployed the agents to the test guests, most of my time was spent in either the Defrag Monitoring or Reporting menu items.
The main landing page includes a nice Getting Started page with a step-by-step walk through on how to use the software.
Configuration Requirements
Initial Setup
Initial setup basically boils down to:
- Create some Managed Groups of computers (VMware guests).
- Configure the vSphere Virtual Guest profile to include your vCenter credentials.
- Setup the security credentials for PerfectDisk to use when installing the agents on the guests.
- Deploy the agent to the guests.
Even with the learning curve of using new software, the configuration took less than 30 minutes to get some guests tied to the Enterprise Console and reporting back.
Daily Administration
Zero!
The “StealthPatrol full auto schedule” continuously trends the guest’s CPU and I/O thresholds to determine the optimum time to run. Since the agent is communicating with the vCenter server, it also knows if I/O is occurring on a datastore/LUN outside of the guest. There is nothing for the administrator to do besides view the reports or deploy agents to additional guests.
The Results
I installed the Enterprise Console and agents on the 25th of January onto 4 virtual servers that share a LUN. The servers are diverse in nature, running different work loads at different times. To produce the work loads, I simply cloned production boxes via Veeam v5 virtual lab and automated requests to simulate production.
- Server 1 – SQL 2005 Database with heavy CPU I/O at night.
- Server 2 – File Sever with heavy CPU & Disk I/O during business hours.
- Server 3 – Image Deployment Server, very rarely used during business hours, but heavy Disk I/O when used.
- Server 4 – Job Server, heavy CPU & Disk I/O during production, lighter after business hours.
Job Times
For each server, I took a look at the history to see when PerfectDisk felt it should start up the jobs.
- Server 1 – Ran between noon and 6PM. (OK)
- Server 2 – Ran between midnight and 4AM. (OK)
- Server 3 – Ran between 1AM and 5AM. (OK)
- Server 4 – Ran at 2AM and again on 9AM the day of the big Chicago blizzard when I did not schedule any activity (neat!). (OK)
PerfectDisk was a 4/4 on figuring out when to run the jobs on the guests. Also, no two jobs ran at the same time.
Fragmentation Values
To my surprise, the servers started at nearly at double-digit fragmentation (Server 4 was at 38% on the data disk). All servers maintained less than 1% fragmentation after being scheduled with StealthPatrol.
Latency Reduction
Unfortunately, there’s not a ton of data to review as I’m working with a subset of test virtual machines. However, here’s a look at the latency (read is purple and write is red) for this particular datastore with the 4 servers on it. I’ve highlighted specifically when the busiest server (Server 2) was defragmented. There is a definite downward trend in latency.
Chart is generated using Veeam Monitor
Thoughts
The good news is that the software works well, is almost completely hands off, and even in a test environment I’ve seen general latency values drop. Additionally, the licensing is at a per-host model, so it’s simple to figure out what both the CapEx and OpEx will turn out to be.
I’d like to suggest that PerfectDisk work on their automated reporting methods. Specifically the e-mail report; it is very difficult to read as it comes in a block text format with issue, server name, threshold, and current value. It would be nice to get something similar to what can be found within the enterprise console, or perhaps even something to toss up the chain to senior management (pie charts and graphs work great, right?).
All in all, I think the value of this software is worth the purchase and am interested in seeing how much performance can be gleamed in a production environment with hundreds of servers tied to a variety of SAN tiers.