Windows, HyperV, Exchange, SQL, System Center, PowerShell, Mikrotik, IceWarp IT solution

How to backup Hyper-V Replica VM

Would you like to make offsite VM backup along with Hyper-V Replica? Unfortunatelly, it is not supported by MS. If you start backuping VM Replica, replication could break.

The solution is (where hyperv-cluster1 is source and cluster2 is replica):

1) pause replication

Get-ClusterGroup -Cluster hyperv-cluster1.amccomp.cz | Where-Object {$_.GroupType -eq "VirtualMachine" -and $_.State -eq "Online"} | Get-VM | Where-Object {$_.ReplicationMode -eq "Primary" -and $_.ReplicationState -eq "Replicating"} | Suspend-VMReplication

2) make backup

DPM, Windows Backup or your favourite backup tool

3) resume replication

Get-ClusterGroup -Cluster hyperv-cluster2.amccomp.cz | Where-Object {$_.GroupType -eq "VirtualMachine" -and $_.State -eq "Offline"} | Get-VM | Where-Object {$_.ReplicationMode -eq "Replica" -and ($_.ReplicationState -eq "Suspended" -or $_.ReplicationState -eq "Error")} | Resume-VMReplication
Get-ClusterGroup -Cluster hyperv-cluster2.amccomp.cz | Get-ClusterResource | Where-Object {$_.ResourceType -eq "Virtual Machine Configuration" -and $_.State -eq "Offline"} | Start-ClusterResource
Get-ClusterGroup -Cluster hyperv-cluster1.amccomp.cz | Where-Object {$_.GroupType -eq "VirtualMachine" -and $_.State -eq "Online"} | Get-VM | Where-Object {$_.ReplicationMode -eq "Primary" -and ($_.ReplicationState -eq "Suspended" -or $_.ReplicationState -eq "Error")} | Resume-VMReplication

Don't forget to take cluster resources on replica cluster online (because replica supendation takes them offline). This solution would also work without cluster (just start useing from Get-VM ...).

You can use my Powershell scripts below:

pause-replication.ps1 (259.00 bytes)

pause-replication.ps1 (259.00 bytes)

Windows 2012 R2 Hyper-V Migrate Gen1 to Gen2

If you need migrate your existing Gen1 VM to Gen2 VM, there is simple solution. You don't need double take move (or any other 3rd party sw). Just trun of your VM (make backup!!) and start conversion.

  1. Backup
  2. Note IP config and license key. New VM will have new NICs and new hardware IDs. Maybe you can edit VM .xml configs and copy & paste HW IDs, but I haven't tried it yet and not sure if it will work (but I think it should).
  3. Turn off BitLocker and decrypt your drives (if you are using)
  4. Turn off VM
  5. Mount VHD in your Host OS
  6. Convert VHD from MBR to GPT with gptgen: http://sourceforge.net/projects/gptgen/
  7. Delete System Reserved partition
  8. Create UEFI partitions
    • create partition EFI size=100 offset=1
    • format quick fs=fat32 label="System" 
    • assign letter=S (don't use ntfs, it won't work!)
    • create partition msr size=128 offset=103424
  9. Repair booting: bcdboot c:\windows /s s: /f UEFI
  10. Create new Gen2 VM and attach your edited VHD
  11. Boot Gen2 VM (you can also switch on secure boot)
  12. Reapair networking, reactivate OS
  13. Enjoy faster booting and online System VHD resizing.