驱动器出现故障时 Windows 存储空间双向镜像的行为

驱动器出现故障时 Windows 存储空间双向镜像的行为

假设在 Windows 10/11 上设置了一个简单的、完全配置的双向镜像存储空间,当其中一个驱动器出现故障时它会如何表现:

  • 其中一个驱动器无法读取某些扇区,SMART 的不可纠正错误数增加。SS 如何知道它应该从另一个驱动器上的另一个副本返回数据?
  • SMART 状态保持正常但它返回错误值(例如由于位腐烂)?

一般来说,镜像 SS 如何知道“信任”哪个驱动器(副本)?

尤其是考虑到它可能在并行读取两个驱动器时进行性能优化(尽管数据块不同)?

在 3+ 路镜像中,情况会更加有趣,因为在这种情况下可能会使用某种共识算法(即多数规则,因此它将使用具有最多匹配的数据版本)。然而,这与读取时的性能概念是针锋相对的。如果它进行这样的共识验证,那么读取速度将与没有任何冗余时相同(如果不是更慢的话)。

答案1

我不会假装自己是这方面的专家,但我对这个话题很感兴趣,并且做了一些研究。我会在这里分享一些链接。

根据ReFS文件系统的文档:https://learn.microsoft.com/en-us/windows-server/storage/refs/refs-overview

弹性功能与文件系统本身有关。我的理解是,如果您在存储空间上使用 NTFS,则不会获得这种支持。

ReFS 完整性流尤其有趣。ReFS 使用元数据(包括校验和)来验证数据是否损坏。当检测到损坏时,它将尝试从第二个副本中恢复数据。据我所知,默认情况下不启用完整性流,但链接的文档显示了如何启用它。

ReFS 看起来相当不错,不幸的是,一段时间以来,它仅适用于工作站的 Win11 Pro: https://www.microsoft.com/en-us/windows/business/compare-windows-11

另一方面,存储空间本身提供了一个 Repair-Volume 命令: https://learn.microsoft.com/en-us/powershell/module/storage/repair-volume?view=windowsserver2019-ps

但是,如果你看一下文档,就会发现它的作用并不是很详尽。

相关内容