NVSPBind released today!

Good news on long overdue support for NIC bindings on core was annouced today on  John Howards blog http://blogs.technet.com/jhoward/archive/2010/01/25/announcing-nvspbind.aspx with the release of NVSPBind. Messing arround in the registry to get this done when you have a lot of NIC is a recipe for disaster. Now let’s how we also get NIC/Connection binding support for Windows Core, as that is also one of the reasons that stopped Core deployments in my little part of the world.

Stories of Windows Backup, P2V, V2V & V2P

In the period 2008-2009 I did quite a lot of work on windows backup for Windows 2008 (R2) involving both physical and virtual (VMware Server & Hyper-V) servers. Apart from backing up certain servers we used it as a free Physical to Virtual (P2V) solution. We also did some Virtual to Virtual (V2V) migrations from VMware Server guests to Hyper-V. All this was in smaller business units or in SME’s where using the functionality inside Windows and free tools was important. Also some servers need nothing beyond what windows backup can deliver.

Part I: https://blog.workinghardinit.work/2010/01/27/using-windows-2008-r2-backups-to-go-virtual-2/
Part II: https://blog.workinghardinit.work/2010/02/01/using-windows-2008-r2-backups-to-go-virtual-ii/
Part III: https://blog.workinghardinit.work/2010/02/02/using-windows-2008-r2-backups-to-go-virtual-part-iii/

The benefit of such work is that one gets to learn a lot about the quirks and hiccups of a product. One also becomes aware of its capabilities. Windows Backup can do more than most people think. For that reason I’m quite happy (more than a lot of people) with the product, especially in Windows 2008 R2.

Just like for ntbackup.exe before, I scripted an entire backup solution around wbadmin.exe with logging, archiving, mail alerts etc. Once you have such an adaptable script you can nicely make due with Windows Backups in various environments. The next step is to write the script in PowerShell. That hasn’t been done yet because the script also needed to run on Windows Core which until R2 had no support for .NET and thus PowerShell.

Al lot has happened in the last quarter of 2009. On October 8th 2009 Sysinternals released disk2vhd tool. The current version now also has CLI support. See http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx for more information. Recently some commercial vendors have also released free tools you can use for this. VizionCore made there vConverter available for free (http://www.vizioncore.com/free/vConverter/index.php). These tools greatly simplify the P2V or V2V scenarios. Still the “hands on approach” is a good way to learn about technology so I will publish my experiences in a series about windows backup, virtualization (P2V and V2V) and such.

As stated above I know people who dismiss Windows Backup as a valid solution. This is not always justified. But if you haven’t really figured out the tool, how would one know? Sure I use Backup Exec, CommVault and the like for larger environments. Sometimes I work in places with dozens to a hundred terabytes of data and multiple SAN’s. But that doesn’t mean one needs to dismiss all other approaches. Use what is needed where it is needed. I have saved several severs and data using the native backup tools in windows over my career. As recently as 10 days ago I did a bare metal recovery of a W2K8R2 that was messed up by user error. Just know what, where, how and when to use it. Isn’t that the same for any product or solution?

In this series we’ll describe a rather challenging disk configuration on the physical machine we need to virtualize and describe the desired end state of the virtual machine. We’ll discuss setting up the virtual machine to recover the backup. After that we’ll discuss the restore process. Finally we’ll turn our attention to sanitizing the disk layout & configuration. I hope you’ll find it both interesting and useful.

SCVMM 2008 R2 Phantom VM guests after Blue Screen

UPDATE: Microsoft posted an SQL Clean Up script to deal with this issue. Not exactly a fix and let’s hope it gets integrated into SCVMM vNext 🙂 Look at the script here http://blogs.technet.com/b/m2/archive/2010/04/16/removing-missing-vms-from-the-vmm-administrator-console.aspx. There is a link to this and another related blog post in the newsgroup link at the bottom of this article as well.

I’ve seen an annoying hick up in SCVMM 2008 R2 (November 2009) in combination with Hyper-V R2 Live migration two times now. In both cases a Blue Screen (due to the “Nehalem” bug http://support.microsoft.com/kb/975530) was the cause of this. Basically when a node in the Hyper-V cluster blue screens you can end up with some (never seen all) VM’s on that node being is a failed/missing state. The VM’s however did fail over to another node and are actually running happily. They will even fail back to the original node without an issue. So, as a matter of fact, all things are up and running. Basically you have a running VM and a phantom one. There are just multiple entries in different states for the same VM. Refreshing SCVMM doesn’t help and a repair of the VM is not working.

While it isn’t a show stopper, it is very annoying and confusing to see VM guest in a missing state, especially since it the VM is actually up and running. You’re just seeing a phantom entry. However be careful when deleting the phantom VM as you’ll throw away the running VM as well they point to the same files. 

Removing the failed/Orphaned VM in SCVMM is a no go when you use shared storage like for example CSV as it points to the same files as the running one and it is visible to both the good VM node and the phantom one. Meaning it will ruin your good VM as well.

Snooping around in the SCVMM database tables revealed multiple VM’s with the same name but with separate GUIDS. In production it’s really a NO GO to mess around with the records. Not even as a last resort because we don’t know enough about the database scheme and dependencies. So I have found two workarounds that do work (used ‘m both).

  1. Export the good VM for save keeping, delete the missing/orphaned VM entry in SCVMM (one taking the good one with it if you didn’t export it) and import the exported VM again. This means down time for the VM guest. 
  2. Remove the Hyper-V cluster from VMM and re add it. This has the benefit that it creates no down time for the good VM and that the bad/orphaned one is gone. 

Searching the net didn’t reveal much info but I did find this thread that discusses the issue as well http://social.technet.microsoft.com/Forums/en-US/virtualmachinemanager/thread/1ea739ec-306c-4036-9a5d-ecce22a7ab85 and this one http://social.technet.microsoft.com/Forums/en/virtualmachinemgrclustering/thread/a3b7a8d0-28dd-406a-8ccb-cf0cd613f666

I’ve also contacted some Hyper-V people about this but it’s a rare and not well-known issue. I’ll post more on this when I find out.