Desktop virtualization, the ability to run one operating system "inside" another, has a lot of attractive benefits. It is great for testing out new applications before you want to commit them to an enterprise-wide rollout. You can run multiple operating systems from a single PC to avoid having to purchase new equipment, or multiple browser versions on the same computer, without them interfering with each other. You can lock down your endpoints with a single master configuration that you can deploy widely to reduce your support costs. Or you can have a protected computer-on-an-USB-stick that you can carry around when you visit unsecure locations, to avoid becoming infected from the host PCs that you use at public kiosks or hotels.
There are many virtualization tools from VMware, Citrix, and Microsoft. Each has its own rich collection of management products, server deployment infrastructure and associated applications that can be daunting to understand and master.
If you are looking to get started with desktop virtualization, there are a number of ways to lessen your learning curve and avoid some common pitfalls. Here are some tips and tricks that we have gathered from the experts to make your first steps:
- Lotsa RAM and disk. You can't have enough RAM if you are serious about virtualization. At a minimum, your PC must have 3 or 4GB, and even more is better. Each virtual machine (VM) should occupy its own memory space, so if you plan on running multiple VMs at a time, you need to bulk up on memory. Most desktops these days can easily support 4GB, or even 8GB. Beyond 4GB of course, you will need a 64-bit OS to host your "guest" VMs. The same holds true for disk storage. If you ever wondered how you would fill up a 500GB hard drive, wonder no more. VMs can gobble up storage faster than just about anything, and if you start experimenting with saving different configurations into a series of separate VMs, make sure you have plenty of room to spare.
- Look at the low-end VM tools first. MojoPac.com and Mokafive.com both offer simpler tools that can get you started and don't require a lot of skill or resources. Both can produce that portable VM on a USB stick if that is all that you are interested in. For example, MokaFive comes with pre-built VMs that include the Firefox browser and Linux configurations.
- Run Google's Chrome OS. If all you want is a portable browser on a USB stick, then take a closer look at Google's Chrome OS. It is a very fast browser but not a complete operating system, and not many plug-ins are supported yet for Chrome. Getting it installed is a bit tricky, but it is free too.
- Pick your host desktop VM product.
- Microsoft Virtual PC 2007 is free for the download, provided you have at least XP SP3
- VMware Workstation 7 is free for a 30-day trial here, after that, it is $189. They also sell Fusion for Mac OS hosts. You can run the VMs that you create in one or the other for the most part interchangeably, which is a nice feature.
- Xen Desktop has both free and paid editions also.
- Sun/Oracle's VirtualBox is a free workstation product that can run most VMware-formatted and Microsoft VHD formatted VMs on Windows, Mac and Linux hosts.
- Start with a bare-bones guest OS configuration and build your VM with this minimal set. Not every app works well running inside a VM -- things that make direct hardware calls or depend on their own drivers (such as specialized graphics and sound card adapters) can cause problems when they are virtualized. You don't need anti-virus and other protective programs, and many of those don't work inside VMs anyway.
- Understand how to tweak your individual VM settings. Each desktop VM product has a way to change the individual guest VM's settings for RAM, network connection, and how it attaches to your host PC's resources such as CD drive, sound card, and the like. Typically, you must shut down the VM before you can make any changes to these settings. Don't be afraid to experiment with what works best in your situation.
Each VM has a collection of various configuration settings such as RAM and disk usage, how many CPUs the VM will run on, and other things that can be tweaked for the best performance.
- Is this an effort to standardize your desktop? The trouble with using VMs across an enterprise to support a standard desktop is that it may be close to impossible to standardize on the same collection of apps for every user. But if you want something for your own personal app collection, this could have greater success.
- Look at physical to virtual conversion tools. An alternative to starting from scratch to build your guest VM is to use some sort of conversion process to take a running physical desktop or server and moving it over to a VM. These are usually easier and faster than using a standard operating system install DVDs since you begin with a physical machine that is setup with all the applications installed the way you intend to deploy it in your new virtual world. There are free tools including VMware Converter Standalone, Citrix XenConvert, Paragon Software Go Virtual and Vizioncore vConverter SC. Once you gain some experience with the free tool, there are plenty of others that offer additional features for a price.
- Install the helper apps that come with the VM workstation product.VMware calls this VMware Tools, VirtualBox calls it the guest additions. These apps enable the workstation product to emulate the various peripheral devices and better manage the guest VM. Typically these are installed after you bring up your VM for the first time or upgrade your workstation software.
- Stream your apps. If all you want is one or two virtualized applications on your desktop (such as the ability to run an older version of Internet Explorer or Microsoft Office concurrently with their more modern ones), then look into applications streaming. However, realize that getting involved in app streaming is definitely not for beginners, and will require a great deal of studying how to setup the particulars and understand the methods that they use. Microsoft's App-V, Symantec's Endpoint Virtualization Suite, Citrix' XenApp, Install Free.com and VMware's ThinApp are the major players here.
Good luck with your virtualization project and do share your own tips and best practices in our comments section.