Answers:
ZFS块上没有奇偶校验,因此它们不是“自我修复”的。
清理尝试通过将校验和错误的块重新定位到其他位置来修复损坏错误。仅当池中存在故障块的健全副本时,它才能执行此操作。
如果使用冗余(镜像或raidz),则后者的可能性很高,但是如果校验和错误影响以下情况,则单个设备池或条带中仍然存在后者:
copies=2
或更多)的数据集中的数据块data corruption
但校验和允许阻止silent data corruption
,这是另一种说法。损坏仍然可能发生,但不要引起注意,并且ZFS不会传送损坏的数据。
清理不会修复损坏错误,只会检测到它们。如果存在可用数据的有效冗余副本(镜像,raidz等),则损坏的数据将被丢弃。
清理完成后,如果发现错误数据并将其丢弃,则会触发重新同步操作。这样可以将冗余恢复到阵列(镜像,raidz等)。由于scrub触发了此行为,因此您可以将其称为同一操作的一部分,但在内部绝对是一个单独的过程。
清理应提示基础存储报告SMART和URE错误(如果存在)。URE会提示您将磁盘标记为故障(如果有备用磁盘,则会自动将其替换)。必须分别监视SMART错误(通常通过smartd
或类似方式)。