Yang Asked: 2013-06-07 15:15:56 +0800 CST2013-06-07 15:15:56 +0800 CST 2013-06-07 15:15:56 +0800 CST ZFS 清理修复要求/保证的详细信息 772 我没有从文档中找到有关修复工作原理和要求的详细信息。 对于磨砂膏的自动修复,我需要镜像吗?RAIDZ?任何一个?两者都不是(校验和本身是否包含奇偶校验)? zfs 2 个回答 Voted Best Answer jlliagre 2013-06-07T22:06:07+08:002013-06-07T22:06:07+08:00 ZFS 块上没有奇偶校验,因此它们不是“自我修复”。 清理尝试通过将校验和不正确的块重新定位到别处来修复损坏错误。只有当池中存在故障块的完整副本时,它才能执行此操作。 如果您使用冗余(镜像或 raidz),后者为真的可能性非常高,但如果校验和错误影响: 默认情况下(至少)复制的元数据块 来自配置有同上块(copies=2或更多)的数据集的数据块 Chris S 2013-06-07T20:21:04+08:002013-06-07T20:21:04+08:00 清理不会修复损坏错误,它只会检测它们。如果有可用数据的有效冗余副本(镜像、raidz 等),则损坏的数据将被丢弃。 清理完成后,如果发现并丢弃了错误数据,则会触发重新同步操作。这会将冗余恢复到阵列(镜像、raidz 等)。由于清理会触发此行为,您可以将其称为同一操作的一部分,但在内部它绝对是一个单独的进程。 清理应提示底层存储报告 SMART 和 URE 错误(如果存在)。URE 会提示将磁盘标记为故障(如果有备用磁盘则自动替换它)。必须单独监视 SMART 错误(通常通过smartd或类似方式)。
ZFS 块上没有奇偶校验,因此它们不是“自我修复”。
清理尝试通过将校验和不正确的块重新定位到别处来修复损坏错误。只有当池中存在故障块的完整副本时,它才能执行此操作。
如果您使用冗余(镜像或 raidz),后者为真的可能性非常高,但如果校验和错误影响:
copies=2
或更多)的数据集的数据块清理不会修复损坏错误,它只会检测它们。如果有可用数据的有效冗余副本(镜像、raidz 等),则损坏的数据将被丢弃。
清理完成后,如果发现并丢弃了错误数据,则会触发重新同步操作。这会将冗余恢复到阵列(镜像、raidz 等)。由于清理会触发此行为,您可以将其称为同一操作的一部分,但在内部它绝对是一个单独的进程。
清理应提示底层存储报告 SMART 和 URE 错误(如果存在)。URE 会提示将磁盘标记为故障(如果有备用磁盘则自动替换它)。必须单独监视 SMART 错误(通常通过
smartd
或类似方式)。