You might be forgiven in asking why I’m posting a migration guide for System Center Virtual Machine Manager 2012 R2 (SCVMM 2012 R2), when only a few days ago I posted some pointers related to upgrading to SCVMM 2012 R2. The short answer is: different horses for different courses. Also, recently I had the opportunity to execute a migration to a clean environment with the ability to selectively choose what resources and meta-data to move forward. This approach, although quite laborous, is my preferred approach when comes to working with SCVMM – mainly due to the number of preproduction early builds I often have to deploy.
Migrating to SCVMM 2012 R2
In this guide I will cover the key entities which are necessary to be recreated in the new environment, so as to deliver a new clean cloud fabric. The scope of my project will be based almost entirely using PowerShell, as the option of clicking and typing through this process is a non-starter. All the concepts I will cover are based on the current commands offered from SCVMM 2012 SP1 and R2 PowerShell module.
Like all good jobs, it pays to have a plan of action. There are a lot of critical steps and the order of execution is somewhat defined based on interdependencies, therefore my list of tasks will be broken down as follows:
- Create our “Run As” Accounts
- Create Host Groups
- Prepare Hyper-V Hosts by cleaning up agents
- Add Hyper-V Hosts to the new SCVMM environment
- Define the Logical Networks
- Create the Virtual Machine Networks
- Associate the Logical Network with our Hyper-V Hosts
- Add Library Hosts to the new SCVMM environment
- Migrate the Delegated Administrators
- Migrate the Self-Service Users (Tenants)
- Migrate the VM Network assigned to the Self-Service Users
- Migrate the Clouds
- Delegate the Clouds to our Tenants
- Migrate Cloud Quota Properties
- Migrate Virtual Machine Meta-Data
- Migrate VM Templates
- Delegate the Templates to our Tenants
The really nice thing about a migration is that you can plan a rollback procedure and a pilot experience to assist in taking you to the next level. The sequence and coverage I have included here should be enough to cover the vast majority of migrations you will need to address, but remember every environment is different and you will need to adopt the resources I provide here to work in your specific environment.
Now go prepare your test environment, brew a strong cup of coffee, and get ready for a fun trip!
Disable Network Labeling
Prior to beginning any work on configuring our new VMM environment, we will follow one of the the recommended best practices for production environments. On the Network Settings page of the General Settings configuration dialog, we will disable the automatic creation of logical networks.
Set-SCVMMServer -AutomaticLogicalNetworkCreationEnabled $false -LogicalNetworkMatch "FirstDNSSuffixLabel" -BackupLogicalNetworkMatch "VirtualNetworkSwitchName"
Run As Accounts
Using VMM extensively, the fun of repeated typing of user accounts and passwords quickly wears off. Run As accounts are one answer to this, and the first one I need to create in building the new environment is a profile that we can use for deployment agents for our new server. My first Run As account will be SCVMM Agent Management.
$credential = Get-Credential
$runAsAccount = New-SCRunAsAccount -Credential $credential -Name "SCVMM Agent Management" -Description "Account used to manage SCVMM Agents" Write-Output $runAsAccount
In our next post we will prepare our Hyper-V hosts and have them added to our new SCVMM environment.