ZFS 池中的硬盘故障是什么样的,您实际上会做什么?

Sim*_*ang 2 freenas

人们经常谈论 ZFS 的理论优势以及它如何轻松应对(RAIDZ1/2)硬盘故障,Server Fault 对此事实有很多证明。我正在考虑使用 FreeNAS 设置一个带有 3-5 个硬盘驱动器的 NAS,而且我可能每晚都在备份重要文件,所以我的停机时间不能超过一周。

硬盘驱动器如何(物理上)出现故障

当 zpool 中的硬盘驱动器出现故障时,ZFS 会做什么,尤其是 FreeNAS?就像它通过 SMTP 向您发送一封电子邮件,内容是“更换硬盘 1 并单击确定...完成后”。

FreeNAS 从 RAIDZ2 中的 2 个磁盘故障中恢复需要多长时间?

假设人机交互最少,我从 RAIDZ2 设置中的最坏情况硬盘驱动器故障中成功恢复的可能性有多大?

外行可以从 SO 质量手册或向导中以图形方式执行恢复吗?

Dim*_*oyn 8

FreeNAS 支持 SMART 监控,因此通常在驱动器发生故障之前,如果通知设置正确并启用监控,系统管理员将收到有关坏的不可用扇区、过热等的报告。从9.2.1.8版开始,FreeNAS支持“热备份”。可以手动推送在 zpool 中配置的备件以替换出现故障的驱动器,但软件中没有任何内容提供该过程的自动化。在 RAIDZ2 中同时发生 2 个故障时,几乎可以保证出现不可恢复的文件错误。这是因为一个称为Bitrot的过程. 现代驱动器通常为 3TB+。为了获得比镜像空间更好的利用率,可以从至少 6 个驱动器构建 RAIDZ2。现在,如果剩余的 RAID 5(如条带)中有一个出现故障的驱动器且 vdev 容量大于 12 TB,且 URE 率为 10^14,那么您很可能会遇到 URE。几乎可以肯定,如果驱动器供应商是对的。这将导致最少的消息是这样的:

~# zpool status -v
  pool: dpool
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
scan: resilvered 6.90T in 52h5m with 313 errors on Wed Oct 22 17:44:25 2014
config:

        NAME                         STATE     READ WRITE CKSUM
        dpool                        DEGRADED     0     0 5.75K
          raidz2-0                   ONLINE       0     0    78
            c0t50014EE05807CC4Ed0    ONLINE       0     0     0
            c0t50014EE6AAD9F57Fd0    ONLINE       0     0     0
            c0t50014EE204FC5087d0    ONLINE       0     0     0
            c0t50014EE6AADA3B7Cd0    ONLINE       0     0     0
            c0t50014EE655849876d0    ONLINE       0     0     0
            c0t50014EE6AADA3DFDd0    ONLINE       0     0     0
            c0t50014EE6AADA38FFd0    ONLINE      39     0     0
          raidz2-1                   ONLINE       0     0 11.4K
            c0t50014EE6AADA45E4d0    ONLINE   1.69K     0     0
            c0t50014EE6AADA45ECd0    ONLINE     726     0     0
            c0t50014EE6AADA3944d0    ONLINE       0     0     0
            c0t50014EE204FC1F46d0    ONLINE       0     0     0
            c0t50014EE6002A74CEd0    ONLINE       0     0     0
            c0t50014EE2AFA6C8B4d0    ONLINE       0     0     0
            c0t50014EE6002F9C53d0    ONLINE       5     0     0
          raidz2-2                   DEGRADED     0     0     0
            c0t50014EE6002F39C5d0    ONLINE       0     0     0
            c0t50014EE25AFFB56Ad0    ONLINE       0     0     0
            c0t50014EE6002F65E3d0    ONLINE       0     0     0
            c0t50014EE6002F573Dd0    ONLINE       0     0     0
            c0t50014EE6002F575Ed0    ONLINE       0     0     0
            spare-5                  DEGRADED     0     0     0
              c0t50014EE6002F645Ed0  FAULTED      1    29     0  too many errors
              c0t50014EE2AFA6FC32d0  ONLINE       0     0     0
            c0t50014EE2050538DDd0    ONLINE       0     0     0
          raidz2-3                   ONLINE       0     0     0
            c0t50014EE25A518CBCd0    ONLINE       0     0     0
            c0t50014EE65584A979d0    ONLINE       0     0     0
            c0t50014EE65584AC0Ed0    ONLINE       0     0     0
            c0t50014EE2B066A6D2d0    ONLINE       0     0     0
            c0t50014EE65584D139d0    ONLINE       0     0     0
            c0t50014EE65584E5CBd0    ONLINE       0     0     0
            c0t50014EE65584E120d0    ONLINE       0     0     0
          raidz2-4                   ONLINE       0     0     0
            c0t50014EE65584EB2Cd0    ONLINE       0     0     0
            c0t50014EE65584ED80d0    ONLINE       0     0     0
            c0t50014EE65584EF52d0    ONLINE       0     0     0
            c0t50014EE65584EFD9d0    ONLINE       0     0     1
            c0t50014EE2AFA6B6D0d0    ONLINE       0     0     0
            c0t5000CCA221C2A603d0    ONLINE       0     0     0
            c0t50014EE655849F19d0    ONLINE       0     0     0
        spares
          c0t50014EE2AFA6FC32d0      INUSE     currently in use

errors: Permanent errors have been detected in the following files:
Run Code Online (Sandbox Code Playgroud)

名为“重新同步”的重建过程将取决于各个驱动器的速度及其占用情况。想想 25MB/s 的最高速度。然而,这里有一个现实生活中多次失败的例子,实际速度为 5MB/s - 所以我们谈论的是周 - 这些是 2TB 7200 RPM WD 驱动器。

~# zpool status
  pool: dpool
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Thu Nov 13 10:41:28 2014
        338M scanned out of 48.3T at 5.72M/s, (scan is slow, no estimated time)
        32.3M resilvered, 0.00% done
config:

        NAME                                            STATE     READ WRITE CKSUM
        dpool                                           ONLINE       0     0     0
          raidz2-0                                      ONLINE       0     0     0
            gptid/9640be78-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0  (resilvering)
            gptid/97b9d7c5-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/994daffc-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/9a7c78a3-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/9c48de9d-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/9e1ca264-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0  (resilvering)
            gptid/9fafcc1e-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/a130f0df-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/a2b07b02-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/a44e4ed9-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
          raidz2-1                                      ONLINE       0     0     0
            gptid/a617b0c5-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/a785adf7-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/a8c69dd8-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0  (resilvering)
            gptid/aa097d45-a3e1-11e3-844a-001b21675440  ONLINE       0     0     1  (resilvering)
            gptid/ab7e0047-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/acfe5649-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0  (resilvering)
            gptid/ae5be1b8-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/afd04931-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/b14ef3e7-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/b2c8232a-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
          raidz2-2                                      ONLINE       0     0     0
            gptid/b43d9260-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/b5bd6d79-a3e1-11e3-844a-001b21675440  ONLINE       0     0     1  (resilvering)
            gptid/b708060f-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/b8445901-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/b9c3b4f4-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/bb53a54f-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/bccf1980-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/be50575e-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0  (resilvering)
            gptid/bff97931-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
            gptid/c1b93e80-a3e1-11e3-844a-001b21675440  ONLINE       0     0     0
        spares
          gptid/c4f52138-a3e1-11e3-844a-001b21675440    AVAIL
          gptid/c6332a6f-a3e1-11e3-844a-001b21675440    AVAIL

errors: No known data errors
Run Code Online (Sandbox Code Playgroud)

RAIDZ 中的数据保护并不是要取代备份。在仅在前 3 年内使用 RAID2 保护的 PB 存储中,统计上保证至少会丢失一些文件。因此复制到第二位是强制性的。FreeNAS 支持 ZFS 发送/接收以及 rsync。如果设置了监控并关注自己的通知,则很容易启动备用插入 zpools。然而,当前的 FreeNAS 版本 (9.2.1.8) 没有提供一种简单的方法来识别故障磁盘的插槽/机箱。您可以查看我关于该主题的回答: 如何确定 FreeNAS / ZFS 设置中哪个磁盘出现故障

  • 我扩展了我的答案,包括参考存储介质的 **Bitrot** 问题和 **Unrecoverable Read Errors (URE)** 影响从故障中恢复的成功。长时间擦洗更大的驱动器条带和擦洗期间的性能下降迫使操作员一起避免这一切,这意味着通常在第一次出现故障时进行维修,但这会导致第二次驱动器故障的时间过长。 (2认同)