posted on June 5, 2006 3:39 PM by Kurt
VPC Bug - undo disks with two drives or more causing crash
Today, I spent an inordinate amount of time getting Microsoft Virtual PC 2004 to play nice with a VPC that was sent from Ken Mallit (Microsoft). Now I know, Ken Mallit doesn't use undo disks very often for performance reasons, but for me, they are an utter necessity. Development without undo disks to me is like flying without a parachute. I need the ability to throw away changes and start fresh - often this involves more than just source control. And when working with server products like SharePoint, this is especially true, since you are actually editing config files that aren't a part of your source control.
Anyway, I just wanted to have my undo disks on, which is usually pretty simple. However, this VPC has two hard drives due to space constraints (it has basically *every* server product from Microsoft on there) so I was a little leary about having two VHDs and two undo disks. And add in the little fact that this was all getting run from an external non powered (5400rpm) drive.
Well, that last point makes all the difference.
Apparently, and I haven't confirmed this with anyone, that's just too much IO for that little disk to handle. So what happened when running the VPC? It totally tanked. First, the load time was incredibly slow - fair enough. But immediately after logging in - the VPC reset itself. No BSOD, no warning, just hard reset - basically a virtual power cycle. Well, that I couldn't believe. Slow IO or not, it shouldn't do that. And this behavior was reproducable across host machines, and across VPCs of this type, so I decided that this is a bug.
The solution: I left the VHDs on the external drive and moved the undos to save to my internal hard drive. Not only did it stop the crashing, but it vastly improved the performance of the VPC. So, make sure to run undo disks locally when you have more than one VHD.
If I'm a nice guy, maybe I'll go bother the good people at the VPC guy's blog. But for now, I'll just complain about it here.