最近checksum
,我将非重复zfs文件系统之一的属性sha256
从on
(fletcher4)更改为(fletcher4),以更好地支持发送重复的复制流,如该命令所示zfs send -DR -I _starting-snaphot_ _ending-snapshot_
。
但是,zfs联机帮助页中的内容是send -D
:
无论数据集的dedup属性如何,都可以使用此标志,但是如果文件系统使用具有dedup功能的校验和(例如sha256),则性能会更好。
zfs联机帮助页还说明了有关该checksum
属性的信息:
更改此属性仅影响新写入的数据。
我不想信任fletcher4。折衷之处在于,与SHA256不同,fletcher4不是伪随机哈希函数,因此不能被信任不会发生冲突。因此,仅当与“ verify”选项结合使用时才适用于dedup,该选项可检测并解决哈希冲突。
如何更新文件系统的校验和,最好不对系统进行脱机?
zfs receive
更新文件系统的元数据一点也不清楚。在我看来,如果仅按原样使用元数据,它将更快。但是,由于校验和的块级而不是文件级的性质,这样做可能是不可能的。在这种情况下,zfs send | zfs receive
将为解决方案奠定可接受的基础。