Today I finally got a chance to play with Beta 2 of the System Center Virtual Machine Manager. Here are my preliminary impressions:

First of all, the product has improved significantly. It has tons of new features, and uses tons of new pre-requisites. Fortunately, you can download a pre-configured VHD with SCVMM, ready to go, from Microsoft Connect.

This version of SCVMM uses the new Windows Remote Management (WinRM) package to manage remote servers. This is a step in the right direction, IMHO, since it is Microsoft’s implementation of the WS-Management Protocol. The downside is that I had to install the WinRM package on the servers, but well, its a nice trade-off for getting a SOAP-based, standard management product.

One thing I really like about it is the Powershell integration. It is finally included in this version of SCVMM, and the implementation rocks – at the end of most wizard, you get a button that says “View Powershell Script”:Pressing that button shows you the Powershell script equivalent to the options you selected:

So far I’ve only been able to add hosts and manage the virtual machines on those hosts. I am looking forward to working with the new advanced features, including (and especially) the physical to virtual migration. Overall I think the new features are great, and you should give it a try.

This past two weeks I have been working on a deployment that involves technologies like PXE, WinPE, Windows Deployment Services, the Windows Automated Installation Kit, and others. I was stuck for a while with WinPE, having issues when trying to capture a Windows image using the WDS Capture disk.

Most of the issues I had were driver-related. When I started, neither the network nor the hard drive of the machine (SATA drivers!! argh!!) were available to WinPE.

So, I did the following:

Get the storage drivers from Intel’s website. You can download them from here. Make sure you download the Vista version of the drivers.

Unpack them on a temporary directory. In my case I ran: iata621_enu.exe -A -PF:\intel

Today Microsoft released the Beta 2 of CarmineSystem Center Virtual Machine Manager. This Beta 2 release adds long-awaited functionality, like P2V and V2V migration, among others. From the release notes:

Completely new look-and-feel (same as System Center Operations Manager 2007, Service Desk and System Center Essentials)

Physical-to-Virtual (P2V) Conversions

Virtual-to-Virtual (V2V) Conversions

64-bit VMM server support

EveryVMM component is now remotely installable

Full Windows PowerShell support

Better overall performance and scalability

Every feature from Beta 1 with more functionality and enhancements

I am currently downloading it, and will post back once I get a chance to play with it a little bit. One of the features that I’m dying to try out is the Powershell support – as powerful as vbscript is, I’m not particularly fond of it, and replacing its use on yet another MS product is another step in the right direction.

If you are interested in Virtual Server, the upcoming Windows Server Virtualization, or Virtualization in general, I suggest you check them out. So far we’ve had some great reviews of the labs, and it is a great opportunity to get hands-on training with Virtual Server and its APIs.

Ever since we saw this post over at the Virtual PC Guy’s Weblog, we have been using Dave Whitney's Free Defragmenter on our virtual machines’ dynamic VHDs to improve the compaction process. The results so far have been great – we have managed to shrink dynamic VHD files to levels far beyond what we could with the standard Windows Disk Defragmenter.

This week I decided to do a little spring cleaning on my work laptop. I installed Windows on it around 2 years ago, and have been installing/uninstalling tons of software ever since. The machine, predictably, had become painfully slow.

Yesterday I managed to remove about 3.5GB of old software and files, leaving the hard drive horribly fragmented. So I decided to leave the Whitney’s defrag tool running overnight… today in the morning I am surprised on how responsive it is! Outlook now takes a few seconds to startup (with a multi-GB pst file), compared to over a minute yesterday. And I can’t believe how quickly the Windows Live Messenger and Visual Studio .NET 2005 started up. I was so surprised, I even decided to write about it here!

HOT TIP: I also recommend an utility called CCleaner to help you optimize your system. It removes all sorts of temporary files and safely cleans up the Registry. I my laptop it freed up around 750MB!

You can now download the Release Candidate for Virtual Server 2005 R2 SP1 from https://connect.microsoft.com. Remember that you need to be registered in the beta program to be able to download the files.

This release contains bug fixes from Beta 2 – other than that, it doesn’t have any additional functionality.

Today I saw an article over at ComputerWorld that talks about Virtualization's downsides. It brings out some interesting points, but I think you can easily overcome them. Here are my comments on some of the points they criticize.(Since I am more familiar with Virtual Server than with competing products, I will concentrate on Virtual Server’s features)

Increased uptime requirements: This is something that has been on my mind since I started working with Virtual Server. Recently I had the change to setup a Virtual Server host cluster, and I think that is the way to go to minimize this concern. With Windows’ clustering capabilities, you can take out a node in the cluster, and another node will continue running the virtual machines. The virtual machines will only be unavailable for a few seconds while the resource group changes from one node to the other.

Bandwith problems: One of the recommended scenarios for running Virtual Server is to remove everything from a NIC on the host server except for the virtualization driver. You can extend this recommendation, and use several NICs on the host, each NIC associated with just one VM. Still, if you have something like a very high-traffic website, you’ll probably be better of running it on a physical server instead.

Cost accounting - license compliance: Microsoft has released new licenses for their server products that make them virtualization-friendly. You can review it here, and see how many licenses you need for your planned configuration. Licenses for other application may be messy, though.

Vendor support: This is something that the industry will have to sort out. Something similar happened with the move to multi-core systems. Some vendors treated dual-core CPUs as two processors (thus requiring two licenses), while other adapted a “per-socket” approach. Other even adapted even stranger policies (dual-core = 1.75 licenses ???). Again, the market will have to adapt to the new virtualization paradigm.

Management Complexity: Managing virtual machines as opposed to physical machines is definitely more complex – you basically have to perform all the management tasks that you normally do for physical boxes, PLUS the overhead of managing virtual machines. Management tools are still in their infancy, but with the eventual release of CarmineSystem Center Virtual Machine Manager plus a fully WMI-based API, the management effort should be reduced significantly.

Then again, there are some workloads that don’t work well when virtualized. Database servers are a classical example of this – IMHO it is a better idea to have one large database server and hosts several database in that SQL Server instance (for example), than to have several virtual machines each one with a separate SQL Server instance hosting different databases.

In this labs we show you in great detail how to leverage Virtual Server’s COM API and WMI methods in you own management applications. You will also learn how to create scripts to automate the management of Virtual Server installations, and you’ll also get to use the betas for the System Center Virtual Machine Manager.