I’ve been using Virtual Server 2005 for quite a while now (over a month of daily usage), and all-in-all, I’m quite pleased. It offers the convenient testing environment of Virtual PC, while easily allowing me to access my virtual machines from almost any PC on my network. For those that are wondering, I’m also a member of the VS2005 SP1 beta program, which I’ve yet to find a problem with (technically anyway)…

The one thing I have noticed that I find very annoying, and which doesn’t make much sense in comparison with the functionality provided by VMWare and the client-side Virtual PC (Virtual Server’s single-user cousin) is the creation of virtual disks.

For disk space purposes, it’s always best (and recommended as so) to create a dynamic disk, which expands from 0 size to the maximum specified size (by default 16gb) as needed.

For performance sake, however, there’s a problem with this. A dynamic disk is subject to very high rates of fragmentation. Since there can be multiple disks on one physical drive, all expanding at random, pieces of data get stuck wherever there’s available space on the physical drive. This creates some horrible disk fragmentation, and can lead to severe decreases in performance. Therefore, it’s recommended that you convert all Virtual Server disks into fixed-size disks, where all 16gb of space is allocated on the physical drive, filled with “fake” data. This means that instead of having millions of pieces of data scattered about in tiny little files on the disk, you’ve instead got one huge file on the physical disk for each virtual drive. Since it’s all allocated at once, it’s all contiguous on the drive (ie: all in the same place). That means it’s much faster for the drive heads to spin around and read data, since it’s all next to each other…

I know VMWare will allow you to create a fixed-size disk initially, and I believe Virtual PC will as well. Virtual Server, however, requires that you create the dynamic disk, and then spend 2 hours converting that dynamic disk into a fixed-size disk. This seems very counter-intuitive if you ask me, particularly for a production system, as Virtual Server is designed to function as.

On a seperate note, I would think you’d be able to create “template” drives on your Virtual Server.

For example, I have 2 disk images, representing “base” or “virgin” installs of both Windows XP Professional SP2 and Windows 2003 Server Enterprise Edition. When I was using Virtual PC, it was quite simple to VNC into my dedicated box designated for virtual machines and copy the xGB image over into a new directory, rename it, and create a new virtual machine using that existing disk.

On Virtual Server, however, the aim is to make everything web-based so multiple users can access their virtual machines at once, without the need to interact directly with the server’s desktop. Unfortunately, I still have to VNC into the machine, thus hogging control from any other hypothetical users, long enough to copy and rename my virtual disk “template” image so I can create a new virtual machine using it.

Don’t you think there should be some way of handling this operation through the web interface? I find it hard to believe this isn’t a common request… Don’t tell me everyone else actually spends 2 hours installing and configuring their virtual machines, then 2 more hours converting them to fixed-size disks, just to test something and have it eat their machine, then restart the entire process…

Anyway, those are my complaints. Anyone from Microsoft’s Virtual Server team listening? How about you Robert Scoble? Or are you too caught up moving to a new blogging platform and enjoying the results of the Web 2.0 conference to help me out?

Originally published and updated .