上一篇 下一篇 分享链接 返回 返回顶部

香港服务器部署 Windows Server 2019:我如何用「存储复制(Storage Replica)」把异地灾备做“硬”了

发布人:Minchunlin 发布时间:2025-08-20 10:17 阅读量:778


台风夜,香港湾仔机房里空调声像海浪一样翻卷。楼下海风正狂,值班电话却格外安静。我靠在42U机柜前的折叠凳上,盯着 Windows Admin Center 的进度条——这是我们把香港主站文件服务同步到深圳前海容灾点的最后一步。说实话,做了这么多年运维,我最怕的不是出事,而是出事时没有“第二把钥匙”。这一次,我决定把第二把钥匙交给 Windows Server 2019 的「存储复制」功能。

我们的目标与场景

目标:在香港(主站)与深圳(容灾)之间实现块级、持续复制,在近城距离内尽量做到零丢失(同步);跨城/跨国时可切换为异步以抗高延迟。存储复制是卷级复制,不是文件级,也不是应用级。它基于 SMB 3 协议,支持多通道/SMB Direct(RDMA)。

为什么选它:Windows 自带、运维面熟、和现有 AD/ACL/备份体系兼容,管理面既有 PowerShell 又有 Windows Admin Center。

重要许可提醒:Windows Server 2019 Standard 也支持存储复制,但被限制为仅 1 个复制伙伴、1 个资源组、且仅 1 个卷(最大 2TB);Datacenter 则不限卷数/容量。如果你只需保护“最关键的那块盘”,Standard 足够;否则上 Datacenter。

拓扑与硬件(实打实落地)

物理与网络拓扑

站点:香港主站(机柜 A) ←→ 深圳 DR(机柜 B)

业务:文件服务 + 部分中间件共享数据

链路:运营商专线(L2VPN),双 10GbE 复用一对独立 VLAN 承载复制流量;管理面独立 1GbE

延迟测得(业务时段):

  • HK ↔ SZ:3.8–5.6 ms(均值 4.7 ms)——可跑同步
  • 若跑到新加坡备用站,延迟 38–45 ms,只能异步

同步复制适合城域级低延迟网络,异步用在更远距离/更高延迟链路。

香港服务器与存储清单(两站对称)

角色 型号/CPU 内存 系统盘 数据盘(E:) 日志盘(F:) 网卡
SR-HK01 2× Xeon Silver 4214R 128GB 480GB SATA SSD 3.84TB NVMe(GPT、NTFS) 480GB NVMe(仅日志 2×10GbE(支持 RDMA 的更佳)
SR-SZ01 同上 同上 同上 同上 同上 同上

关键注意:

数据卷(E:)与对端数据卷必须“同尺寸”,日志卷尺寸也建议一致;两端磁盘扇区大小必须一致(512e/4Kn 不能混)。卷一律 GPT 初始化。

日志盘对性能至关重要,务必用 SSD/NVMe,且专用(不跑别的工作负载)。默认日志大小约 8GB,可根据评估调优。

上线前健康检查与容量评估

1)安装与特性启用(两端)

# 以管理员身份
Install-WindowsFeature -Name Storage-Replica,FS-FileServer -IncludeManagementTools
Restart-Computer

2)网络与防火墙

确保 SMB(TCP 445)、WinRM(5985/5986)、WMI/CIM、RPC(135)可达;复制流量走专用 VLAN。

若网卡支持 RDMA(RoCE/iWARP/IB),开启 SMB Direct 与 SMB Multichannel 可显著降 CPU、提吞吐。

3)一致性检查与基准测试

必跑:Test-SRTopology(自动帮你评估链路与日志大小建议)

# 在任意一端跑 5 分钟评估
Test-SRTopology `
 -SourceComputerName SR-HK01 -SourceVolumeName E: -SourceLogVolumeName F: `
 -DestinationComputerName SR-SZ01 -DestinationVolumeName E: -DestinationLogVolumeName F: `
 -DurationInMinutes 5 -IgnorePerfTests:$false | Tee-Object .\sr-topo-report.txt

这一步会给出推荐日志大小、同步/异步可行性与预计吞吐,作为正式上线参数的“锚”。

(可选)预热数据:如果 E: 已有大量存量文件,先用 robocopy /MIR /COPYALL /R:1 /W:1 做种子拷贝,可显著缩短初次全量同步时间。

正式部署(我惯用的两条路)

路线 A:Windows Admin Center(图形向导,简单直观)

Windows Admin Center(1910+)内置“服务器到服务器复制”向导,逐步指定两端服务器、数据卷(E:)、日志卷(F:)、复制模式(同步/异步),就能创建 Partnership 并开始初始同步;也支持一键反向。

路线 B:PowerShell(可编排、可回放)
# 1)两端创建复制组(也可由 New-SRPartnership 隐式创建)
New-SRPartnership `
 -SourceComputerName SR-HK01 -SourceRGName rg-hk -SourceVolumeName E: -SourceLogVolumeName F: `
 -DestinationComputerName SR-SZ01 -DestinationRGName rg-sz -DestinationVolumeName E: -DestinationLogVolumeName F: `
 -ReplicationMode Synchronous `
 -LogSizeInBytes 17179869184   # 16GB,来自 Test-SRTopology 的建议

# 查看状态
Get-SRGroup
Get-SRPartnership
Get-SRStatistics -Verbose

New-SRPartnership 支持指定 -ReplicationMode(同步/异步),也支持异步场景的 -AsyncRPO 目标。

运行与演练:我在线上的“操作手感”

观察初始同步

初始同步阶段,Get-SRStatistics 的 Remaining Bytes 会较大;完成后进入 Continuously Replicating。

我通常在交换机上对复制 VLAN 做限速(或用 SMB 带宽限制),避免把备份/夜窗以外时段的业务挤爆:

# 例如把“Storage”分类限到 7Gbps,给业务留出余量
New-SmbBandwidthLimit -Category Storage -BytesPerSecond (7GB)

计划内“演练式”故障切换(不破坏线上)

2019 起可以测试性挂载目标端的“快照副本”,做只读/验证/备份,不影响正在进行的复制:

# 在深圳端,把复制组 rg-sz 暂时挂到一个未参与复制的临时盘符 T:
Mount-SRDestination -ComputerName SR-SZ01 -Name rg-sz -TemporaryPath T: 
# 验证完毕后卸载
Dismount-SRDestination -ComputerName SR-SZ01 -Name rg-sz

这招我每季度跑一次,校验 ACL、业务读取与备份链路是否健康。

真正的切换/回切(有计划/应急)

计划切换(两端在线、零丢失)——反转复制方向即可:

# 把深圳升为新源(主),香港转为目标(从)
Set-SRPartnership -NewSourceComputerName SR-SZ01 `
 -SourceRGName rg-sz -DestinationComputerName SR-HK01 -DestinationRGName rg-hk

应急切换(主站故障离线)——在存活端执行,必要时加 -Force。切换后业务改指向新主;待原主修复完成,再同法回切。

我踩过的坑 & 现场解法

卷大小/扇区大小不一致

现象:New-SRPartnership/Test-SRTopology 报卷尺寸或扇区大小不匹配。

排查:Get-PhysicalDisk / fsutil fsinfo ntfsinfo E:;核对 512e vs 4Kn。

处理:确保数据卷两端尺寸完全一致、扇区大小一致,日志卷也保持一致。必须 GPT 初始化。

远程跑 Test-SRTopology 报权限/连接错误

现象:从管理机远程校验常见报错(找不到卷/无法连接)。

处理:短时开启 CredSSP 委派进行测试,测完关闭;并检查目标端的 WMI/WinRM/防火墙策略。

移除复制后磁盘离线/残留元数据

现象:拆复制或重装系统后,磁盘离线、无法重新配置复制。

处理:在相关节点执行 清理 SR 元数据,然后重启:

Clear-SRMetadata -AllPartitions
Clear-SRMetadata -AllLogs

日志盘“挤爆”导致写延迟

现象:业务写入抖动、复制落后(异步)。

处理:把日志盘换 NVMe、增大日志大小(依据 Test-SRTopology 建议或用 Set-SRGroup 调整),并识别突发写入窗口做业务限速。

对外暴露读写访问的误解

事实:复制进行时,目标卷不提供常态读写访问(2019 可用“测试挂载”做临时验证/只读窗口)。

性能调优清单(我在线上真的用)

日志盘:优先 NVMe,只做日志,不混合其他 I/O;根据评估把默认 8GB 调到 16–32GB。

网络:启用 SMB 多通道/SMB Direct(RDMA),复用多条 10GbE 链路提升吞吐与韧性。

带宽治理:用 New-SmbBandwidthLimit 或交换机 QoS 避免复制在白天“顶满”专线。

监控:

# 复制统计、延迟与积压
Get-SRStatistics -Verbose
Get-WinEvent -ProviderName "Microsoft-Windows-StorageReplica" -MaxEvents 50

模式选择:HK↔SZ 低延迟用同步,跨区/跨国必须异步。

可复用的“最小上线步骤”(从零到有)

两端安装功能与重启:

Install-WindowsFeature Storage-Replica -IncludeManagementTools

准备 E:(数据卷,大小 X TB)与 F:(日志卷,NVMe,至少 8GB,建议 16GB+),GPT,NTFS/ ReFS 皆可。

跑 Test-SRTopology 获取日志大小与模式建议。

创建 Partnership(示例:同步,16GB 日志):

New-SRPartnership -SourceComputerName SR-HK01 -SourceRGName rg-hk `
  -SourceVolumeName E: -SourceLogVolumeName F: `
  -DestinationComputerName SR-SZ01 -DestinationRGName rg-sz `
  -DestinationVolumeName E: -DestinationLogVolumeName F: `
  -ReplicationMode Synchronous -LogSizeInBytes 17179869184

观察 Get-SRStatistics,待 Continuously Replicating。

做一次 Mount-SRDestination 的测试性挂载核验数据/备份链路(卸载恢复复制)。

编写计划切换与回切脚本,用 Set-SRPartnership -NewSourceComputerName。

数据与结果:我落地后的关键数字(节选)

指标 上线前评估 首周运行 优化后(RDMA + 带宽限速)
HK↔SZ RTT(ms) 4.7(均值) 4.9 4.9
初始同步速率(MB/s) 320–380 360 920(夜窗,双 10G)
业务时段复制占用 —— 峰值 9 Gbps(曾挤占备份) 限速 7 Gbps(业务稳定)
Test-SRTopology 建议日志 8–16 GB —— 16 GB(最终采用)
演练切换时长 —— 3–5 分钟(含业务切换) 约 2 分钟

注:RDMA 取决于网卡/交换机支持与正确配置;没有 RDMA 也能跑,但 CPU 占用会更高(SMB 多通道仍有帮助)。

FAQ:一些常见“灵魂拷问”

能不能一对多? 不能,一对一。

能不能复制系统盘? 不建议,选专用数据卷;灾备系统层面应走镜像/备份。

卷能扩吗? 能扩不能缩;扩容前对源组 Set-SRGroup -AllowVolumeResize $True,完成后再关闭。

Standard 怎么破 2TB? 这是产品限制,要么上 Datacenter,要么只挑最关键的数据卷复制。

收尾:再次台风将临

又一个台风预警挂起。我在 WAC 里点开“更改方向”,看见复制方向从香港指向深圳的箭头轻轻转了身。演练完成,告警面板一片绿。我把凳子收回机柜边,顺手合上外套拉链——
容灾这件事,最难的不是技术,而是“当它被需要时,你已经准备好”。

现在,我有把握让任何一个站点在出事时,三步回魂:一键反向、切换业务、回切复原。

风还在吹,但心里已经不慌了。

参考与延伸阅读(核心要点出处)

  • 总览/特性与模式:Storage Replica 概览(SMB3/多通道/RDMA、同步/异步、三种形态)与 Standard 版限制。
  • 服务器到服务器部署:官方 Server-to-Server 指南(WAC 与 PowerShell 双路径)。
  • 评估工具:Test-SRTopology 用法与报告。
  • 创建/反向复制:New-SRPartnership、Set-SRPartnership。
  • 测试性挂载(演练):2019 起支持 Mount-SRDestination/Dismount-SRDestination。
  • 日志盘与默认 8GB:日志盘必须 SSD/独占,默认 8GB,按评估调整。
  • 常见坑:CredSSP 远程评估、清理 SR 残留元数据的 Clear-SRMetadata。

如果你也在香港或周边机房做 DR,照着这份清单和脚本走一遍,从零到上线是完全可复刻的。剩下的,就是坚持做演练,别把“容灾”仅仅停在 PPT。

目录结构
全文