Storage Replication是Windows Server 2016中新增的一项功能,它是利用windows server自带的块存储复制技术
首先,我们简答粗暴的交代一下部署需求:
1、该功能目前只存在Windows Server 2016 Datacenter版本
2、需要安装Storage-Replica,FS-FileServer两项功能
3、复制过程中使用Kerberos进行验证,所以需要入域
4、复制节点至少需要两块磁盘,一块数据盘,一块日志盘,且必须为GPT格式
5、数据盘上限10TB,日志盘下限8GB
6、复制过程中用到的端口:445、5445、5895
7、网络要求:尽量高于1Gbps,最好10Gbps(同步复制)
下面我们说一下该技术的特点:
1、使用SMB3.1.1技术
2、支持同步复制与异步复制(默认)
3、复制时会需要日志磁盘与数据磁盘,数据先写入日志磁盘,再Commit数据磁盘
4、对存储底层无任何要求,可以是任意技术
5、复制过程中存在主备关系,主可读可写,备默认不可读写
针对上面提到的同步复制与异步复制,我们做一个简单的介绍
同步复制
异步复制
最后,开始我们的功能测试吧
服务器信息
server01
server02
启用复制
任意一台机器,执行以下命令
Invoke-Command -Computername SRV01,SRV02 -ScriptBlock{Install-WindowsFeature -Name Storage-Replica,FS-FileServer -IncludeManagementTools -restart}
New-SRPartnership -SourceComputerName SRV01 -SourceRGName RG01 -SourceVolumeName D: -SourceLogVolumeName E: -DestinationComputerName SRV02 -DestinationRGName RG02 -DestinationVolumeName D: -DestinationLogVolumeName E: -LogSizeInBytes 12GB -Verbose
通过powershell查看复制状态
Get-SRPartnership
Get-SRgroup
其中,我们要注意ReplicationStatus这个值,属性为Relicating说明正在复制,InitialBlockCopy说明还在初始复制,如果出现error字样说明当前出现无法执行复制
我们可以通过Windows性能计数器来查看存储复制(块复制,与磁盘空间有关,状态从InitialBlockCopy变成ContinuouslyReplicating)
我们也可以通过windows日志来分析存储复制的状态
注意:日志中出现1241的警告提醒是可以忽略的,在建立复制组关系前,要完成一次块复制,完成后RPO会变为可用状态
有一点需要注意,创建复制关系后,数据盘遵循该技术主节点可读写,辅节点不可读写的特性
我们需要执行:
通过切换切换复制方向,可以查看到,文件已正常被复制
如果,生产中,原主节点SRV01突然宕机,该命令会失效,一般做法是解除复制组关系:
Get-SRPartnership | Remove-SRPartnership -Force(可以在任意节点执行该命令)
有兴趣的同学可以实验起来了