人们经常谈论 ZFS 的理论优势以及它如何轻松应对(RAIDZ1/2)硬盘故障,Server Fault 对此事实有很多证明。我正在考虑使用 FreeNAS 设置一个带有 3-5 个硬盘驱动器的 NAS,而且我可能每晚都在备份重要文件,所以我的停机时间不能超过一周。
硬盘驱动器如何(物理上)出现故障?
当 zpool 中的硬盘驱动器出现故障时,ZFS 会做什么,尤其是 FreeNAS?就像它通过 SMTP 向您发送一封电子邮件,内容是“更换硬盘 1 并单击确定...完成后”。
FreeNAS 从 RAIDZ2 中的 2 个磁盘故障中恢复需要多长时间?
假设人机交互最少,我从 RAIDZ2 设置中的最坏情况硬盘驱动器故障中成功恢复的可能性有多大?
外行可以从 SO 质量手册或向导中以图形方式执行恢复吗?
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 设置中哪个磁盘出现故障
归档时间: |
|
查看次数: |
14479 次 |
最近记录: |