AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1089013
Accepted
Greg Nelson
Greg Nelson
Asked: 2022-01-05 18:49:53 +0800 CST2022-01-05 18:49:53 +0800 CST 2022-01-05 18:49:53 +0800 CST

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

  • 772

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

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

好吧,我已经安装了 btrfs,但现在它已经运行了将近一年,我发现我应该每周运行一个 cron 作业来“清理”它。我开始尝试为此设置一个脚本,尽管它看起来像是一个愚蠢的 DIY 系统,需要你在谷歌上搜索一个脚本(我发现的热门脚本来自 2014 年之类的东西)并安装它以保持你的文件系统运行。

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

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 的一个全面的错误,它不会遍布整个互联网吗?

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

backup ubuntu-20.04 btrfs checksum
  • 1 1 个回答
  • 195 Views

1 个回答

  • Voted
  1. Best Answer
    Greg Nelson
    2022-01-11T07:33:06+08:002022-01-11T07:33:06+08:00

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

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

    1. 不,这些校验和是不正常的和预期的。另一个运行相同 btrfs 版本的系统运行良好。它们表明有问题,但不一定与磁盘有关。见下一项。
    2. 它们出现在新复制的数据上,因为系统中的 DRAM 发生了重大故障,X86MemTest 证实了这一点。只有两个棒中的一个坏了,而且它恰好是映射到更高内存的棒,所以只有当低内存全部使用时(很少,但对于较大的文件更频繁),故障才会出现。这就是它们不影响内核的原因。
    3. 定期擦洗可能会更早地检测到问题。当你有一个不属于镜像的驱动器(例如 /dev/sdc)时,定期清理没有帮助,因为虽然它可以看到校验和错误,但它没有任何纠正它的希望 -这基本上是一个btrfs 的限制,他们本可以选择一个具有更大汉明距离的校验和函数,而是选择一个计算速度更快的函数(我相信)。
    4. 我买了新的硬盘驱动器,可以作为备份,但各种 SMART 测试和其他努力表明当前的驱动器可能还可以。“所有驱动器同时出现故障”可能是一个很好的线索,表明问题不在于硬盘驱动器。
    5. 如前所述,大型驱动器已经变得便宜......并且鉴于驱动器本身似乎不是故障点,使用硬盘驱动器进行备份的想法似乎仍然有效。
    • 0

相关问题

  • 总大小(磁盘)与总大小(媒体)

  • 社区对备份解决方案的意见

  • 无法读取不同 LTO-3 驱动器上的 LTO-3 磁带

  • 使用 TSM 备份时跳过硬链接

  • 使用 rsync 维护名称更改的目录的副本

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve