Today I played with Windows Server 2016 and its new feature called “Server to Server Storage Replication”. First of all I had to create two virtual server with Windows Server 2016 installed. I also created new domain. After all was done I installed two features on both servers using powershell:
Install-WindowsFeature -Name Storage-Replica -IncludeAllSubFeature -IncludeManagementTools -Restart
There is couple conditions that have to be met before you can use Server Storage Replication:
- 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, such as SSD.
- 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.
So I have created two new disks on both VMs. One was E: (DATA) 15 GB and other F: (LOGS) 10 GB.
Here is a list of all cmdlets which came with Storate Replication:
Let’s use Test-SRTopology to test if our VMs are ready for Storage Replication:
Test-SRTopology -SourceComputerName W2016-01 -SourceVolumeNames E: -SourceLogVolumeName F: -DestinationComputerName W2016-02 -DestinationVolumeNames E: -DestinationLogVolumeName F: -DurationInMinutes 10 -IntervalInSeconds 1 -ResultPath C:\tmp\
This cmdlet checks all the prerequirements and also test performance between servers:
When everything is alright and working you get nice report. Now you are ready to create new Storate Replication Partnership and Group.
Let’s create SR partnership:
New-SRPartnership -SourceComputerName W2016-01 -SourceRGName RG01 -SourceVolumeName E: -SourceLogVolumeName F: -DestinationComputerName W2016-02 -DestinationRGName RG02 -DestinationVolumeName E: -DestinationLogVolumeName F:
When new partnership is created you can see the result in powershell:
and it also created logfiles on log volume. Default size is 8GB. You can change it if you want based on report after Test-SRTopology:
Other interesting thing is that data volume on destination server is disconnected/dismounted. So replicated data are not accessible. So let copy some files on Source volume. When I copied something on source data volume I noticed activity on network between nodes:
We can also see some events saying about replication between nodes:
When we want to check if anything was copied on other side we need to switch replication other way around. It’s because replicated data disk is not accessible on destination server. This can look very odd, but replication is only one-way. If we want to switch replication direction we do this using powershell:
Set-SRPartnership -NewSourceComputerName W2016-02 -SourceRGName RG02 -DestinationComputerName W2016-01 -DestinationRGName RG01
There is also problem with low memory servers (2GB and less). They stop replicate because of low memory problem. I would expect some GUI console to this feature even Powershell is fine 🙂
If you want to see events from Storate Replication provider you can use following cmdlet:
Get-WinEvent -ProviderName Microsoft-Windows-StorageReplica | select timecre*,id,messa*
So let’s wait what will be in the final version of Windows Server 2016.
That’s all folks.