真正让我烦恼的是静默数据损坏。多年来,我多次遇到这种情况:突然间,你只想打开一些旧照片,然后挠头想那个文件夹中是否还有其他照片。我将所有项目文件和图片存储在 Dropbox 中,另外还有一个外部 RAID 1 磁盘 (WDMyBookMirror),用于备份这些文件。大约一年前,我从旧的 MyBook Mirror 升级到了新的。旧磁盘上仍然有旧数据,我决定使用 FileMerge 对旧磁盘的文件夹树与正在使用的新备份磁盘的当前状态进行比较。结果发现,在这一年左右的时间里,我的新磁盘上大约有 10 个文件消失了。随机照片和视频。如果我没有进行比较,我永远不会注意到。
这让我想到一个问题。我该如何存储数据才能真正确保不会在不知不觉中丢失任何文件?
显然,RAID 1 并没有让我免受静默数据损坏的影响。其上的 NTFS 文件系统也没有,而 Dropbox 等云解决方案可能只会将错误的文件更改同步到云中,从而损坏/丢失其他地方的数据。定期备份备份也无法让我知道图片是否静默丢失或损坏。
那么该怎么办?我读了一些关于 ReFS 和 ZFS 的文章。这是可行的方法吗?
我不介意为冗余付费 - 但如何存储我的数据才能确保不会发生静默数据损坏?
答案1
ZFS 文件系统旨在高度抵抗静默数据损坏。使用复杂的校验和技术(包括块链接和将数据校验和存储在远离数据存储位置的介质位置),再加上存储元数据的多个副本(“副本块”)的能力,ZFS 不仅可以检测到静默损坏,而且当 ZFS 池具有足够的冗余时,ZFS 可以修复损坏。从这个意义上讲,ZFS 被描述为“自我修复”文件系统。
即使对于单磁盘存储系统,ZFS 也比许多传统文件系统具有显著的优势。简而言之,从Oracle 的 ZFS 文档:
存储多份 ZFS 用户数据副本的好处如下:
通过为所有 ZFS 配置启用不可恢复的块读取故障(例如介质故障(通常称为位腐烂))的恢复功能来提高数据保留率。
即使只有一个磁盘可用,也能提供数据保护。
使您能够根据每个文件系统选择数据保护策略,超出存储池的功能。
有关 ZFS 的许多其他方面可以在该链接的相关文档中找到。
话虽如此,没有哪个系统是完美的。但 ZFS 是一个强大的工具。