新手 btrfs 用户:校验失败以及大量输入/输出错误

新手 btrfs 用户:校验失败以及大量输入/输出错误

一位室友建议我使用 btrfs,而不是我迄今为止一直在做的事情,即使用带有克隆驱动器的 mdadm,并在阵列中添加一个额外的驱动器来“克隆”备份。该系统有三个驱动器,所有驱动器的物理型号都不同:

  • /dev/sda:东芝 HDWQ140
  • /dev/sdb: HGST HUS724040AL
  • /dev/sdc: WDC WDS250G2B0B

好吧,我已经安装了 btrfs,但现在它已经运行了将近一年,我发现我应该每周运行一次 cron 作业来“清理”它。我开始尝试为此设置一个脚本,尽管它看起来像一个愚蠢的 DIY 系统,需要你谷歌一个脚本(我发现的命中率最高的是 2014 年左右)并安装它以保持你的文件系统运行。

当我在做所有这些管理工作时,我发现一些文件需要移动...我将跳过详细的细节,但是将文件从一个 btrfs 文件系统移动到另一个 btrfs 文件系统并再次返回会产生各种“输入/输出错误”(在 ext4 中从未见过),甚至还有这个精华:

Jan  4 21:19:19 host kernel: [9771285.171522] attempt to access beyond end of device
Jan  4 21:19:19 host kernel: [9771285.171522] sda1: rw=1, want=70370535518208, limit=7814035087
Jan  4 21:19:19 host kernel: [9771285.171529] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 1, rd 0, flush 0, corrupt 5, gen 0

我猜想这些是相关的。但真正愚蠢的是,我不仅收到已放置一年的文件的校验和错误,而且收到我几个小时前复制的文件的校验和错误到不同的物理驱动器。此外,几乎所有文件都在巨大的文件上(例如 DVD iso 映像),这是否说明了什么?

是的,我可能会看到同时出现三重驱动器故障,或者 btrfs 只是到处破坏我的文件?

此外,知识渊博的 btrfs 人士的每篇帖子都包含一个可爱的小“好吧,你应该从备份中恢复它……你有备份,不是吗”。那么大家告诉我,你们到底用什么来备份 4TB 的硬盘?因为我无法将其写入 DVD,如果硬盘如此不可靠,那么备份到硬盘上有什么用呢?

如此严肃的问题:

  1. 这些校验和错误真的是正常且预料之中的吗?
  2. 为什么我在今天才复制的文件上看到它们?
  3. 定期擦洗足以防止这种情况吗?
  4. 我是否应该购买新的硬盘并扔掉机器中现有的所有硬盘,因为它们确实出现故障了?
  5. 如何您建议备份多 TB 的数据驱动器吗?

更新 2022-01-07:我smartctl在所有驱动器上运行了这些程序,它们报告没有任何问题。所有驱动器的原始 UDMA_CRC_Error_Count 均为 0。尝试恢复损坏的文件……复制到机器的 tar 文件在几个文件出现 I/O 错误后失败。真的不知道这里发生了什么:

  • 如果驱动器或电缆有问题,这会在 SMART 中显示出来,对吗?
  • 如果 CPU 或内存有问题,系统就无法正常运行?(目前已运行 115 天,没有明显问题)?
  • 如果这是 btrfs 的一个普遍性错误,那么它是否会传遍整个互联网?

那么问题究竟出在哪里呢?

答案1

我正在回答我自己的问题,因为我认为这很有趣并且可能对某些人有用。

TL;DR 报告的问题的根本原因似乎是 DRAM 故障,而不是硬盘故障。

  1. 不,这些校验和不正常且不符合预期。运行相同 btrfs 版本的另一个系统运行良好。它们表明存在问题,但不一定与磁盘有关。请参阅下一项。
  2. 它们出现在新复制的数据上,因为系统中的 DRAM 出现严重故障,X86MemTest 已确认。两个内存条中只有一个坏了,而且碰巧是映射到较高内存的内存条,因此只有当低内存全部使用时(很少见,但对于较大的文件来说更常见)故障才会出现。这就是它们没有影响内核的原因。
  3. 常规清理可能更早地检测到了问题。当您的驱动器(例如 /dev/sdc)不是镜像的一部分时,常规清理无济于事,因为尽管它可以看到校验和错误,但它没有任何希望纠正它 -从根本上来说,这是 btrfs 的一个限制,他们本可以选择一个汉明距离更大的校验和函数,但却选择了计算速度更快的函数(我相信)。
  4. 我买了新的硬盘,可以作为备份,但各种 SMART 测试和其他努力都表明当前的硬盘可能没有问题。“所有硬盘同时出现故障”可能是一个很好的线索,表明问题不是硬盤。
  5. 如上所述,大容量硬盘已经变得便宜……并且考虑到硬盘本身似乎不是故障点,使用硬盘进行备份的想法似乎仍然有效。

相关内容