如何管理大容量硬盘存储、数据完整性、

如何管理大容量硬盘存储、数据完整性、

我目前正在运行个人 NAS 存储。
我不是计算机专业人士,
我只是使用复制粘贴进行备份。(没有 raid 或类似的东西)

我有 8TB * 8 个希捷存档硬盘。4
个硬盘用于 NAS,4 个硬盘用于备份。
我很少在这些硬盘上更新/写入。

我的视频文件出现了一些错误。
所以我不得不重写文件。

但是当我使用 Crystaldisk 检查坏扇区或其他错误时,
我没有发现任何错误。

我不知道硬盘驱动器如何工作
,这就是问题所在

  1. 是否有可能检查硬盘上的小错误/损坏?比如单个位损坏……

  2. 管理这种存档硬盘的最佳方法是什么?
    我原本想为所有文件制作一个 md5 哈希。
    但应该有更好/更智能的方法来做到这一点。

所有数据对我来说都非常重要,我愿意为此付出很多钱。
云存储服务如何安全地管理其数据?

答案1

许多常用的文件系统(如 FAT、NTFS、ext2/3/4)不能确保文件数据的完整性(例如使用校验和)……再加上位腐烂会导致您所处的境地...数据从硬盘返回时没有错误,但并不正确。

有一个很有用的 wiki 页面比较了文件系统的特性这里- 对于您的用例,我们感兴趣的是“数据校验和“ 栏目之”文件功能“ 桌子,这里

在撰写本文时,对数据进行校验的文件系统列表(您可能有权访问)是:ZFS、Brtfs、ReFS。

使用更现代的文件系统(例如这些)可以更好地抵御位腐烂。我无法评论其他文件系统,但我自己广泛使用 ZFS,所以我的其余回答将重点关注这一点(特别是数据的保证,忽略许多其他有用功能)。

单磁盘/条带

将 ZFS 与single diskstriped池(许多磁盘没有专用的奇偶校验磁盘)结合使用可让您放心,如果返回数据,则它是正确的。如果无法正确读取数据,则您将看到错误. 这是通过存储数据校验和以及数据本身来实现的。

请注意,即使有这样的池,ZFScopies属性也可能有助于确保数据完整性 - 但是它提供了与设备故障有关的好处,因此我建议不要使用它。

copies=1 | 2 | 3
    Controls the number of copies of data stored for this dataset. These copies are in
    addition to any redundancy provided by the pool, for example, mirroring or RAID-Z.
    The copies are stored on different disks, if possible. The space used by multiple
    copies is charged to the associated file and dataset, changing the used property
    and counting against quotas and reservations.

镜像或 RAIDZ

使用带有mirror、或raidz1raidz2池(1 或 2 个奇偶校验磁盘)的 ZFS 可以增强上述功能探测错误,并允许文件系统尝试自动愈合损坏的数据。如果读取失败(由于校验和不匹配),则将向镜像或奇偶校验磁盘之一发送读取请求。在所有源的校验和都不正确的情况下,您将看到错误,如上所述。但在典型情况下,镜像或奇偶校验磁盘将成功读取,正确的数据将返回给您,损坏的数据将重新写入。


不幸的是,我目前不知道有哪款消费级 NAS 产品提供 ZFS 或 Btrfs 支持,但如果你在 PC 上运行它,那么像自由网络存储(使用 ZFS)可能对您来说非常有趣。


您当然可以像您所提到的那样计算所有文件的校验和,但这会在尝试维护和验证校验和时导致问题。

相关内容