Clearing up paravirtualisation
With a recent upgrade to ESX 3.5 I now have the option to enable “VMI Paravirtualisation” on the virtual guest machines. I was hoping to enable this specifically on our Windows guests.
I was not clear on what this meant and I had found a lot of confusing information on the Internets about it. Luckily it seems I was not the only one! I found this really cool summary of what does and what doesn’t support it. Check out Joyrex’s Blog for the full article, but here’s a snip:
Windows Guests:
- As of now, nothing supports it.
- Windows 2003 32-bit would boot with VMI turned on in VMware, but it refused to recognize the PCI Memory Controller properly, and couldn’t find a driver for it.
- Windows 2003 and 2008 64-bit wouldn’t boot with it enabled.
- They have “paravirtualized drivers”, that apparently give better performance when used in the Guest, but I’m not 100%. Whatever the case, “paravirtualized drivers” != full paravirtualization.
Wikipedia also has a nice article on what it is and how it came to be.
Virtualising virtualisation
So I needed to test some patches before commiting them on a live ESX environment. I was contemplating using a spare hard disk and building a simple ESX environment on a desktop PC, but I figured hey, this is what virtualisation is actually for, let me install ESX on my VMWare Server (v2.0) and test it from there.
It works!
…but, when I tried to boot a virtual machine that I’d created on the (virtualised) ESX server it threw the error:
“You may not power on a virtual machine in a virtual machine”
Fair enough. They must be running a check for that somewhere. The clever pidgeons at Google revealed this cool hack to bypass it:
Shutdown your ESX virtual machine (not the VM you created on ESX).
Edit its .vmx file, and add the following two lines at the bottom:
monitor.virtual_exec = “hardware”
monitor_control.restrict_backdoor = “true”
A word of warning tough, as you’re essentially working through two hypervisors, the machine will run like snails charging through peanut butter.
Poor VMWare performance on XFS 
I run a number of VM’s on my über-linux box at home and I decided to make use of XFS because itsa fast, reliable and modern file system. I also want to get some hands-on experience with it before OS X 10.6 ‘Snow Leopard’ comes out with it as its default filesystem.
Even though I’m running really fast Samsung Spinpoint F1 drives with 32MB cache I had experienced really slow VM disk performance.
Fast FS, Fast drives — hmmn. something isn’t right here.
I started by checking if Nvidia made special motherboard drivers for the NForce 780i that supported Linux x64 - no luck there.
The only thing I hadn’t used before was XFS. I Googled a bit and found this thread where someone else was having the same problem as me.
For a start, I enabled the ‘nobarrier’ option in my fstab and its suddenly a whole lot faster. I’ll try the other tweaks later on, but the performance is back to what I’d expected.

