Administrators need to deliver users the best desktop experience that they can without sacrificing performance. Sometimes that means sacrificing the "eye candy" on screen to make the virtual desktop leaner and more efficient.
My first experience with a virtual desktop was when I tried to create a Windows 2000 Professional machine inside the VMware Workstation 3.1 software I had installed on my desktop. At the time, I wasn't too concerned about performance because my main goal was to see all the cool things that could be done with a virtualized operating system running inside of another OS. I soon found out that getting it to just boot up without a blue screen is one thing, but having the same user experience and performance as a bare-metal 2000 Professional install is quite another.
Certain groups of users would rather have full Aero Glass previews and picture slideshow wallpapers on their desktops. But they're also the most likely to complain to the help desk about performance when it takes what seems like an eternity to open a PowerPoint presentation. At the end of the day, performance far outweighs look and feel for most of my user base, so I tweak my "golden images" to improve OS performance as much as possible.
Putting golden images on a diet
A golden image effectively utilizes the tweaks applied to it twice -- at boot up with preinstalled changes, and when using group policy objects (GPOs) in Windows. Some admins use GPOs to enforce all of their changes, but they lose the ability to modify the OS before it gets to a login screen. Some very effective tweaks must be applied to the master image directly so that the settings are in place at boot. A management best practice is to use a combination of the two.
In addition to installing commonly used software, there are things that can be done on the golden image itself to enhance performance. Certain hardware drivers and apps that are enabled on boot are not necessary in a virtual desktop, so you can change those settings. Some are obvious, but it may take some trial and error to ensure that you haven't disabled something important.
Since virtual desktops run on varied hardware, it's tempting to include a lot of hardware drivers in the master image. This is not a good idea because it can increase image size considerably and even lead to the creation of a new master image for each desktop type.
Creating a virtual desktop tuning toolbox
I've found many references on the Web regarding what to add to your virtual desktop tweaking toolbox, and I've added a few based my experience implementing a virtual desktop infrastructure (VDI).
Keep the following in mind when modifying golden images:
- Always have a backup of the current master image in case anything goes wrong. I always make two and put one on separate storage, like an external drive. I know it's more work, but it has saved my keister a few times when the golden image got corrupt. I use a PowerShell script to keep the copy current.
- Always test your image changes with a "regular Joe" ID (especially if you're a local admin). I've dealt with this problem a few times because a user did not have the permission to use something that I placed in the image, but I missed it when it worked for me during testing as an admin.
- And lastly, always do your tests in test, not production. What worked for one person may not work for you in your images.
There are other environmental factors that could hinder desktop performance, such as latency, packet loss and disk I/O. While we may not be able to solve all of these problems, we should try to deliver the leanest, most efficient image we can to the users. After all, happy users equal happy IT.
ABOUT THE AUTHOR
Mike Nelson has been in IT for over 20 years, with exposure to a very diverse field of technologies. He has devoted over half a decade to virtualization and server-based computing. Nelson is currently a senior analyst at a Fortune 100 company in the U.S. Midwest.