概要
存储副本(SR)是 Windows Server(数据中心和标准版)中的一项可靠功能,旨在提供块级、同步和异步复制,以实现灾难恢复和高可用性方案。 SR 支持包括单站点和多站点群集以及服务器到服务器复制。 由于与存储、网络、群集和身份验证基础结构的低级别集成,SR 对跨一系列层的错误配置或环境问题敏感。 本文提供了一个故障排除过程,它涵盖了最常见的故障方案的症状、原因和解决方案,以帮助管理员快速诊断和解决问题。
故障排除清单
使用此清单进行系统故障排除:
- 验证角色和版本
- 验证所有节点上的 Windows Server 版本和 SR 功能安装(Get-WindowsFeature -Name Storage-Replica)。
- 验证许可(标准与数据中心)和功能兼容性。
- 验证存储配置
- 请确保所有预期磁盘(日志和数据)对所有相关节点可见,并且不会由其他服务使用。
- 对于群集,请验证磁盘是否显示为共享存储(而不是仅限本地)。
- 检查网络
- 打开所需的端口:TCP 445(SMB)、5445(SR)、135(RPC)和 5985(WinRM)。
- 使用 Test-NetConnection 验证节点到节点和节点到群集通信。
- 查看域/权限要求
- 所有群集节点/服务器都必须位于同一域或受信任的域中。
- 验证 SR 组帐户是否具有适当的权限。
- Update
- 为硬件和 HBA 应用所有关键和建议的 Windows 更新和固件和驱动程序更新。
- 群集和磁盘先决条件
- 需要 SCSI-3 持久预留支持。 通过故障转移群集验证报告进行验证。
- 磁盘必须进行初始化和格式化(适当使用ReFS/NTFS)。 磁盘不得使用已弃用的功能(例如动态磁盘)。
- 验证存储副本拓扑
- 仅支持一对一复制。 避免一对多或可传递配置。
- 收集和查看日志
- 收集事件日志、群集日志和 SR 日志。
- 运行 Get-SRGroup、Get-SRPartnership 和 Test-SRTopology。
常见问题和解决方案
以下部分详细介绍了最常见的故障模式,并提供分步解决方案。
存储副本伙伴关系未创建,显示“找不到对象”
症状
-
伙伴关系创建失败,并返回以下错误消息:
“无法创建复制组...找不到请求的对象。
-
创建后无法看到复制组。
原因
- 所有节点上缺少注册表子项:HKLM\Cluster\WVR\ConfigStore
- 在不同林和域中的群集和服务器之间尝试建立伙伴关系。
- 活动节点不可见或拥有的日志和数据磁盘。
决议
-
在所有节点上,请确保注册表项存在。 如果没有,请创建它:
HKEY_LOCAL_MACHINE\Cluster\WVR\ConfigStore -
清除旧 SR 元数据(如果从以前的尝试中留下):
Clear-SRMetadata -AllPartitions -Verify:$false Clear-SRMetadata -AllLogs -Verify:$false Clear-SRMetadata -AllConfiguration -Verify:$false -
验证这两个节点是否位于同一个域或受信任的域中。
-
将所有涉及的群集磁盘移到运行命令的节点:
Move-ClusterGroup -Name "Available Storage" -Node \<NodeName> -
重试创建合作关系。
磁盘不符合条件或“找不到适合群集磁盘的磁盘”
症状
- 群集验证报告有关永久性预留的错误。
- 无法将磁盘添加到群集。
- 群集日志或磁盘向导中的“找不到元素”。
原因
- 存储不支持 SCSI-3 永久性预留。
- 仅提供给一个节点的磁盘(而非共享存储)。
- 源和目标之间的物理和逻辑扇区大小不匹配。
决议
-
运行故障转移群集验证:
Test-Cluster -Include "Storage Spaces", "Inventory", "Network", "System Configuration" -
如果在永久性保留上报告了错误,请确保固件支持 SCSI-3,并且主机总线适配器(HBA)已更新。 如有必要,请与硬件供应商联系。
-
向所有需要访问权限的节点提供磁盘。
-
通过使用 VHDX 创建参数或在不兼容的主机上重新预配磁盘来匹配物理扇区大小和逻辑扇区大小。
孤立、挂起或无法访问的存储副本资源
症状
- SR 资源的“ReplicationSuspended”、“孤立”或“等待目的地”。
- 卷处于原始状态或不可访问状态。
- 节点故障后,故障转移或灾难恢复(DR)组不会邻机。
原因
- 意外的群集节点故障或硬关闭。
- 日志和数据卷损坏,或故障转移过渡不完整。
- 从不完整的伙伴关系解除中孤立依赖项。
决议
-
尝试使用故障转移群集管理器或 PowerShell 恢复或强制移动资源:
Sync-SRGroup -Name \<GroupName> Move-ClusterGroup -Name \<GroupName> -Node \<AlternateNode> -
如果未还原状态,请在受影响的节点上重启群集服务:
Restart-Service clussvc -
如果卷未格式化或已损坏,请运行文件系统修复:
chkdsk /f \<DriveLetter> -
对于停滞的资源,请清除依赖项和元数据:
Clear-SRMetadata -AllPartitions -AllLogs -AllConfiguration -
如果 DR 和主要合作关系所有权不清楚或锁定,请在重新创建之前完全从源中打破合作关系,并清除所有元数据。
阻止复制的网络或权限问题
症状
- 错误,例如:“grant-sraccess:参数不正确”和“组件服务器不可用”。
- 节点到节点连接有效,但节点到群集连接失败。
原因
- 防火墙或网络 ACL 中关闭的必需端口。
- 缺少或配置错误的 Kerberos 信任和域成员身份。
- SR 所需的 Windows 服务不会运行。
决议
- 打开并验证所有节点之间的所需端口:
- TCP 135、445、5445、5985
- 使用 Test-NetConnection <RemoteClusterName> -Port 445
- 确保所有节点和服务器都位于同一个或受信任的域中。
- 验证并启动所有必需的服务:RPC、远程注册表、NetBIOS 帮助程序、WMI。
- 同步时区和时钟。
存储卷和日志的损坏或元数据问题
症状
- “无法初始化复制日志路径,”磁盘报告为损坏且不可用。
- 事件 ID 3012、永久性原始卷或无法联机。
原因
- 硬件故障或突然关闭会导致日志和数据损坏。
- 不完整的 chkdsk 过程和受影响卷的修复。
决议
- 运行 chkdsk /f 并修复卷。
- 如果问题仍然存在,请卸载并装载到另一个节点上进行备份和重新创建。
- 重新创建日志和数据分区,并重新建立 SR 合作关系。
不支持或配置不当的方案
症状
- 一对多、跨域或跨林的复制尝试失败。
- 从群集转换为独立系统,或使用本地磁盘的延伸群集。
原因
- 仅支持一对一复制。
- 扩展群集需要共享磁盘架构。
决议
- 重新设计复制拓扑,以符合文档要求的一对一拓扑结构,以及在单个或受信任域中的群集方案中使用共享磁盘。
已知软件缺陷和升级后出现的问题
症状
- 升级后无法附加的 S2D 磁盘。
- “复制组不匹配”错误。
- 滚动操作系统升级后处于分离状态的磁盘。
原因
- 存储副本或 S2D 代码中的已知错误。
- 功能安装缺失或升级后出现的不一致。
决议
- 更新到最新的累积更新和带外更新。
- 应用可用的已知问题回滚功能(KIR)包。
- 如果无法恢复,请根据Microsoft升级指南重新生成受影响的群集或存储池。
被观察到的 Bug 和 ICM
- 2025年5月关于存储复制组创建失败的累积更新。
- 在超过七个节点的群集中增加磁盘时出现“SPACES 32 BUG”(Azure Stack HCI)。
常见问题快速参考表
| 症状 | 根源 | 决议 |
|---|---|---|
| “无法创建复制组...找不到对象” | 缺少注册表项或配置 | 创建 HKLM\Cluster\WVR\ConfigStore,清除元数据,重新尝试 |
| 没有适合群集的磁盘/群集验证失败 | SCSI 资源预留,共享 | 更新固件,确认共享,分配为共享,检查分区 |
| 卷卡在“未格式化”或“孤立状态”中,事件 3012 | 元数据或 FS 损坏 | 运行 chkdsk,清除 SR 元数据,重新创建分区,重置合作关系 |
| 磁盘不符合条件 - 扇区大小不匹配 | 512/4K 扇区大小不匹配 | 使用相匹配扇区大小重新配置磁盘或虚拟硬盘 |
| 复制副本停滞在暂停/孤立状态 | 故障转移/崩溃未完成 | 重启群集服务, 清除依赖项, 移动组, 修复磁盘 |
| grant-sraccess “参数不正确”/网络错误 | 网络/ACL 或权限 | 打开所需的端口,检查服务,确认域/信任设置 |
| 故障转移速度太慢/超时、精简预配的磁盘 | 精简预配、大型 VHD | 增加死锁超时时间,尽可能使用厚配置 |
| 不支持的方案错误/NAS | 拓扑或域冲突 | 重构以适应受信任域中的一对一共享磁盘 |
| 伙伴关系的解除导致资源孤立 | 依赖项/元数据残留 | 运行 Clear-SRMetadata,手动删除资源/依赖项 |
| 升级后“复制组不匹配” | 磁盘/日志大小或布局不匹配,故障 | 更新群集、均衡布局、应用修补程序、根据需要重新生成 |
数据收集
在联系Microsoft支持人员之前,可以收集有关你的问题的以下信息。
通用 cmdlet
- Get-SRGroup、Get-SRPartnership、Get-SRReplicationStatus
- <Get-ClusterLog -Destination 路径> -TimeSpan 20
- Get-Events,Get-WinEvent -LogName Microsoft-Windows-StorageReplica/Admin
- Test-SRTopology -SourceComputerName < -SourceVolume >vol -DestinationComputerName <dest> -DestinationVolume <vol>
- Clear-SRMetadata
- fsutil fsinfo
- 对于系统/硬件:Get-Disk、Get-Volume、Get-PhysicalDisk
- 对于网络:Test-NetConnection <dest> -Port 445
其他
- 应用程序和系统事件日志 (c:\windows\system32\winevt\logs)
- 按照指示,诊断工具的输出和处理监控跟踪
- 群集验证和预复制报告