ZFS擦洗维修要求/保证的详细信息


3

我从文档中找不到有关维修工作原理和要求的详细信息。

要通过磨砂膏进行自动维修,需要镜像吗?RAIDZ?可以吗 两者都不(校验和本身是否包含奇偶校验)?

Answers:


4

ZFS块上没有奇偶校验,因此它们不是“自我修复”的。

清理尝试通过将校验和错误的块重新定位到其他位置来修复损坏错误。仅当池中存在故障块的健全副本时,它才能执行此操作。

如果使用冗余(镜像或raidz),则后者的可能性很高,但是如果校验和错误影响以下情况,则单个设备池或条带中仍然存在后者:

  • 默认情况下(至少)重复的元数据块
  • 来自配置了ditto块(copies=2或更多)的数据集中的数据块

“将块移到其他位置”-之后ZFS是否将块的原始位置永久列入黑名单?
Yang

在ZFS级别上没有我知道的黑名单。由于磁盘硬件已经维护了这样的错误列表,在这种情况下它可以检测到错误扇区并将其重新映射到其他备用扇区,因此这可能毫无意义。否则,当错误是虚假的并且未被硬件检测到时,该扇区将被重用。
jlliagre 2013年

1
“ ZFS确实提供校验和以防止静默数据损坏,如果物理磁盘发生故障,则没有奇偶校验或镜像来重建数据。” - zfsbuild.com/2010/05/26/zfs-raid-levels -这听起来不正确,应“防止”实际上被“检测”?无法采取任何措施来防止条带化设置中的数据损坏,对吗?
AaronLS 2013年

1
确实没有什么可以阻止的,data corruption但校验和允许阻止silent data corruption,这是另一种说法。损坏仍然可能发生,但不要引起注意,并且ZFS不会传送损坏的数据。
jlliagre 2013年

2

清理不会修复损坏错误,只会检测到它们。如果存在可用数据的有效冗余副本(镜像,raidz等),则损坏的数据将被丢弃。

清理完成后,如果发现错误数据并将其丢弃,则会触发重新同步操作。这样可以将冗余恢复到阵列(镜像,raidz等)。由于scrub触发了此行为,因此您可以将其称为同一操作的一部分,但在内部绝对是一个单独的过程。

清理提示基础存储报告SMART和URE错误(如果存在)。URE会提示您将磁盘标记为故障(如果有备用磁盘,则会自动将其替换)。必须分别监视SMART错误(通常通过smartd或类似方式)。


您说过它只会检测并丢弃不良数据。它不会从冗余副本中还原它们吗?因此,在镜像中,驱动器A上的一些不良数据将被丢弃,仅将副本保留在驱动器B上?这意味着如果驱动器B发生故障,那么那些块会永久丢失?
AaronLS 2013年

更新以更加清晰。而且,整个驱动器故障很少见。URE在盘片驱动器中更为常见(在较新的SSD中也是如此,尽管URE在SSD中不如在UWE中常见)。
克里斯·S
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.