One of the slightly irritating things about running Windows XP on vSphere is the default around what virtual disk controller type to use. By default, if you create a clean/new instance of Windows XP, it will default to using a IDE controller. If you these “Typical” wizards when creating a VM you don’t even see this – as the option to select the controller is hidden. If you use the “Custom” option you will see the default is IDE. This happens despite being asked to select a SCSI controller type in previous dialog boxes. So watch out for Mr Next, Next, Next and looking out your office windows when hitting the [ENTER] key…
Note: Many thanks to Brian Dewar for helping on the screen grab front, and double-checking this against vSphere4 (which I no longer run) and vSphere5 which I do.
The trouble is I don’t feel IDE is a good choice in a production environment for two reasons. First, you cannot increase the size of IDE virtual disk from anywhere within the GUI. (That’s true if the VM is created in vSphere4, and then gets moved into a vSphere5 environment.) I know this from hard experience. Back in the day when there was no such thing as thin-provisioned disk, and I lacked large amounts of physical disk space – I got in the habit of making my VMDK’s quite small. Also before VAAI capabilities were introduced it helped with the cloning process. So you guessed it, my Windows XP SP2 VM had insufficient disk space to take SP3 (which is a requirement for the View Agent in View 5.1).
Second, performance is sub-par when you use IDE disks inside Windows XP. With the use of Windows XP in a VDI environment – storage performance is one of the major scalability issues. This was brought to my attention by some testing done by Erik Zandboer on his vmdamentals.com website. It took me back to the days when this debate used come-up on my courses – and I used to always recommend using LSILogic consistently for all systems (including Windows 2000 which actually defaults to BusLogic, incidentally).
VMware has a KB article (KB1016192) which outlines some of the limitations surrounding IDE, and a guide on converting an IDE drive to SCSI. Personally, I just ended up blatting my IDE Windows XP and starting again from scratch – as it wasn’t a complicated build – just a base install used for doing “Captures & Builds” for ThinApps.
So why did VMware introduce this IDE option when it [stinks] so much? Well, I guess one of the problems folks had with virtualizing Windows XP back in the ESX 2.x days was the fact that Windows XP didn’t have either the BusLogic or the LSILogic drivers built-in to the XP media. Folks like me had to hunt down the drivers from LSI Logics site, get them into a floppy disk file, and then use F6 during the boot from the Windows XP CD to provide them during the install routine.
So this is whole story was a trip down memory lane to 2003 when we had to do this crazy kind of stuff just get an OS loaded – on Twitter I called this “jumping into my TARDIS’. I’m figuring that this is why VMware changed the default of Windows XP in later versions of vSphere. Personally, I think this is a bad decision. They should have stuck with the less friendly approach – after all it's one off PITA, compared to potentially creating hundreds of Windows XP instances for a VDI project on IDE.
I had an amusing discussion with Erik Zandboer who put me on to the performance issue with IDE. We were joking about how we would explain this to customers. He came up with:
Q. Can we use IDE?
Q. Can you elaborate?
A. Yes… Don’t Ever?
My take was this:
First rule of IDE, never use IDE
Second Rule of IDE, NEVER use IDE
Third Rule of IDE, NEVER USE IDE….
Of course, all this is rather moot really. WindowsXP is a dead isn’t? At least in a VDI context. Aren’t we all meant to be using “Surface” devices by Tuesday of next week? Erm, I think not…