一些演示文稿声明 zfs 具有:
zfs 可以检测和纠正静默数据损坏。
例如从这里http://www.eecis.udel.edu/~bmiller/DE-OSUG/ECECIS-ZFS.pdf
jll*_*gre 11
1. 但是你需要手动分配一些备用磁盘或zfs池吗?或者这是zfs固有的?
受影响的数据需要冗余才能发生这种情况。无需额外磁盘即可实现这种冗余。多个磁盘也不意味着冗余。
ZFS 支持备用设备,但它们用于替换其他处于故障状态的设备。它们不用于数据冗余。
2. 单盘zfs文件系统有这个功能还是得弄RAIDZ?
无论池配置如何,ZFS 始终会检测到损坏的数据,除非您明确禁用校验和,但这将是一个非常糟糕的主意。
单个磁盘池可以在包含元数据时恢复腐烂块。只有在将副本属性设置为 2 或更高时才能恢复包含文件数据的块。
条带化配置中的多个磁盘池类似于单个磁盘池,即元数据可以在磁盘腐烂中幸存下来,同样的块存在是文件数据自我修复的要求。
冗余配置中的多个磁盘池(mirror、raidz、raidz2、raidz3)可以恢复任何磁盘腐烂问题(当然,除非出现多个磁盘故障等大规模错误情况)。
读取受影响的文件(或元数据或 zvol 块)时会检测到错误。如果 ZFS 可以恢复错误,则会透明地修复错误并返回正确的数据。否则,报告读取错误。请注意,校验和不是 ECC,因此它不能用于恢复损坏的块,只能用于检测它们。
如果您想在不等待读取发生的情况下验证整个池,您可以使用清理机制。ZFS 将检查所有使用过的块并在可能的情况下自我修复那些腐烂的块。