RAID重建过程中不可恢复读错误概率计算公式

Far*_*arO 13 raid rebuild zfs

我想比较不同 RAID 系统与消费者(URE/bit = 1e-14)或企业(URE/bit = 1e-15)驱动器的可靠性。重建成功概率的公式(忽略机械问题,我稍后会考虑)很简单:

error_probability = 1 - (1-per_bit_error_rate)^bit_read

重要的是要记住,这是获得至少一个 URE 的概率,不一定只有一个。

假设我们需要 6 TB 的可用空间。我们可以通过以下方式获得:

  • RAID1 具有 1+1 个磁盘,每个 6 TB。在重建过程中,我们回读了 1 个 6TB 的磁盘,风险是:1-(1-1e-14)^(6e12*8)=38%(消费者驱动器)或 4.7%(企业驱动器)。

  • RAID10 有 2+2 个磁盘,每个 3 TB。在重建过程中,我们只回读了 1 个 3TB 的磁盘(与失败的磁盘配对!)并且风险较低:1-(1-1e-14)^(3e12*8)=21% 消费者或 2.4%企业驱动。

  • RAID5/RAID Z1 带有 2+1 个 3TB 磁盘。在重建过程中,我们回读了 2 个 3TB 的磁盘,风险是:1-(1-1e-14)^(2*3e12*8)=38%(消费者驱动器)或 4.7% 或企业驱动器。

  • RAID5/RAID Z1 带有 3+1 个 2 TB 磁盘(通常由 Synology 等 SOHO 产品的用户使用)。在重建过程中,我们回读了 3 个 2TB 的磁盘,风险是:1-(1-1e-14)^(3*2e12*8)=38%(消费者驱动器)或 4.7% 或企业驱动器。

计算单个磁盘容错的错误很容易,更难的是计算容忍多个磁盘故障的系统(RAID6/Z2、RAIDZ3)的概率。

如果只使用第一个磁盘进行重建,而在 case 或 URE 中从头开始再次读取第二个磁盘,则错误概率是上面计算的平方根(消费者 RAID5 2+1 为 14.5%,消费者为 4.5% RAID1 1+2)。但是,我想(至少在具有完整校验和的 ZFS 中!)第二个奇偶校验/可用磁盘仅在需要时读取,这意味着只需要几个扇区:第一个磁盘中可能发生多少个 URE?不多,否则单盘容错系统的错误概率会比我计算的暴涨得更多。

如果我是对的,第二个奇偶校验磁盘实际上会将风险降低到极低的值。

抛开问题不谈,重要的是要记住,制造商出于营销原因增加了消费级驱动器的 URE 概率(销售更多企业级驱动器),因此,即使是消费级 HDD 也有望实现 1E-15 URE/位读取.

部分资料:http : //www.high-rely.com/hr_66/blog/why-raid-5-stops-working-in-2009-not/

因此,我在括号中提供的值(企业驱动器)实际上也适用于消费者驱动器。而真正的企业级硬盘具有更高的可靠性(URE/bit=1e-16)。

关于机械故障的概率,它们与磁盘数量成正比,与重建所需的时间成正比。