How to Set Up Windows Server 2016 Storage Replica

Storage Replica is a feature introduced in Windows Server 2016 that enables synchronous and asynchronous block-level replication of volumes between servers or clusters. It provides storage-agnostic, hardware-independent replication for disaster recovery, migration, and stretch cluster scenarios. Unlike previous replication technologies, Storage Replica operates at the block level, making it applicable to any file system and workload. This tutorial guides you through setting up Storage Replica on Windows Server 2016.

Storage Replica Editions and Requirements

Storage Replica is available only in Windows Server 2016 Datacenter edition for server-to-server and stretch cluster replication. Windows Server 2016 Standard edition supports a limited evaluation of Storage Replica. Ensure both source and destination servers run Windows Server 2016 Datacenter. Both servers require at least one dedicated log volume (recommended minimum 8 GB) separate from the data volume. Sufficient network bandwidth is required, ideally a dedicated low-latency network for synchronous replication. Both servers must be members of the same Active Directory domain or have mutual trust established.

Installing the Storage Replica Feature

Install the Storage Replica feature on both the source and destination servers. Open PowerShell with administrative privileges and run the following command on each server:

Install-WindowsFeature -Name Storage-Replica -IncludeManagementTools -Restart

After the server restarts, verify the feature is installed:

Get-WindowsFeature -Name Storage-Replica

Preparing the Disks

Storage Replica requires at least two volumes on each server: one for data and one for the replication log. The log volume should be on a fast SSD disk to minimize replication latency. On both the source and destination servers, initialize and prepare the volumes. Identify available disks:

Get-Disk

Initialize and format the data volume on the source server (replace disk numbers and drive letters as appropriate):

Initialize-Disk -Number 1 -PartitionStyle GPT
New-Partition -DiskNumber 1 -UseMaximumSize -AssignDriveLetter
Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "SR_Data" -Confirm:$false

Initialize and format the log volume on the source server:

Initialize-Disk -Number 2 -PartitionStyle GPT
New-Partition -DiskNumber 2 -UseMaximumSize -AssignDriveLetter
Format-Volume -DriveLetter E -FileSystem NTFS -NewFileSystemLabel "SR_Log" -Confirm:$false

Repeat these steps on the destination server using appropriately sized volumes.

Testing Replication Prerequisites

Before configuring replication, use the built-in Test-SRTopology cmdlet to validate that the environment meets requirements. This tool checks network connectivity, disk layout, and replication readiness. Run the following command on the source server (replace server names, volume paths, and log paths accordingly):

Test-SRTopology -SourceComputerName Server01 -SourceVolumeName D: -SourceLogVolumeName E: -DestinationComputerName Server02 -DestinationVolumeName D: -DestinationLogVolumeName E: -DurationInMinutes 5 -ResultPath C:SR_Test_Results

Review the generated HTML report in the result path for any warnings or failures before proceeding.

Configuring Server-to-Server Storage Replica

Once the prerequisites are validated, create the replication partnership between the two servers. Run the following command on the source server to configure synchronous replication:

New-SRPartnership -SourceComputerName Server01 -SourceRGName RG01 -SourceVolumeName D: -SourceLogVolumeName E: -DestinationComputerName Server02 -DestinationRGName RG02 -DestinationVolumeName D: -DestinationLogVolumeName E:

This creates two replication groups (RG01 on the source, RG02 on the destination) and begins initial synchronization. The destination volume will be placed in a locked state during replication and cannot be accessed directly.

Monitoring Replication Status

Monitor the replication status using PowerShell. To check the current replication state on the source server:

Get-SRGroup

For detailed replication statistics including bytes remaining and replication mode:

Get-SRPartnership | Get-SRGroup | Select-Object Name, IsMounted, *Replication*

To view replication events in the event log:

Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica | Select-Object -First 20 | Format-List

Configuring Asynchronous Replication

For WAN replication or scenarios where some data loss is acceptable in exchange for lower network bandwidth requirements, configure asynchronous replication by adding the LogType parameter:

New-SRPartnership -SourceComputerName Server01 -SourceRGName RG01 -SourceVolumeName D: -SourceLogVolumeName E: -DestinationComputerName Server02 -DestinationRGName RG02 -DestinationVolumeName D: -DestinationLogVolumeName E: -ReplicationMode Asynchronous

Performing a Failover

In a disaster recovery scenario, you can reverse replication direction to make the destination server the new source. First, remove the existing partnership:

Remove-SRPartnership -SourceComputerName Server01 -SourceRGName RG01 -DestinationComputerName Server02 -DestinationRGName RG02 -Confirm:$false

Then mount the destination volume on Server02 and establish a new partnership in the reverse direction:

New-SRPartnership -SourceComputerName Server02 -SourceRGName RG02 -SourceVolumeName D: -SourceLogVolumeName E: -DestinationComputerName Server01 -DestinationRGName RG01 -DestinationVolumeName D: -DestinationLogVolumeName E:

Removing a Storage Replica Partnership

When replication is no longer needed, remove the partnership and replication groups:

Remove-SRPartnership -SourceComputerName Server01 -SourceRGName RG01 -DestinationComputerName Server02 -DestinationRGName RG02 -Confirm:$false
Remove-SRGroup -ComputerName Server01 -Name RG01 -Confirm:$false
Remove-SRGroup -ComputerName Server02 -Name RG02 -Confirm:$false

Best Practices for Storage Replica

Use a dedicated, low-latency network for replication traffic, separate from management and production traffic. Place replication logs on fast SSD or NVMe drives to minimize I/O overhead. Use synchronous replication only when network latency between servers is 5 milliseconds or less round-trip. For longer distances, use asynchronous replication to avoid performance degradation. Regularly review replication event logs and monitor replication lag using Get-SRGroup. Test failover procedures periodically to validate your disaster recovery plan. Keep both servers at the same Windows Server 2016 patch level to avoid compatibility issues.

Storage Replica on Windows Server 2016 provides a robust, storage-agnostic replication solution that eliminates the need for expensive third-party replication software and ensures business continuity in the event of hardware or site failures.