Running A Bunch Of Vista SP1 VMs on Hyper-V With A Single Laptop
In this case, a picture is worth a thousand words. I spent some time this afternoon and evening setting up for a fun little test of the Lenovo ThinkPad T61p I have. As you’ll recall from my previous post, my laptop is loaded up with 8GB of memory. So I thought it would be cool to fire up a bunch of virtual machines to see how effectively Windows Server 2008 and Hyper-V allocate and juggle memory. I was able to get fourteen operating system instances running at the same time. The host OS is of course Windows Server 2008 Enterprise x64 with Hyper-V RC1. In the screenshot, you’ll notice I am running six instances of Windows Vista Enterprise SP1 x64 and seven instances of Windows Vista Enterprise SP1 x86. Paging and disk I/O really went up after I fired up VM number eight.
That’s a total of 14 operating systems executing on a single laptop folks!!!
I could have added more disk spindles to the test to improve the I/O bottleneck, but I decided to see what this would be like with a normal travel rig. Therefore, there are three disks in use. Two standard 2.5” SATA drives in the T61p, and your run of the mill external Maxtor drive attached via USB. Not exactly exotic, but this is a memory test, not a demo that requires more efficient I/O.
Here’s the screenshot. You can click the image to get the larger view.
One other thing, the host environment is also running several other services when the screenshot was captured. Active Directory, DNS, and several other role services are running. I also noticed after I did this screenshot, that the VM highlighted and executing has 1024MB of memory allocated instead of 512 like the rest of the VMs. I wanted to get 14 Windows Vista VM’s up and running on a single machine. I could have done it. Drat. Maybe next time. Pretty kewl anyway.
Now obviously this test isn’t very useable, but one thing it points out really nicely. Memory allocations are accurate. And, when you are running a laptop with 8GB of memory, you add a whole new dimension to the environment. Now you can realistically run 7-8 virtual machines with a wide variety of products and technologies. Enjoy.
[Update for 6/7/2008] I altered the title. I removed the reference to a world record since it really isn’t a certified world record. Still pretty impressive though.
[Update for 6/8/2008] What do you do when you are doing laundry, packing and getting ready to travel to TechEd 2008? Clean the pool? Nope. Cut the yard? Naw, it can wait another week. Hey, let’s run another test. Here it is folks. Twenty Seven Windows Vista Enterprise SP1 Virtual Machines executing courtesy of Windows Server 2008 and Hyper-V. All of this is running on a single laptop, the world famous Lenovo ThinkPad T61p with 8GB of Kingston memory. This time I added another hard drive and split the load. I also used a couple of parent disks, and each VM is executing off a differencing virtual disk. The first pic is of all the VMs executing. Keep in mind this is a total of 28 operating systems running on a single laptop when you take into account the parent OS, Windows Server 2008. The second pic shows me killing off the VM’s and the freeing up of the memory. Nice staircase.
Pretty cool, eh? I know you think this is crazy and unusable. I did notice while firing them up under this configuration, that I could easily use 10 client virtual machines with the settings and hardware I used for this test. So some interesting scenarios come to mind with the use of Group Policy, Patch Deployment, OS Deployment, etc. I’ll experiment more in a week or so. Nice.
Here’s the screenshot of me slamming the door on all of the VM’s. I just punched the “Turn Off” link which is hard core to the VM. But that’s what snapshots are for. I’ll fix them up later.
For those of you coming to TechEd 2008 in Orlando, feel free to stop by the System Center Virtual Machine Manager 2008 booth. I’ll be working it a few hours each day. Enough fun. Time for me to get some of my last minute chores done.