Machine Virtualization Performance Thoughts
I have been using machine virtualization for many years now an I have got to say since the relative affordability of powerful CPUs and Hardware, performance is now very acceptable, even on my Tablet PC!
Suddenly after the IPO of VMWare everyone wants in on the action! So far the big players are VMWare, Microsoft, Parallels, Oracle (new) and several Open Source versions. For me I have been flip flopping between VMWare and Microsoft. If I had a Mac I would probably be looking at VMWare Fusion and Parallels.
So I just wanted to share some of my thoughts on performance when it comes to machine virtualization.
There are a few areas that you need to be concerned with
- 32bit or 64bit Host Operating System
- Multiple CPUs
- Lots of RAM (Most new consumer boards support up to 8GB)
- Fast hard disks 7.2K to 10K or RAID 0, 1, 0+1
- External drive enclosures
- Backup
If I had a choice I would probably dedicate a machine to host all my virtual machines but I would be wasting a machine and also wasting CPU cycles for the host. VMWare has ESX server and Microsoft has Windows 2008 which installs a lightweight host to manage the virtual machines.
For me I went with x64 on my desktop machine and x86 on my tablet, they are running Core 2 Duo E6600 and Core Duo T2500 respectively. Both machines have dual core.
On my tablet since it is a generation behind the latest Santa Rosa ,which supports 4GB RAM, I had to settle for 2GB. On my desktop 8GB is the way to go.
So the main thing in my book is to have fast hard disks and dedicated hard disks for each of your virtual machines. For example, for my desktop machine I have two 2-drive RAID-0 arrays to host my virtual machines. I can run 4-5 machines without any significant performance issues.
If I am running the VMs on an external USB 2 disk, I try to limit the machines to 1-2 per USB 2 disk. When using USB 2, make sure that the port is dedicated for the drive. You don't want any contention with any other peripherals.
I like to use external enclosures for my primary VM that hosts my internal email, files and web site. If the host machine crashes and burns, which it has done a few times during the last few years. I just take the drive and connect it to my other desktop or even my tablet!
So I like to do a few things with Backup. First, I use Microsoft Backup that comes with Windows 2003. It seems to do just fine backing up the guest OS within the VM. The second thing I do is use VSS (Volume Shadow Copy) to backup the image files (VM). VMWare currently doesn't support this, but the backup will be to the last write to the hard disk file (crashed state). Virtual Server 2005 SP1 R2 supports VSS. The Platform SDK has the VSS SDK and a sample exe that allows you to backup a file in use using VSS. I will try and post more info in the future...
Happy virtualization...