我不久前读到,zfs send/recv 比标准 rsync 更能免受内存错误的影响,因为它保留了磁盘上的所有 zfs 校验和。我找不到这篇文章,但我越想它,它就越没有意义,因为磁盘上的 ZFS 校验和是按磁盘块计算的,并且磁盘布局(RAID 级别)和可能的块大小都可以是源 zpool 和目标 zpool 上不同。有人知道这里的完整故事吗?
(我知道 zfs send/recv 有它的自己的另外还有校验和系统,但我要问的是磁盘上的校验和是否被保留或重新计算)。
答案1
在 ZFS 中,校验和是在数据集级别而不是池级别计算的。因此,当您发送快照时,池几何结构(镜像/raidz/其他)在这里不起任何作用 - 您仅对数据集进行有效操作。您可以调整接收大小的记录大小属性 - >然后将相应地重新计算校验和。