Q: How do I use the new Storage Replica feature in Windows Server 10?
A: Storage Replica provides block-level replication between either standalone or clustered servers, which can be synchronous (preferred) or asynchronous, and is completely agnostic of the underlying storage. Because the replication is at the block level, it doesn't care about the file system or if files are locked; the blocks will still replicate. Therefore, workloads such as Hyper-V or SQL could run on top of Storage Replica. In addition, because the replication is at a block level, other capabilities such as BitLocker and deduplication continue to work and the replication is transparent to them. When using the synchronous mode, you can ensure no data loss in the event of a disaster. Synchronous mode should always be used when possible; asynchronous mode can be used in the case of a poor-quality connection between servers.
The actual replication of data is transmitted using SMB 3.0, which means the only firewall exception required is for file sharing (port 445 and 5445 for SMB Direct) and can operate over TCP/IP or RDMA networks (because SMB 3.0 supports them). In addition, because SMB 3.0 is used, the data is encrypted during transmission.
Storage Replica can be used in several key scenarios in Windows 10 Technical Preview:
- Standalone server to standalone server, where the replica isn't accessible until a failover is performed
- Replicating a volume that's part of a cluster, which creates a stretched cluster that could be combined with features such as Cluster Shared Volumes
To use Storage Replica, you need to enable the Windows Volume Replication feature, which is possible through Server Manager or PowerShell. A reboot is required; in addition, you need to make sure the File and Printer Sharing (SMB-In) firewall exception is enabled.
In PowerShell, enter the following command:
Install-WindowsFeature -Name WVR -Restart
Make sure disks are initialized as GPT. In addition, the source/target disks must be the same size, and ideally the log disks should also be the same size. For each replicated disk, there must be a separate log disk dedicated for use by Storage Replica; for performance reasons, it should be an SSD.
Once installation is complete, for a cluster scenario replication can be enabled through the Failover Cluster Manager interface by selecting a disk and selecting the Replication, Enable option, then following the wizard. Failover is also managed through cluster manager by moving the disk.
In a standalone server environment, you can use PowerShell to create a new replica:
New-SRPartnership -SourceComputerName savtsts1001 -SourceRGName rg01 -SourceVolumeName e: -SourceLogVolumeName f: -DestinationComputerName savtsts1002 -DestinationRGName rg02 -DestinationVolumeName e: -DestinationLogVolumeName f: -LogSizeInBytes 2gb
Note that once replication is enabled, the data disk on the target server won't be available and will be seen as a RAW disk in Disk Manager. To check the status of the replica groups and the partnerships, enter
You can also check the Events; for example:
Get-WinEvent -LogName *WVR/admin -max 20 | fl
To reverse the replication and make the other side of the replication active, run the following code (which must be run on the target server—i.e., the one that's currently the replica):
Set-SRPartnership -NewSourceComputerName savtsts1002 -SourceRGName rg02 -DestinationComputerName savtsts1001 -DestinationRGName rg01
For more information, see the Storage Team Blog post "Storage Replica Guide Released for Windows Server Technical Preview."