我理解关于更大的驱动器在重建期间遇到 URE 的可能性增加的论点,但是我不确定这的实际影响是什么。这个答案说整个重建失败,但这是否意味着所有数据都无法访问?为什么会这样?当然,来自驱动器上单个扇区的单个 URE 最多只会影响与几个文件相关的数据。阵列不会仍然被重建,只是对一些文件有一些轻微的损坏吗?
(我在这里对 ZFS 的 RAID5 实现特别感兴趣,但对于任何 RAID5 实现,逻辑似乎都相同。)
在 Synology Disk Station 上规划我的 RAID 设置期间,我阅读了大量有关各种 RAID 类型的文章,这是一本很棒的读物:RAID 级别和URE(不可恢复的读取错误)的重要性。
但是,我还不清楚一件事:
让我们有两个场景:
两种情况的相同假设:
发生什么了?使用 99.999 个文件重建 RAID 是否正常而 1 个文件丢失?还是我会丢失所有 100.000 个文件?
如果答案需要文件系统类型的知识,假设它是 BTRFS 或 ZFS 作为文件系统。
大多数便宜的 SATA 磁盘驱动器的额定值为“每 10^14 位读取 1 个不可恢复的读取错误”。
这是什么意思?
10^14 位只是 12.5 TByte。如果我有一个完整的 2 TByte 磁盘并将其复制到第二个磁盘,实际上是否有大约 1/6 的可能性是其中一个文件已损坏?
如果发生这种情况,受影响的块是否会被标记并重新分配?我认为是因为如果读取在重试时成功,则它不是不可恢复的读取错误。
然而,我已经使用了很多这些磁盘驱动器几年了,我没有注意到坏块数有任何增加,而且 RAID 控制器日志也没有显示任何读取问题。
编辑:RAID 控制器每周对每个磁盘执行一次巡检读取,因此每年大约为 100 TByte。这仍然少于 10^15 位。
另一方面,2 年内 50 个磁盘中有 4 个磁盘故障,这增加了错误率。
我没有足够的统计数据来做出声明,但在我的情况下,实际错误率似乎在 10^14 和 10^15 之间,这与规范一致。