如何在 ext4 上获取校验和数据完整性?

如何在 ext4 上获取校验和数据完整性?

在 btrfs 等文件系统上,您可以执行清理,它将检查所有数据以查看数据是否仍然与文件系统校验和匹配。

我想在备份之前检查 ext4 上的数据是否正确。

问题

ext4 没有文件系统校验和,但是可以制作类似的东西吗?

答案1

Ext4 没有与 ZFS 或 btrfs “scrub” 相当的功能,但是,最近的一个功能是元数据校验。使用它需要非常新内核和更新的 e2fsprogs

您正在使用什么发行版?

答案2

@ewwhite 的回答是正确的。我只想强调:不 -数据目前无法在 ext4 或 XFS 中进行校验。我还找不到任何与 JFS 校验相关的内容。因此,到目前为止,唯一可靠的选择是检查 linux ZFS。BTRFS 目前不太稳定。

我之所以写上述内容,是因为我的路由器与 USB 外置驱动器之间刚刚出现了严重的静默写入损坏,现在我不再相信 USB 是一种可靠的互连。因此需要进行额外的校验和。(我的意思是驱动器完全正常,但路由器 USB 不稳定)

答案3

虽然传统文件系统(如 ext4 或 XFS)不支持数据校验和,但可以使用dm-integrity在块级别(在文件系统本身下)添加校验和。

您可以使用integritysetup向任何块设备添加校验和(注意:它将删除所有以前的数据)作为基于 mdadm 的阵列,或基于 LVM 的 RAID 阵列

答案4

您可以测试一些软件:

基本上,它们都计算并保存文件的校验和,因此您可以稍后再次运行它并进行比较,查看两次运行之间某些校验和是否发生了变化。

相关内容