BTRFS(或 ZFS,我没有使用过)具有“内置”校验和功能,这似乎是一个非常好的功能。我的 Synology NAS 为我提供了为任何给定文件夹启用该功能的选项,因此它引出了一个问题:我是否应该为那些我不太关心的数据启用该功能?
这引出了一个实际问题:启用 BTRFS 校验和的成本是多少?它会占用更多空间吗?如果是,会占用多少空间?它会占用更多的 CPU 时间来读取或写入吗?
答案1
简短版本:保持校验和启用,禁用它不会给您带来任何实际优势。
长版本:现代 CPU 上的校验和计算非常快,很容易达到“绝对不用担心”的程度。相比之下,我古老的 Ryzen 7 1700X 以 >9GB/s 的速度进行 ZFS fletcher4 计算。由于有专用指令,最近处理器上的 CRC32C 应该更快。
校验和文件系统或块设备(即:)的实际成本dm-integrity
不在于校验和计算本身,而在于将数据与校验和关联所需的 CoW 或读取/修改/写入机制和布局。禁用校验和不会改变这一点,并且只会提供极小的加速(如果有的话)。