Before you implement Hyper-V R2 replication; tips, tricks, does and dont’s

This blog post describes how Hyper-V replica can put into place and what are the pro’s and cons for implementing Hyper-V replica. Futhermore this blog posts describes the things to consider when replicating SharePoint, SQL and Active Directory.

Hyper-V replica is an Hyper-V role; introduced in Windows 2012 and enhanced in Windows 2012 R2.
Hyper-V replica can asynchronously replicate a selected VM running at a primary site to a designated replica site across LAN/WAN based on the SMB 3.0 Protocol. This is possible without any need for clustered or central storage.

The only thing you need is local storage on both sites of disaster recovery (DR) site and the primary site (PR).

Hyper-V Replica

Why Hyper-V replication?
-Affordable in-box business continuity and disaster recovery
-Replication frequencies of 5 minutes (Configurable from 30 seconds, 5 minutes or 15 minutes in R2)
-Secure replication across network
-Agnostic of hardware on either site
-No need for other virtual machine replication technologies
-Automatic handling of live migration
-Simple configuration and management

New In Windows 2012 R2
-Replication in 2012 R2 is near synchronic
-Possibility to do test failovers
-Configure TCP settings (before bringing machine online) when brining to other side (inject as part of VMConfig) Extended Replication
-Once a VM has been successfully replicated to the replica site, replica can be replicated to a 3rd location
-Chained Replication
-Extended Replica contents match the original replication contents
-Extended Replica replication frequencies can differ from original replica
-Useful for scenarios such as SMB -> Service Provider -> Service Provider DR Site
Hyper-V Replication DR Site

Things to consider
At the moment there are some caveheats on this solution because Hyper-V replica is an a-synchronic replication some products need special attention (Exchange, SQL and AD).

-Windows Server 2012 Domain Controllers
To replicate Domain Controllers Windows 2012 is required. Windows Server 2012 Hyper-V introduces VM-GenerationID (VMGenID). VMGenID provides a way for the hypervisor to communicate to the guest OS when significant changes have occurred. For example, the hypervisor can communicate to a virtualized DC that a restore from snapshot has occurred (Hyper-V snapshot restore technology, not backup restore). AD DS in Windows Server 2012 is aware of VMGenID VM technology and uses it to detect when hypervisor operations are performed, such as snapshot restore, which allows it to better protect itself. See for more information

No Exchange Support for Hyper-V Replica
Exchange does not support the Hyper-V Replica feature.  Exchange has a long history of supporting virtualisation from Exchange 2003 onwards.  It is fully supported to install Exchange 2007, 2010 or 2013 as a virtual machine on Hyper-V, but using the Hyper-V replica feature is not supported. The product team is working an a solution for this.

After doing some test the Hyper-V failover of Exchange works most of the time (6 out of 10). Therefore we are still waiting on the product group of Exchange and a good offsite backup is therefore (always) an requirement.

-SQL Support
Minimal version of SQL Server 2008 R2 on Hyper-V Replica and is only supported when the EnableWriteOrderPreservationAcrossDisks flag is set. See for more information.

Prerequisites for setting up SCCM 2012 R2 on Windows 2012 R2

When installing System Center Configuration Manager 2012 R2, there are a number of prerequisite steps which need to be taken before installing the software.
They seem simple but can take up a few day’s to finish. I just put them below so we can quickly start the SCCM installation.

1. Change the E1000 NIC to VMXNET3 NIC this to avoid a lot of headache during the rest of the setup. See

1. Change the default network to the Legacy Network Adapter. This to support WOL and PXE integration

Extend Active Directory Schema
1. Extend Active Directory Schema for SCCM 2012 Domain Controllers. Navigate to  \SMSSetup\Bin\x64\ and execute Extadsch.exe
2. Create the System Container and assign Permissions

Site Server Prerequisites
1. We are going to install a stand alone Primary Site Server. Therefore these roles are neccesary; this powershell script install’s it automaticly

This needs to turn on a elevated PowerShell (RunAs Administrator)

Get-Module servermanager
Install-WindowsFeature Web-Windows-Auth
Install-WindowsFeature Web-ISAPI-Ext
Install-WindowsFeature Web-Metabase
Install-WindowsFeature Web-WMI
Install-WindowsFeature BITS
Install-WindowsFeature RDC
Install-WindowsFeature NET-Framework-Features
Install-WindowsFeature Web-Asp-Net
Install-WindowsFeature Web-Asp-Net45
Install-WindowsFeature NET-HTTP-Activation
Install-WindowsFeature NET-Non-HTTP-Activ

There is a bug in the .NET framework 3.5
You need your Windows Installation media to do this.
dism /online /enable-feature /featurename:NetFX3 /all /Source:d:\sources\sxs /LimitAccess

SQL Server considerations
1. Install the Database Engine feature for each site server, Management Tools and Reporting Services
2. Use the SQL_Latin1_General_CP1_CI_AS collation server
3. Apply SP1 and CU4 or later
4. Change MSSQLServer.exe account in services to an domain user account (best practice) account
5. Open the SQL ports for incomming traffic (1433 and 4022) and reporting (80 and 443)
6. Limit SQLServer memory to 70 – 80% of the addressable memory if the SQL is in a dedicated Server. if the SQL is co-located with the Site Server computer limit the memory to 50 – 70%.

Prerequisites for SCCM
1. Prevent SCCM from installing Files on the OS Drive (C:\) by placing no_sms_on_drive.sms in the root of the C:\ folder
2. Install WSUS on the Windows 2012 R2 server with powershell. This because there are some issues in WSUS in combination with Windows 2012
Install-WindowsFeature -Name UpdateServices-Services,UpdateServices-DB -IncludeManagementTools
.\wsusutil.exe postinstall SQL_INSTANCE_NAME=”servername” CONTENT_DIR=”D:\Sources\WSUS\WSUS”
%programfiles%\update services\tools\wsusutil.exe postinstall CONTENT_DIR=D:\Sources\Wsus\WSUS SQL_INSTANCE_NAME=sqlservername
3. Do not configure WSUS
4. Install Windows ADK 8.1 download the new ADK to support Windows 8.1 and Server 2012 R2 from here
4. Install the ADK: User State Migration Tool (USMT), Windows Deployment Tools, Windows PreInstallation Environment (Windows PE)

That’s it, you can now start installing SCCM 2012 R2 !