<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Hyper-V Replica and Nimble Storage Advanced Features in Operating System - Microsoft</title>
    <link>https://community.hpe.com/t5/operating-system-microsoft/hyper-v-replica-and-nimble-storage-advanced-features/m-p/7002101#M13035</link>
    <description>&lt;P&gt;This is part 2 of a 2 part series on how to use Hyper-V Replica. Part 1 describes how to use Hyper-V replica in a general way, and applies to all storage, while this part will focus in on optimizing Hyper-V replica specifically to Nimble. I outlined in Part 1 that there are a number of limitations of Hyper-V replica, and this blog will address how to limit the effect of those limitations. You can find Part 1 of this series here; &lt;A title="Hyper-V Replica for Nimble Storage Part 1" href="https://community.hpe.com/t5/Operating-System-Microsoft/Using-Hyper-V-Replica-with-Nimble-Storage/m-p/7001626" target="_self"&gt;https://community.hpe.com/t5/Operating-System-Microsoft/Using-Hyper-V-Replica-with-Nimble-Storage/m-p/7001626&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;Offloaded Initial Sync&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;Let’s remove one of those negatives, namely the fact that we need to use the host to do the initial sync from Site A to Site B. Instead we can use the array to populate the VHDs from Site A to Site B.&lt;/P&gt;&lt;P&gt;To do this, we will Create a Cluster Shared Volume (CSV) for a set of VMs on the primary site; This can be a pre-existing Nimble Volume.&lt;/P&gt;&lt;P&gt;We can then Replicate that Volume to the array on the remote site, until the Replicas are ready to configure we want to leave this array-based replication process running. You then want to go through the same process for creating a VM Replication outlined in the previous post. The only exception is when asked if you want to start the initial replication or if you want to use out-of-band replication. Lets assume that my VM is stored in the following location;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;C:\ClusterStorage\Volume1\VMName1\&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;I would then create an use the following directory for the out-of-band replication files&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;C:\ClusterStorage\Volume1\VMName1\ReplicationFiles&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Initial Sync" style="width: 716px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102587i92325716B4883743/image-size/large?v=v2&amp;amp;px=2000" role="button" title="SyncViaExternal.jpg" alt="Initial Sync" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Initial Sync&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now we can create a manual snapshot on the primary site to ensure that the replication folder will exist at a specific time. Using the array GUI choose to take a snapshot of the primary site dataset,&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Create a Snapshot to ensure it gets to remote site" style="width: 400px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102573i3B2F972F9A1F6CDF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="SnapShot.jpg" alt="Create a Snapshot to ensure it gets to remote site" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Create a Snapshot to ensure it gets to remote site&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Once the snapshot is created, the replication process will ensure that it is sent to the remote site along with the volume collection replication.&lt;/P&gt;&lt;P&gt;This completes our tasks on the primary site. Now let’s flip over to the target site.&lt;/P&gt;&lt;P&gt;On the Target Server and Target Array we will want to Create a Clone of the Volume that is being mirrored from the Primary Site. That clone should be imported to the Target Server. This can be done by running the following Nimble PowerShell Command;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;PS:&amp;gt; Invoke-CloneNimVolume -NimbleVolumeName VMStore -SnapshotName “VMStore-SnapShotname” -AddToCSV&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PowerShell Attach" style="width: 1466px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102575i9293C0C811E08B69/image-size/large?v=v2&amp;amp;px=2000" role="button" title="PowershellAttac.jpg" alt="PowerShell Attach" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;PowerShell Attach&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Once the Target Server can see the Replication Directory that we created on Site A from its newly mapped volume, we can complete the Hyper-V Replica process.&lt;/P&gt;&lt;P&gt;From the Hyper-V Replica target node, we want to right click on the Hyper-V Replica, and select import baseline. In the background the Hyper-V replica service will set the replication VHD as the base, and then it will apply all of the changes that have been accumulating on the target since the replication has started. Once all of the applications of incremental changes have finished the target VHD will continue normally.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Import Initial Replica from Site B" style="width: 760px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102576i588AD4FB8A2493AD/image-size/large?v=v2&amp;amp;px=2000" role="button" title="ImportInitial.jpg" alt="Import Initial Replica from Site B" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Import Initial Replica from Site B&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;As a mental exercise, lets assume we have a 100GB VHD and that VHD has a change rate of 1% daily or about 42 Mbytes per Hour.&lt;/P&gt;&lt;P&gt;Using the Complete Hyper-V Replica Process, We would setup the replica and let it start operating. In the background Hyper-V would read every block for the VHD from the array, and then compress that data and re-write it out to the Hyper-V Server on Site B, and which point the Hyper-V node on Site B would then write the data to the array. Also occurring on site the Hyper-V Host is writing hyper-V log files to Site B that contain the changes from the base VHD. If the mirroring process takes 2 hours, then the following loads would be incurred&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Array on Site A&amp;nbsp;--&amp;gt; 100GB of extra READ traffic&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Hyper-V Host Site A --&amp;gt; 100GB of extra READ traffic + 100GB of extra WRITE traffic + 84 MB of incremental Updates&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Hyper-Vp Host Site B&amp;nbsp;--&amp;gt; 100GB of extra write traffic +&amp;nbsp;84 MB of incremental updates&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Array on Site B&amp;nbsp;--&amp;gt; 100GB + 84 MB of WRITE traffic&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Using the Offloaded Hyper-V Replica process incorporating Nimble Replication, the workload will look significantly different. It involves an additional couple of steps to setup, however, it avoids a significant amount of work on the part of the Hyper-V hosts. In this process, the Hyper-V hosts would only ever transmit the incremental updates.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Array on Site A&amp;nbsp;--&amp;gt; push 100GB of traffic Directly to the Array on Site B&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Hyper-V Host Site A&amp;nbsp;--&amp;gt; transmit 84 MB of incremental traffic&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Hyper-V Host Site B&amp;nbsp;--&amp;gt; accept 84 MB of incremental traffic&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Array on Site B&amp;nbsp;--&amp;gt; accept 100GB of traffic directly from the array on Site A&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;As you can see, using the Array to replicate from Site A to Site B doesn’t not increase the load on the Array, but it greatly reduces the load on the Hyper-V nodes. While this extra process is unnecessary for a single VM or a set of small VMs, it can make a significant difference when the primary site resources (network, cpu) are already taxed, or the number of VMs Is large, or the size of specific VMs are large.&lt;/P&gt;&lt;P&gt;&lt;FONT size="4"&gt;&lt;U&gt;&lt;STRONG&gt;Using Array based Snapshots to Restore a Hyper-V Replica to a Previous Version&lt;/STRONG&gt;&lt;/U&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Now that Site A has failed, and you are running on Site B, you may find that the VM should be restored to a previous version. This is a common activity if the threat to the VM was virus or malware based and you were trying to return that VM to pre-event status.&lt;/P&gt;&lt;P&gt;The first step is to bring the VM up in its current state (but isolated from the production network) and determine what the virus is and ensure that you can positively identify the infection via your favorite anti-virus software. Once you know the process to identify the virus, you will want to roll the VM back to a previous version and test the VM again until you have found the snapshot prior to the infection.&lt;/P&gt;&lt;P&gt;At this point you will want to shut down the VM, and remove Replication from the VM. Once this has been done, you will want to disconnect the VM VHD drive.&lt;/P&gt;&lt;P&gt;Once this is complete, we will want to use the a powershell command to bring up a snapshot as an additional drive letter. First create a mount point where these snapshots can be mapped;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;MKDIR C:\SnapShots&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Then you will want to create a directory named after the automatic snapshot name on the array, as an example, my Nimble Volume Name for this host on the secondary site is “DL380G6BottomVMStore”. To obtain a list of the valid snapshots, use the following command;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;Get-NimVolume | format-table NimbleVolume,WindowsVolumes&lt;/FONT&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;Get-NimSnapShot -NimbleVolumeName “DL380G6BottomVMStore” | format-table name,creationtime,vss&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PowerShell GetNimVol and GetNimSnap" style="width: 886px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102577i8B5BEE64D4D082CC/image-size/large?v=v2&amp;amp;px=2000" role="button" title="GetNimVolGetNimSnap.jpg" alt="PowerShell GetNimVol and GetNimSnap" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;PowerShell GetNimVol and GetNimSnap&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Once I have the timeframe I want to restore a VM from, I can attach the snapshot to a mount point in the snapshot directory&lt;/P&gt;&lt;P&gt;Lets go ahead and find a specific date and time for a snapshot, and run the command that will mount it to my host. I can do this with the following command;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;Get-NimSnapshot -NimbleVolumeName MyVolName | where {$_.CreationTime -eq '4/10/2016 5:01:23 AM'}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;I can then create the folder in my snapshot directory to mount this to, and issue the following powershell command;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;&lt;STRONG&gt;mkdir C:\snapshots\MyFolder&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;&lt;STRONG&gt;Invoke-CloneNimVolume -NimbleVolumeName MyVolName -SnapshotName MySnapName -AccessPath Folder&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;In the example screenshot, I used a few variables to store the Volume, Snapshot, and Folder path.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PowerShell Mount a Snapshot" style="width: 1382px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102578iA70F106813667155/image-size/large?v=v2&amp;amp;px=2000" role="button" title="MountASnap.jpg" alt="PowerShell Mount a Snapshot" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;PowerShell Mount a Snapshot&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Now that you have the snapshot loaded, you need to find the hard drive to connect. The correct folder can be found at the same time you are disconnecting the existing VHD from the VM. See the attached image.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Determine the Folder for the VHD" style="width: 1164px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102579i6F46F210F7FA164B/image-size/large?v=v2&amp;amp;px=2000" role="button" title="FindFolder.jpg" alt="Determine the Folder for the VHD" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Determine the Folder for the VHD&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Note that you can remove the C:\ClusterStorage\Volume1 from the front of the path and insert your snapshot folder so;&lt;/P&gt;&lt;P&gt;C:\ClusterStorage\Volume1\Hyper-VReplica\VirtualHardDisks\{guid}&lt;/P&gt;&lt;P&gt;C:\Snapshots\Hyper-VReplica\VirtualHardDisks\{guid}&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Reattach Snapshot sourced VHD" style="width: 723px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102581iD3FCF4F877542374/image-size/large?v=v2&amp;amp;px=2000" role="button" title="ReattachHDD.jpg" alt="Reattach Snapshot sourced VHD" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Reattach Snapshot sourced VHD&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;At this point once the VHD is attached, you should be able to boot the VM, and test it to be sure it meets your needs…i.e. isn’t infected/corrupt/etc. If this VM is not acceptable, and you wish to go back farther, you can run this process again and attach another snapshot and remove the VHD from the VM and reattach to the new location.&lt;/P&gt;&lt;P&gt;Once you have an acceptable VHD attached to your VM, you can then finish up the process by using Live Virtual Machine Storage Migration to relocate all of the VM files (including the VHD) back onto the production volume.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LiveStorageMigrate back to default locations" style="width: 931px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102584iEEA51D0CFE6C423A/image-size/large?v=v2&amp;amp;px=2000" role="button" title="LiveMigrate.jpg" alt="LiveStorageMigrate back to default locations" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;LiveStorageMigrate back to default locations&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Once you no longer need the Snapshot volume, you can disconnect these using Nimble Connection Manager, and then use the Nimble Array GUI to remove the mapping.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NimbleConnectionMgr Disconnect" style="width: 886px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102585i55B6F72DC98C0325/image-size/large?v=v2&amp;amp;px=2000" role="button" title="Disco.jpg" alt="NimbleConnectionMgr Disconnect" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;NimbleConnectionMgr Disconnect&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 10 Apr 2018 17:45:25 GMT</pubDate>
    <dc:creator>Chris_Lionetti</dc:creator>
    <dc:date>2018-04-10T17:45:25Z</dc:date>
    <item>
      <title>Hyper-V Replica and Nimble Storage Advanced Features</title>
      <link>https://community.hpe.com/t5/operating-system-microsoft/hyper-v-replica-and-nimble-storage-advanced-features/m-p/7002101#M13035</link>
      <description>&lt;P&gt;This is part 2 of a 2 part series on how to use Hyper-V Replica. Part 1 describes how to use Hyper-V replica in a general way, and applies to all storage, while this part will focus in on optimizing Hyper-V replica specifically to Nimble. I outlined in Part 1 that there are a number of limitations of Hyper-V replica, and this blog will address how to limit the effect of those limitations. You can find Part 1 of this series here; &lt;A title="Hyper-V Replica for Nimble Storage Part 1" href="https://community.hpe.com/t5/Operating-System-Microsoft/Using-Hyper-V-Replica-with-Nimble-Storage/m-p/7001626" target="_self"&gt;https://community.hpe.com/t5/Operating-System-Microsoft/Using-Hyper-V-Replica-with-Nimble-Storage/m-p/7001626&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;U&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;Offloaded Initial Sync&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;Let’s remove one of those negatives, namely the fact that we need to use the host to do the initial sync from Site A to Site B. Instead we can use the array to populate the VHDs from Site A to Site B.&lt;/P&gt;&lt;P&gt;To do this, we will Create a Cluster Shared Volume (CSV) for a set of VMs on the primary site; This can be a pre-existing Nimble Volume.&lt;/P&gt;&lt;P&gt;We can then Replicate that Volume to the array on the remote site, until the Replicas are ready to configure we want to leave this array-based replication process running. You then want to go through the same process for creating a VM Replication outlined in the previous post. The only exception is when asked if you want to start the initial replication or if you want to use out-of-band replication. Lets assume that my VM is stored in the following location;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;C:\ClusterStorage\Volume1\VMName1\&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;I would then create an use the following directory for the out-of-band replication files&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;C:\ClusterStorage\Volume1\VMName1\ReplicationFiles&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Initial Sync" style="width: 716px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102587i92325716B4883743/image-size/large?v=v2&amp;amp;px=2000" role="button" title="SyncViaExternal.jpg" alt="Initial Sync" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Initial Sync&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now we can create a manual snapshot on the primary site to ensure that the replication folder will exist at a specific time. Using the array GUI choose to take a snapshot of the primary site dataset,&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Create a Snapshot to ensure it gets to remote site" style="width: 400px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102573i3B2F972F9A1F6CDF/image-size/medium?v=v2&amp;amp;px=400" role="button" title="SnapShot.jpg" alt="Create a Snapshot to ensure it gets to remote site" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Create a Snapshot to ensure it gets to remote site&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Once the snapshot is created, the replication process will ensure that it is sent to the remote site along with the volume collection replication.&lt;/P&gt;&lt;P&gt;This completes our tasks on the primary site. Now let’s flip over to the target site.&lt;/P&gt;&lt;P&gt;On the Target Server and Target Array we will want to Create a Clone of the Volume that is being mirrored from the Primary Site. That clone should be imported to the Target Server. This can be done by running the following Nimble PowerShell Command;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;PS:&amp;gt; Invoke-CloneNimVolume -NimbleVolumeName VMStore -SnapshotName “VMStore-SnapShotname” -AddToCSV&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PowerShell Attach" style="width: 1466px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102575i9293C0C811E08B69/image-size/large?v=v2&amp;amp;px=2000" role="button" title="PowershellAttac.jpg" alt="PowerShell Attach" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;PowerShell Attach&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Once the Target Server can see the Replication Directory that we created on Site A from its newly mapped volume, we can complete the Hyper-V Replica process.&lt;/P&gt;&lt;P&gt;From the Hyper-V Replica target node, we want to right click on the Hyper-V Replica, and select import baseline. In the background the Hyper-V replica service will set the replication VHD as the base, and then it will apply all of the changes that have been accumulating on the target since the replication has started. Once all of the applications of incremental changes have finished the target VHD will continue normally.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Import Initial Replica from Site B" style="width: 760px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102576i588AD4FB8A2493AD/image-size/large?v=v2&amp;amp;px=2000" role="button" title="ImportInitial.jpg" alt="Import Initial Replica from Site B" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Import Initial Replica from Site B&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;As a mental exercise, lets assume we have a 100GB VHD and that VHD has a change rate of 1% daily or about 42 Mbytes per Hour.&lt;/P&gt;&lt;P&gt;Using the Complete Hyper-V Replica Process, We would setup the replica and let it start operating. In the background Hyper-V would read every block for the VHD from the array, and then compress that data and re-write it out to the Hyper-V Server on Site B, and which point the Hyper-V node on Site B would then write the data to the array. Also occurring on site the Hyper-V Host is writing hyper-V log files to Site B that contain the changes from the base VHD. If the mirroring process takes 2 hours, then the following loads would be incurred&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Array on Site A&amp;nbsp;--&amp;gt; 100GB of extra READ traffic&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Hyper-V Host Site A --&amp;gt; 100GB of extra READ traffic + 100GB of extra WRITE traffic + 84 MB of incremental Updates&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Hyper-Vp Host Site B&amp;nbsp;--&amp;gt; 100GB of extra write traffic +&amp;nbsp;84 MB of incremental updates&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Array on Site B&amp;nbsp;--&amp;gt; 100GB + 84 MB of WRITE traffic&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Using the Offloaded Hyper-V Replica process incorporating Nimble Replication, the workload will look significantly different. It involves an additional couple of steps to setup, however, it avoids a significant amount of work on the part of the Hyper-V hosts. In this process, the Hyper-V hosts would only ever transmit the incremental updates.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Array on Site A&amp;nbsp;--&amp;gt; push 100GB of traffic Directly to the Array on Site B&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Hyper-V Host Site A&amp;nbsp;--&amp;gt; transmit 84 MB of incremental traffic&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Hyper-V Host Site B&amp;nbsp;--&amp;gt; accept 84 MB of incremental traffic&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;&lt;FONT size="2"&gt;Array on Site B&amp;nbsp;--&amp;gt; accept 100GB of traffic directly from the array on Site A&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;As you can see, using the Array to replicate from Site A to Site B doesn’t not increase the load on the Array, but it greatly reduces the load on the Hyper-V nodes. While this extra process is unnecessary for a single VM or a set of small VMs, it can make a significant difference when the primary site resources (network, cpu) are already taxed, or the number of VMs Is large, or the size of specific VMs are large.&lt;/P&gt;&lt;P&gt;&lt;FONT size="4"&gt;&lt;U&gt;&lt;STRONG&gt;Using Array based Snapshots to Restore a Hyper-V Replica to a Previous Version&lt;/STRONG&gt;&lt;/U&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Now that Site A has failed, and you are running on Site B, you may find that the VM should be restored to a previous version. This is a common activity if the threat to the VM was virus or malware based and you were trying to return that VM to pre-event status.&lt;/P&gt;&lt;P&gt;The first step is to bring the VM up in its current state (but isolated from the production network) and determine what the virus is and ensure that you can positively identify the infection via your favorite anti-virus software. Once you know the process to identify the virus, you will want to roll the VM back to a previous version and test the VM again until you have found the snapshot prior to the infection.&lt;/P&gt;&lt;P&gt;At this point you will want to shut down the VM, and remove Replication from the VM. Once this has been done, you will want to disconnect the VM VHD drive.&lt;/P&gt;&lt;P&gt;Once this is complete, we will want to use the a powershell command to bring up a snapshot as an additional drive letter. First create a mount point where these snapshots can be mapped;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;MKDIR C:\SnapShots&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;Then you will want to create a directory named after the automatic snapshot name on the array, as an example, my Nimble Volume Name for this host on the secondary site is “DL380G6BottomVMStore”. To obtain a list of the valid snapshots, use the following command;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;Get-NimVolume | format-table NimbleVolume,WindowsVolumes&lt;/FONT&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;Get-NimSnapShot -NimbleVolumeName “DL380G6BottomVMStore” | format-table name,creationtime,vss&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PowerShell GetNimVol and GetNimSnap" style="width: 886px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102577i8B5BEE64D4D082CC/image-size/large?v=v2&amp;amp;px=2000" role="button" title="GetNimVolGetNimSnap.jpg" alt="PowerShell GetNimVol and GetNimSnap" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;PowerShell GetNimVol and GetNimSnap&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Once I have the timeframe I want to restore a VM from, I can attach the snapshot to a mount point in the snapshot directory&lt;/P&gt;&lt;P&gt;Lets go ahead and find a specific date and time for a snapshot, and run the command that will mount it to my host. I can do this with the following command;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;Get-NimSnapshot -NimbleVolumeName MyVolName | where {$_.CreationTime -eq '4/10/2016 5:01:23 AM'}&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;I can then create the folder in my snapshot directory to mount this to, and issue the following powershell command;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;&lt;STRONG&gt;mkdir C:\snapshots\MyFolder&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;FONT face="terminal,monaco" size="1"&gt;&lt;STRONG&gt;Invoke-CloneNimVolume -NimbleVolumeName MyVolName -SnapshotName MySnapName -AccessPath Folder&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;In the example screenshot, I used a few variables to store the Volume, Snapshot, and Folder path.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PowerShell Mount a Snapshot" style="width: 1382px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102578iA70F106813667155/image-size/large?v=v2&amp;amp;px=2000" role="button" title="MountASnap.jpg" alt="PowerShell Mount a Snapshot" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;PowerShell Mount a Snapshot&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Now that you have the snapshot loaded, you need to find the hard drive to connect. The correct folder can be found at the same time you are disconnecting the existing VHD from the VM. See the attached image.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Determine the Folder for the VHD" style="width: 1164px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102579i6F46F210F7FA164B/image-size/large?v=v2&amp;amp;px=2000" role="button" title="FindFolder.jpg" alt="Determine the Folder for the VHD" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Determine the Folder for the VHD&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Note that you can remove the C:\ClusterStorage\Volume1 from the front of the path and insert your snapshot folder so;&lt;/P&gt;&lt;P&gt;C:\ClusterStorage\Volume1\Hyper-VReplica\VirtualHardDisks\{guid}&lt;/P&gt;&lt;P&gt;C:\Snapshots\Hyper-VReplica\VirtualHardDisks\{guid}&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Reattach Snapshot sourced VHD" style="width: 723px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102581iD3FCF4F877542374/image-size/large?v=v2&amp;amp;px=2000" role="button" title="ReattachHDD.jpg" alt="Reattach Snapshot sourced VHD" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Reattach Snapshot sourced VHD&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;At this point once the VHD is attached, you should be able to boot the VM, and test it to be sure it meets your needs…i.e. isn’t infected/corrupt/etc. If this VM is not acceptable, and you wish to go back farther, you can run this process again and attach another snapshot and remove the VHD from the VM and reattach to the new location.&lt;/P&gt;&lt;P&gt;Once you have an acceptable VHD attached to your VM, you can then finish up the process by using Live Virtual Machine Storage Migration to relocate all of the VM files (including the VHD) back onto the production volume.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LiveStorageMigrate back to default locations" style="width: 931px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102584iEEA51D0CFE6C423A/image-size/large?v=v2&amp;amp;px=2000" role="button" title="LiveMigrate.jpg" alt="LiveStorageMigrate back to default locations" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;LiveStorageMigrate back to default locations&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Once you no longer need the Snapshot volume, you can disconnect these using Nimble Connection Manager, and then use the Nimble Array GUI to remove the mapping.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NimbleConnectionMgr Disconnect" style="width: 886px;"&gt;&lt;img src="https://community.hpe.com/t5/image/serverpage/image-id/102585i55B6F72DC98C0325/image-size/large?v=v2&amp;amp;px=2000" role="button" title="Disco.jpg" alt="NimbleConnectionMgr Disconnect" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;NimbleConnectionMgr Disconnect&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Apr 2018 17:45:25 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-microsoft/hyper-v-replica-and-nimble-storage-advanced-features/m-p/7002101#M13035</guid>
      <dc:creator>Chris_Lionetti</dc:creator>
      <dc:date>2018-04-10T17:45:25Z</dc:date>
    </item>
  </channel>
</rss>

