BTRFS 数据完整性 (CRC32c) 和 HDD 数据完整性(扇区 ECC)

Arm*_*ada 6 data-recovery btrfs

我是 BTRFS 的新手,我试图理解为什么 BTRFS 使用 CRC32c 而 HDD 已经具有扇区级数据完整性 ECC。是因为 BTRFS 不通过媒体中继来保护数据完整性吗?谢谢你。

Ste*_*lls 7

磁盘可以并且确实会悄悄损坏数据。有关此研究的一个示例,请参见http://storagemojo.com/2007/09/19/cerns-data-corruption-research/


fro*_*utz 0

是的,它首先不信任设备报告错误或存储正确的数据。这是否真的有必要完全是另一个问题。通常,这不是任何人担心的事情,而且一切都会正常进行。

如果你的磁盘不报告错误,那么无论如何你都会遇到一个大问题;不仅文件系统依赖于此类错误报告,其他组件(例如 RAID 控制器等)也依赖于此类错误报告;不可靠的存储会使您的整个数据(而不仅仅是少数数据)面临风险。

无论您的文件系统是否进行校验和,您都应该始终在存储上运行自己的测试;例如 SMART 自测试,或者在 RAID 的情况下,检查奇偶校验数据是否不匹配(/sys/block/mdX/md/mismatch_cnt运行检查sync_action 后=0)。