Hyper-V Stretch Cluster Replication

 

Updated: November 19, 2015

In this evaluation example, you will configure these computers and storage in a single stretch cluster, where two nodes share one set of storage and two nodes share another set of storage, then synchronous replication keeps both sets of storage mirrored in the cluster to allow immediate failover. These nodes and their storage should be located in separate physical sites, although it is not required. The stretch cluster will run a Hyper-V Compute workload.

Important

In this evaluation, servers in different sites must be able to communicate with the other servers via a network, but not have any physical connectivity to the other site’s shared storage.

Terms

This walkthrough uses the following environment as an example: .

  • Four servers, named SR-SRV01, SR-SRV02, SR-SRV03, and SR-SRV04 formed into a cluster called SR-SRVCLUS.

  • A pair of logical “sites” that represent two different data centers, with one called Redmond and the other called Bellevue.

Note

You can use only two nodes instead of four, where one node each is in each site. However, you will not be able to perform intra-site fail over with only two servers.

Asymmetric shared storage

FIGURE: Storage Replication in a stretch cluster

Prerequisites

  • Windows Server Active Directory domain (does not need to run Windows Server 2016 Technical Preview).

  • Four servers with Windows Server 2016 Technical Preview installed.

    Important

    You must use physical servers for the Stretch Cluster Hyper-V scenario. You can use a virtual machine environment for server-to-server and cluster-to-cluster testing.

  • Two sets of shared storage, using SAS JBODs, Fibre Channel SAN, or iSCSI Target. The storage should contain a mix of HDD and SSD media. You will make each storage set available to two of the servers only.

  • Each set of storage must allow creation of at least two virtual disks, one for replicated data and one for logs. The physical storage must have the same sector sizes on all the data disks. The physical storage must have the same sector sizes on all the log disks.

  • At least one 1GbE connection on each file server, preferably 10GbE, iWARP, or InfiniBand.

  • At least 4GB of RAM in each server and at least 2 cores. You will need more memory and cores for more virtual machines.

  • Appropriate firewall and router rules to allow ICMP, SMB (port 445, plus 5445 for SMB Direct) and WS-MAN (port 5985) bi-directional traffic between all nodes.

  • A network between the two sets of servers with at least 1Gbps throughput (preferably 8Gbps or higher) and average of ≤5ms round trip latency. For example, using ping:

  • Membership in the built-in Administrators group on all server nodes.

Many of these requirements can be determined by using the Test-SRTopology cmdlet. You get access to this tool if you install Storage Replica or the Storage Replica Management Tools features on at least one server. There is no need to configure Storage Replica to use this tool, only to install the cmdlet. More information is included in the following steps.

Provision operating system, features, roles, storage, and network

Warning

Windows Server 2016 Technical Preview does not support Storage Replica on production servers.

  1. Install Windows Server 2016 Technical Preview on all server nodes with an installation type of Windows Server 2016 Technical Preview (Server with Desktop Experience). This scenario relies on GUI tools for many examples. Do not choose Standard Edition if it is available, as it does not contain Storage Replica.

  2. Add network information and join them to the domain, then restart them.

    Important

    From this point on, always logon as a domain user who is a member of the built-in administrator group on all servers. Always remember to elevate your Windows PowerShell and CMD prompts going forward when running on a Full graphical server installation or on a Windows 10 computer.

    Note

    As of this point, the guide presumes you have two pairings of servers for use in a stretch cluster. A WAN or LAN network separate the servers and the servers belong to either physical or logical sites. The guide considers SR-SRV01 and SR-SRV02 to be in site Redmond and SR-SRV03 and SR-SRV04 to be in site Bellevue.

  3. Connect the first set of shared JBOD storage enclosure, iSCSI target, or FC SAN to the servers in site Redmond.

  4. Connect the second set of storage to the servers in site Bellevue.

  5. As appropriate, install latest vendor storage and enclosure firmware and drivers, latest vendor HBA drivers, latest vendor BIOS/UEFI firmware, latest vendor network drivers, and latest motherboard chipset drivers on all four nodes. Restart nodes as needed.

    Note

    Consult your hardware vendor documentation for configuring shared storage and networking hardware.

  6. Ensure that BIOS/UEFI settings for servers enable high performance, such as disabling C-State, setting QPI speed, enabling NUMA, and setting highest memory frequency. Ensure power management in Windows Server is set to high performance. Restart as required.

  7. Configure roles as follows:

    • Graphical method

      Run ServerManager.exe and add all server nodes by clicking Manage and Add Servers.

      Important

      Install the Hyper-V, Multipath IO, Failover Clustering, and Storage Replica roles and features on each of the nodes and restart them.

    • Using Windows PowerShell method

      On SR-SRV04 or a remote management computer, run the following command in a Windows PowerShell console to install the required features and roles for a stretch cluster on the four nodes and restart them:

      $Servers = 'SR-SRV01','SR-SRV02','SR-SRV03','SR-SRV04'
      
      $Servers | foreach { Install-WindowsFeature –ComputerName $_ –Name Storage-Replica,Failover-Clustering,Multipath-IO,Hyper-V –IncludeManagementTools -restart }
      

      For more information on these steps, see Install or Uninstall Roles, Role Services, or Features

  8. On all nodes, if running and enabled, stop and disable the Windows Search service using Services.msc.

    Warning

    In Windows Server 2016 Technical Preview, this service is installed by default and due to a known issue, will cause problems with clustering, CSV, and Storage Replica. Do not skip this step.

  9. Configure storage as follows:

    Important

    • You must create two volumes on each enclosure: one for data and one for logs.

    • Log and data disks must be initialized as GPT, not MBR.

    • The two data volumes must be of identical size.

    • The two log volumes should be of identical size.

    • All replicated data disks must have the same sector sizes.

    • All log disks must have the same sector sizes.

    • The log volumes should use flash-based storage and high performance resiliency settings.

    • The data disks can use HDD, SSD, or a tiered combination and can use either mirrored or parity spaces or RAID 1 or 10, or RAID 5 or RAID 50.

    • The data volume should be no larger than 10TB (for a first test, we recommend no more than 1TB, in order to lower initial replication sync times).

    • The log volume must be at least 8GB and may need to be larger based on log requirements.

    • For JBOD enclosures:

      1. Ensure that each set of paired server nodes can see that site’s storage enclosures only (i.e. asymmetric storage) and that the SAS connections are correctly configured.

      2. Provision the storage using Storage Spaces by following Steps 1-3 provided in the Deploy Storage Spaces on a Stand-Alone Server using Windows PowerShell or Server Manager.

    • For iSCSI storage:

      1. Ensure that each set of paired server nodes can see that site’s storage enclosures only (i.e. asymmetric storage). You should use more than one single network adapter if using iSCSI.

      2. Provision the storage using your vendor documentation. If using Windows-based iSCSI Targeting, consult iSCSI Target Block Storage, How To.

    • For FC SAN storage:

      1. Ensure that each set of paired server nodes can see that site’s storage enclosures only (i.e. asymmetric storage) and that you have properly zoned the hosts.

      2. Provision the storage using your vendor documentation.

  10. Start Windows PowerShell and use the Test-SRTopology cmdlet to determine if you meet all the Storage Replica requirements.

    1. For example, to validate two of the proposed stretch cluster nodes that each have a D: and E: volume and run the test for 30 minutes:

      MD c:\temp
      
      Test-SRTopology -SourceComputerName SR-SRV01 -SourceVolumeNames D: -SourceLogVolumeName E: -DestinationComputerName SR-SRV03 -DestinationVolumeNames D: -DestinationLogVolumeName E: -DurationInMinutes 30 -ResultPath c:\temp
      

      Important

      When using a test server with no write IO load on the specified source volume during the evaluation period, consider adding a workload or it will not generate a useful report. You should test with production-like workloads in order to see real numbers and recommended log sizes. Alternatively, simply copy some files into the source volume during the test or download and run DISKSPD to generate write IOs. For instance, a sample with a very low write IO workload for five minutes to the D: volume:

      Diskspd.exe -c1g –d300 -W5 -C5 -b8k -t2 -o2 -r –w5 –h d:\test.dat

  11. Examine the TestSrTopologyReport.html report to ensure you meet the Storage Replica requirements.

Configure a Hyper-V Failover Cluster

You will now create a normal failover cluster. After configuration, validation, and testing, you will stretch it using Storage Replica. You can perform all of the steps below on the cluster nodes directly or from a remote management computer that contains the Windows Server 2016 Technical Preview RSAT management tools.

Graphical method

  1. Run cluadmin.msc.

  2. Validate the proposed cluster and analyze the results to ensure you can continue.

    Note

    You should expect storage errors from cluster validation, due to the use of asymmetric storage.

  3. Create the Hyper-V compute cluster. Ensure that the cluster name is 15 characters or fewer. The example used below is SR-SRVCLUS.

  4. Configure a File Share Witness or Cloud Witness to provide quorum in the event of site loss. .

    Note

    Windows Server 2016 Technical Preview now includes an option for Cloud (Azure)-based Witness. You can choose this quorum option instead of the file share witness.

    Warning

    For more information about quorum configuration, see the Configure and Manage the Quorum in a Windows Server 2012 Failover Cluster guide’s Witness Configuration. For more information on the Set-ClusterQuorum cmdlet, see Set-ClusterQuorum.

  5. Review Network Recommendations for a Hyper-V Cluster in Windows Server 2012 and ensure that you have optimally configured cluster networking.

  6. Add one disk in the Redmond site to the cluster CSV. To do so, right click a source disk in the Disks node of the Storage section, and then click Add to Cluster Shared Volumes.

  7. Using the Deploy a Hyper-V Cluster guide, follow steps 7-10 within Redmond site to create a test virtual machine only to ensure the cluster is working normally within the two nodes sharing the storage in the first test site.

  8. Once satisfied, remove the test virtual machine. Add any real test virtual machines needed for further evaluation to a proposed source node.

  9. Configure stretch cluster site awareness so that servers SR-SRV01 and SR-SRV02 are in site Redmond, SR-SRV03 and SR-SRV04 are in site Bellevue, and Redmond is preferred for node ownership of the source storage and VMs:

    (Get-ClusterNode "SR-SRV01").Site="Redmond"
    (Get-ClusterNode "SR-SRV02").Site="Redmond"
    (Get-ClusterNode "SR-SRV03").Site="Bellevue"
    (Get-ClusterNode "SR-SRV04").Site="Bellevue"
    (Get-Cluster).PreferredSite="Redmond"
    

    Note

    There is no option to configure site awareness using Failover Cluster Manager in Windows Server 2016 Technical Preview.

  10. (Optional) Configure cluster networking and Active Directory for faster DNS site failover. You can utilize Hyper-V software defined networking, stretched VLANs, network abstraction devices, lowered DNS TTL, and other common techniques.

  11. (Optional) Configure VM resiliency so that guests do not pause during node failures. Instead, they failover to the new replication source storage immediately.

    (Get-Cluster).ResiliencyDefaultPeriod=0
    

    Note

    There is no option to configure VM resiliency using Failover Cluster Manager in Windows Server 2016 Technical Preview.

Windows PowerShell method

  1. Test the proposed cluster and analyze the results to ensure you can continue:

    Test-Cluster SR-SRV01, SR-SRV02, SR-SRV03, SR-SRV04
    

    Note

    You should expect storage errors from cluster validation, due to the use of asymmetric storage.

  2. Create the Hyper-V compute cluster (you must specify your own static IP address the cluster will use). Ensure that the cluster name is 15 characters or fewer:

    New-Cluster -Name SR-SRVCLUS -Node SR-SRV01, SR-SRV02, SR-SRV03, SR-SRV04 -StaticAddress <your IP here>
    
  3. Configure a File Share Witness or Cloud (Azure) witness in the cluster that points to a share hosted on the domain controller or some other independent server. For example:

    Set-ClusterQuorum -FileShareWitness \\someserver\someshare
    

    Note

    Windows Server 2016 Technical Preview now includes an option for Cloud (Azure)-based Witness. You can choose this quorum option instead of the file share witness.

    Warning

    For more information about quorum configuration, see the Configure and Manage the Quorum in a Windows Server 2012 Failover Cluster guide’s Witness Configuration. For more information on the Set-ClusterQuorum cmdlet, see Set-ClusterQuorum.

  4. Review Network Recommendations for a Hyper-V Cluster in Windows Server 2012 and ensure that you have optimally configured cluster networking.

  5. Using the Deploy a Hyper-V Cluster guide, follow steps 7-10 within Redmond site to create a test virtual machine only to ensure the cluster is working normally within the two nodes sharing the storage in the first test site.

  6. Once satisfied, remove the test VM. Add any real test virtual machines needed for further evaluation to a proposed source node.

  7. Configure stretch cluster site awareness so that servers SR-SRV01 and SR-SRV02 are in site Redmond, SR-SRV03 and SR-SRV04 are in site Bellevue, and Redmond is preferred for node ownership of the source storage and virtual machines:

    (Get-ClusterNode "SR-SRV01").Site="Redmond"
    (Get-ClusterNode "SR-SRV02").Site="Redmond"
    (Get-ClusterNode "SR-SRV03").Site="Bellevue"
    (Get-ClusterNode "SR-SRV04").Site="Bellevue"
    (Get-Cluster).PreferredSite="Redmond"
    
  8. (Optional) Configure cluster networking and Active Directory for faster DNS site failover. You can utilize Hyper-V software defined networking, stretched VLANs, network abstraction devices, lowered DNS TTL, and other common techniques.

  9. (Optional) Configure VM resiliency so that guests do not pause during node failures and instead failover to the new replication source storage immediately.

    (Get-Cluster).ResiliencyDefaultPeriod=0
    

    Note

    There is no option to VM Resiliency using Failover Cluster Manager in Windows Server 2016 Technical Preview.

Configure a stretch cluster

Now you will configure the stretch cluster, using either Failover Cluster Manager or Windows PowerShell. You can perform all of the steps below on the cluster nodes directly or from a remote management computer that contains the Windows Server 2016 Technical Preview RSAT management tools.

Failover Cluster Manager Method

  1. On one node where you have the VMs you wish to replicate out, add the source data disk from your available disks to cluster shared volumes if not already configured. Do not add all the disks; just add the single disk. At this point, half the disks will show offline because this is asymmetric storage.

    Storage_SR_OfflineDisks

  2. Right-click the CSV disk, click Replication, and then click Enable.

  3. Select the appropriate destination data volume and click Next. The destination disks shown will have a volume the same size as the selected source disk. When moving between these wizard dialogs, the available storage will automatically move and come online in the background as needed.

    Storage_SR_SelectDestinationDataDisk

  4. Select the appropriate source log disk and click Next. The source log volume should be on a disk that uses SSD or similarly fast media, not spinning disks.

  5. Select the appropriate destination log volume and click Next. The destination log disks shown will have a volume the same size as the selected source log disk volume.

  6. Leave the Overwrite Volume value at Overwrite destination Volume if the destination volume does not contain a previous copy of the data from the source server. If the destination does contain similar data, from a recent backup or previous replication, select Seeded destination disk, and then click Next.

  7. Leave the Consistency Group value at Highest Performance if you do not plan to use write ordering later with additional disk pairs in the replication group. If you plan to add further disks to this replication group and you require guaranteed write ordering, select Enable Write Ordering, and then click Next.

  8. Click Next to configure replication and the stretch cluster formation.

    Storage_SR_ConfigureSR

  9. On the Summary screen, note the completion dialog results. You can view the report in Internet Explorer.

  10. At this point, you have configured a Storage Replica partnership between the two halves of the cluster but replication is ongoing. There are several ways to see the state of replication via a graphical tool.

    1. Use the Replication Role column and the Replication tab. When done with initial synchronization, all four disks will have a Replication Status of Replicating. Before that, they will show a different status, such as Recovering.

      Storage_SR_ReplicationDetails

    2. Start eventvwr.exe.

      1. On the source server, navigate to Applications and Services \ Microsoft \ Windows \ StorageReplica \ Admin and examine events 5015, 5002, 5004, 1237, 5001, and 2200.

      2. On the destination server, navigate to Applications and Services \ Microsoft \ Windows \ StorageReplica \ Operational and wait for event 1215. This event states the number of copied bytes and the time taken. Example:

        Log Name:      Microsoft-Windows-StorageReplica/Operational
        Source:        Microsoft-Windows-StorageReplica
        Date:          4/13/2015 6:00:13 PM
        Event ID:      1215
        Task Category: (1)
        Level:         Information
        Keywords:      (1)
        User:          SYSTEM
        Computer:      sr-srv03.corp.contoso.com
        Description:
        Bitmap recovery completed successfully for replica.
        
        ReplicationGroupName: Replication 2
        ReplicationGroupId: {9d4a9a2a-747a-487f-a68b-5be13c6d7542}
        ReplicaName: \\?\Volume{67d83739-b33e-46bd-8007-516804946d09}\
        ReplicaId: {d9f2f467-e7e5-401f-8892-6f4d04cfbdbf}
        End LSN in bitmap: 
        LogGeneration: {00000000-0000-0000-0000-000000000000}
        LogFileId: 0
        CLSFLsn: 0xFFFFFFFF
        Number of Bytes Recovered: 10701766656
        Elapsed Time (ms): 32306
        
      3. On the destination server, navigate to Applications and Services \ Microsoft \ Windows \ StorageReplica \ Admin and examine events 5009, 1237, 5001, 5015, 5005, and 2200 to understand the processing progress. There should be no warnings of errors in this sequence. There will be many 1237 events; these indicate progress.

        Warning

        In Windows Server 2016 Technical Preview, CPU and memory usage are likely to be higher than normal until initial synchronization completes.

Windows PowerShell method

  1. Add the source data storage only to the cluster as CSV. To get the size, partition, and volume layout of the available disks, use the following commands:

    Move-ClusterGroup -Name "available storage" -Node sr-srv01
    
    $DiskResources = Get-ClusterResource | Where-Object { $_.ResourceType -eq 'Physical Disk' -and $_.State -eq 'Online' }
    $DiskResources | foreach {
        $resource = $_
        $DiskGuidValue = $resource | Get-ClusterParameter DiskIdGuid
    
        Get-Disk | where { $_.Guid -eq $DiskGuidValue.Value } | Get-Partition | Get-Volume |
            Select @{N="Name"; E={$resource.Name}}, @{N="Status"; E={$resource.State}}, DriveLetter, FileSystemLabel, Size, SizeRemaining
    } | FT -AutoSize
    
    Move-ClusterGroup -Name "available storage" -Node sr-srv03
    
    $DiskResources = Get-ClusterResource | Where-Object { $_.ResourceType -eq 'Physical Disk' -and $_.State -eq 'Online' }
    $DiskResources | foreach {
        $resource = $_
        $DiskGuidValue = $resource | Get-ClusterParameter DiskIdGuid
    
        Get-Disk | where { $_.Guid -eq $DiskGuidValue.Value } | Get-Partition | Get-Volume |
            Select @{N="Name"; E={$resource.Name}}, @{N="Status"; E={$resource.State}}, DriveLetter, FileSystemLabel, Size, SizeRemaining
    } | FT -AutoSize
    
  2. Set the correct disk to CSV with:

    Add-ClusterSharedVolume -Name "Cluster Disk 4"
    Get-ClusterSharedVolume
    Move-ClusterSharedVolume -Name "Cluster Disk 4" -Node sr-srv01
    
  3. Configure the stretch cluster, specifying the following:

    • Source and destination nodes (where the source data is a CSV disk and all other disks are not).

    • Source and Destination replication group names.

    • Source and destination disks, where the partition sizes match.

    • Source and destination log volumes, where there is enough free space to contain the log size on both disks and the storage is SSD or similar fast media.

    • Source and destination log volumes, where there is enough free space to contain the log size on both disks and the storage is SSD or similar fast media.

    • Log size.

    • The source log volume should be on a disk that uses SSD or similarly fast media, not spinning disks.

    New-SRPartnership -SourceComputerName sr-srv01 -SourceRGName rg01 -SourceVolumeName "C:\ClusterStorage\Volume1" -SourceLogVolumeName e: -DestinationComputerName sr-srv03 -DestinationRGName rg02 -DestinationVolumeName d: -DestinationLogVolumeName e:
    

    Note

    You can also use New-SRGroup on one node in each site and New-SRPartnership to create replication in stages, rather than all at once.

  4. Determine the replication progress.

    1. On the source server, run the following command and examine events 5015, 5002, 5004, 1237, 5001, and 2200:

      Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica –max 20
      
    2. On the destination server, run the following command to see the SR events that show creation of the partnership. This event states the number of copied bytes and the time taken. Example:

      Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica | Where-Object {$_.ID -eq "1215"} | fl
      
      Log Name:      Microsoft-Windows-StorageReplica/Operational
      Source:        Microsoft-Windows-StorageReplica
      Date:          4/13/2015 6:00:13 PM
      Event ID:      1215
      Task Category: (1)
      Level:         Information
      Keywords:      (1)
      User:          SYSTEM
      Computer:      sr-srv03.corp.contoso.com
      Description:
      Bitmap recovery completed successfully for replica.
      
      ReplicationGroupName: Replication 2
      ReplicationGroupId: {9d4a9a2a-747a-487f-a68b-5be13c6d7542}
      ReplicaName: \\?\Volume{67d83739-b33e-46bd-8007-516804946d09}\
      ReplicaId: {d9f2f467-e7e5-401f-8892-6f4d04cfbdbf}
      End LSN in bitmap: 
      LogGeneration: {00000000-0000-0000-0000-000000000000}
      LogFileId: 0
      CLSFLsn: 0xFFFFFFFF
      
    3. On the destination server, run the following command and examine events 5009, 1237, 5001, 5015, 5005, and 2200 to understand the processing progress. There should be no warnings of errors in this sequence. There will be many 1237 events; these indicate progress.

      Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica | FL
      
    4. Alternately, the destination server group for the replica states the number of byte remaining to copy at all times, and can be queried through PowerShell. For example:

      (Get-SRGroup).Replicas | Select-Object numofbytesremaining
      

      As a progress sample (that will not terminate):

      while($true) {
      
       $v = (Get-SRGroup -Name "Replication 2").replicas | Select-Object numofbytesremaining
       [System.Console]::Write("Number of bytes remaining: {0}`r", $v.numofbytesremaining)
       Start-Sleep -s 5
      }
      
  5. To get replication source and destination state within the stretch cluster, use Get-SRGroup and Get-SRPartnership to see the configured state of replication in the stretch cluster.

    Get-SRGroup
    Get-SRPartnership
    (Get-SRGroup).replicas
    

Manage stretched cluster replication

Now you will manage and operate your stretch cluster. You can perform all of the steps below on the cluster nodes directly or from a remote management computer that contains the Windows Server 2016 Technical Preview RSAT management tools.

Graphical Tools Method

  1. Use Failover Cluster Manager to determine the current source and destination of replication and their status.

  2. To measure replication performance, run Perfmon.exe on both the source and destination nodes.

    1. On the destination node:

      1. Add the Storage Replica Statistics objects with all their performance counters for the data volume.

      2. Examine the results.

    2. On the source node:

      1. Add the Storage Replica Statistics and Storage Replica Partition I/O Statistics objects with all their performance counters for the data volume (the latter is only available with data on the current source server).

      2. Examine the results.

  3. To alter replication source and destination within the stretch cluster, use the following methods:

    1. To move the source replication between nodes in the same site: right-click the source CSV, click Move Storage, click Select Node, and then select a node in the same site.

    2. To move the source replication from one site to another: right-click the source CSV, click Move Storage, click Select Node, and then select a node in another site. If you configured a preferred site, you can use best possible node to always move the source storage to a node in the preferred site.

    3. To perform planned failover the replication direction from one site to another: shutdown both nodes in one site using ServerManager.exe or SConfig.

    4. To perform unplanned failover the replication direction from one site to another: cut power to both nodes in one site.

      Note

      In Windows Server 2016 Technical Preview, you may need to use Failover Cluster Manager or Move-ClusterGroup to move the destination disks back to the other site manually after the nodes come back online.

      Note

      Storage Replica dismounts the destination volumes and their drive letters or mount points. This is by design.

  4. To change the log size from the default 8GB in Windows Server 2016 Technical Preview, right-click both the source and destination log disks, click the Replication Log tab, then change the sizes on both the disks to match.

    Note

    The default log size is 8GB. Depending on the results of the Test-SRTopology cmdlet, you may decide to use –LogSizeInBytes with a higher or lower value.

  5. To add another pair of replicated disks to the existing replication group:

    1. Ensure that the new source disk is configured as a CSV, and right-click the existing source disk, click Replication and click Add replication partnership.

    2. Select a source disk and click Next.

      Storage_SR_SourceCSVDisk

    3. Select a destination disk and click Next.

    4. Leave the Overwrite Volume value at Overwrite destination Volume if the destination volume does not contain a previous copy of the data from the source server. If the destination does contain similar data, from a recent backup or previous replication, select Seeded destination disk, and then click Next.

    5. Leave the Consistency Group value at Highest Performance and click Next.

      Note

      This wizard page is not supposed to appear, but does due to a code defect in Windows Server 2016 Technical Preview. You must configure a consistency group on the replication group when first configured. I.e. when creating the first replication partnership, not subsequent ones.

    6. Review the confirmation page and click Next. Allow replication to configure and complete.

  6. To remove the existing replication:

    1. Start cluadmin.msc.

    2. Right-click the source CSV disk and click Replication, then click Remove. Accept the warning prompt.

    3. Optionally, remove the storage from CSV to return it to available storage for further testing.

      Note

      You may need to use DiskMgmt.msc or ServerManager.exe to add back drive letters to volumes after return to available storage.

Windows PowerShell Method

  1. Use Get-SRGroup and (Get-SRGroup).Replicas to determine the current source and destination of replication and their status.

  2. To measure replication performance, use the Get-Counter cmdlet on both the source and destination nodes. The counter names are:

    • \Storage Replica Partition I/O Statistics(*)\Number of times flush paused

    • \Storage Replica Partition I/O Statistics(*)\Number of pending flush I/O

    • \Storage Replica Partition I/O Statistics(*)\Number of requests for last log write

    • \Storage Replica Partition I/O Statistics(*)\Avg. Flush Queue Length

    • \Storage Replica Partition I/O Statistics(*)\Current Flush Queue Length

    • \Storage Replica Partition I/O Statistics(*)\Number of Application Write Requests

    • \Storage Replica Partition I/O Statistics(*)\Avg. Number of requests per log write

    • \Storage Replica Partition I/O Statistics(*)\Avg. App Write Latency

    • \Storage Replica Partition I/O Statistics(*)\Avg. App Read Latency

    • \Storage Replica Statistics(*)\Target RPO

    • \Storage Replica Statistics(*)\Current RPO

    • \Storage Replica Statistics(*)\Avg. Log Queue Length

    • \Storage Replica Statistics(*)\Current Log Queue Length

    • \Storage Replica Statistics(*)\Total Bytes Received

    • \Storage Replica Statistics(*)\Total Bytes Sent

    • \Storage Replica Statistics(*)\Avg. Network Send Latency

    • \Storage Replica Statistics(*)\Replication State

    • \Storage Replica Statistics(*)\Avg. Message Round Trip Latency

    • \Storage Replica Statistics(*)\Last Recovery Elapsed Time

    • \Storage Replica Statistics(*)\Number of Flushed Recovery Transactions

    • \Storage Replica Statistics(*)\Number of Recovery Transactions

    • \Storage Replica Statistics(*)\Number of Flushed Replication Transactions

    • \Storage Replica Statistics(*)\Number of Replication Transactions

    • \Storage Replica Statistics(*)\Max Log Sequence Number

    • \Storage Replica Statistics(*)\Number of Messages Received

    • \Storage Replica Statistics(*)\Number of Messages Sent

    For more information on performance counters in Windows PowerShell, see Get-Counter.

  3. To alter replication source and destination within the stretch cluster, use the following methods:

    1. To move the replication source from one node to another in the Redmond site, move the CSV resource using the Move-ClusterSharedVolume cmdlet.

      Get-ClusterSharedVolume | fl *
      Move-ClusterSharedVolume -Name "cluster disk 4" -Node sr-srv02
      
    2. To move the replication direction from one site to another “planned”, move the CSV resource using the Move-ClusterSharedVolume cmdlet.

      Get-ClusterSharedVolume | fl *
      Move-ClusterSharedVolume -Name "cluster disk 4" -Node sr-srv04
      

      This will also move the logs and data appropriately for the other site and nodes.

    3. To perform unplanned failover the replication direction from one site to another: cut power to both nodes in one site.

      Note

      Storage Replica dismounts the destination volumes and their drive letters or mount points. This is by design.

  4. To change the log size from the default 8GB in Windows Server 2016 Technical Preview, use Set-SRGroup on both the source and destination Storage Replica Groups. For example, to set all logs to 4GB:

    Get-SRGroup | Set-SRGroup -LogSizeInBytes 4gb
    Get-SRGroup
    
  5. To add another pair of replicated disks to the existing replication group, use the Set-SRPartnership cmdlet with the –SourceAddVolumePartnership and –DestinationAddVolumePartnership parameters.

  6. To remove replication, use Get-SRGroup, Get-SRPartnership, Remove-SRGroup, and Remove-SRPartnership on any node.

    Get-SRPartnership | Remove-SRPartnership
    Get-SRGroup | Remove-SRGroup
    

    Note

    If using a remote management computer you will need to specify the cluster name to these cmdlets and provide the two RG names

See Also