In 2005, Florida was hit hard by hurricanes -- not quite as hard as New Orleans, but damage ran to several millions dollars. As a result, a nonprofit team of builders formed a disaster relief crew that's ready to go to work should the need arise in the future. They asked if I might help get their SharePoint implementation up and running. Since I'm not that great with a hammer, this was my way of lending a hand. But what I thought was a simple request turned into many hours adding users to Active Directory, configuring SharePoint pages, and configuring SharePoint permissions.
Months passed, then the team contacted me again -- it turns out they have never done a backup. What -- all that data and no backup?! I started looking into solutions. After considering free Windows Backup (given that the budget is tight) as well as Mimosa NearPoint for SharePoint, which is my favorite SharePoint backup solution but overkill for this group's needs, I settled on Microsoft's System Center Data Protection Manager (SC DPM). It's reasonably priced and has a bevy of features, including the ability to back up virtual machines easily.
[ Read J. Peter Bruzzese's "Don't be caught without a SharePoint recovery solution" | Doing server virtualization right is not so simple. InfoWorld's expert contributors show you how to get it right in this 24-page "Server Virtualization Deep Dive" PDF guide. ]
The biggest problem was that the servers I was looking to back up were running in VMs on a Hyper-V server. The parent system was made a domain controller during the configuration (in fact, it was the only domain controller for the domain). This is a big no-no. Hyper-V parent systems should be used for backup software, antivirus software, and applications of that sort. You should not try and run heavy features like Active Directory or Exchange on the parent. My attempts to install SC DPM made that issue painfully clear: It would not install on the parent because the parent was a domain controller. Houston, we have our first of many problems.
Note: A very funny response to an FAQ section on Hyper-V that Microsoft offers has the question "Can I run applications in the Microsoft Hyper-V parent partition?" The answer: "No. The Microsoft Hyper-V Server parent partition is specifically for system management." It's funny because it isn't completely accurate. You can run apps, but you shouldn't.
So the first thing I needed to do was get the parent virtual machine to a neutral member server state. I created a new child virtual machine and joined the domain. Then I made it a domain controller in the existing domain. I moved over all FSMO roles (the five special roles that were running on the parent VM). I replicated the user accounts -- all was well.