Server virtualization: my first impression
As I mentioned in previous entries, I'm currently working on my first server virtualization project. I started by evaluating VMWare ESX Server (VMWare's big gun product), but decided on the standard VMWare Workstation. My goal isn't to drive the servers at full capacity, but to simplify the administration chores of a combination of Linux and Windows guests. Time is our bottleneck.
Here's a quick take on ESX. It is a modified version of an old an RedHat Linux release. I found the file system layout familiar, and was ready to logon to the console and get to work, but after booting the 2.4 series kernel, I hit the following problems.
- No USB 2.0 support so uploading VMs was slow
- Doesn't support version 5 VMs.
- Requires that VM's made in Workstation 5.x use version 4 legacy mode.
- Workstation can't convert my version 5 VMs to version 4.
- Once the version 4 VM was transfered to ESX, importing into ESX's native format was slow.
- Version 4 and ESX VMs don't support snapshots.
I suspect that most ESX users are creating their VMs on the server, but my use case is to stage the VMs remotely and import them when they are ready for production.
Lack of USB 2.0 was the deal killer for me. VM images are typically multiple gigabyte files, and watching file transfer status bars isn't how I earn my keep. Plus ESX, again VMWare's top of the line product, doesn't support the latest rev of their Workstation's image file format which has been out for over a year. Simply put, after using VMWare Workstation 5.5, ESX seems crippled.
I decided that ESX would complicate administration more than simplify it. Excluding 64 bit Windows hosts, the only problem I've encountered with Workstation is the Windows NAT service (yes I know, NAT sucks, but that's for another entry) crashes under heavy load. In Bridged mode it works fine. So, ignoring the product's name, for my use case Workstation is a better option. I should note that I didn't consider the VMWare Server product which is still in beta, but from my understanding it is similar to VMWare Workstation.
I am optimistic about this configuration, but unfortunately I was unable to virtualize the entire system since the back end is performance sensitive. While VMWare generally performs well, I'd say within 20% of native performance with most applications, my testing showed our software performing 40-50% slower virtualized. I'm not certain of the cause of the discrepancy, but I'll be forced to run those servers natively.
Here's my market prediction: unless VMWare makes improvements to ESX and starts supporting version 5 VMs natively in ESX soon, they are going to have a difficult time maintaining their market leading position. Microsoft and Xen are going to be strong competition with lower cost, faster, hypervisor based products. As it stands ESX benefits little from the features in VMWare Workstation, and if I wanted bypass the Windows host, I might as well get serious about Xen. When Xen has first tier support for Windows guests, because it is Open Source and hence inexpensive, it is going to be the first choice of a lot of admins. Microsoft will win the Windows host market, and VMWare is going to be stuck trying to drain their existing customer base for what it's worth.