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 / 问题 / 851204
Accepted
Wayne Conrad
Wayne Conrad
Asked: 2017-05-20 12:53:10 +0800 CST2017-05-20 12:53:10 +0800 CST 2017-05-20 12:53:10 +0800 CST

不修复“结构需要清理”XFS 错误的风险

  • 772

我有一个 XFS 文件系统,其中的文件系统错误影响了一些非关键文件。我想修理它;企业希望继续运行这些错误。 不修复出现“结构需要清理”错误的 XFS 文件系统的已知风险是什么?

企业希望避免可能需要的冗长维护窗口。我一直坚信不能容忍文件系统损坏。除了我自己的 FUD 之外,企业会问我修复它的原因。

需要什么样的答案

我已经有意见了;我需要的不止这些。

答案应该有证据支持(轶事是可以的,但前提是它们是第一手记录的。我们不需要“有人告诉我”的答案)。 专家意见是可以的,例如来自 XFS FAQ 的回答,或者来自熟悉 XFS 内部的开发人员的回答)。

请不要外行意见。我正在寻找证据、可靠的轶事和XFS 专家意见。

否定答案(例如“在类似情况下,我跑了一年,没有遇到严重问题)是可以的。

文件系统详细信息。

文件系统为 5.4T,使用了 3.9T (72%)。

有 46.6M 文件。

错误详情

有 55 个损坏的目录会导致应用程序报告“结构需要清理”,ls如此XFS 常见问题条目中所述:find

问:我看到应用程序返回错误 990 或“结构需要清理”,这是怎么回事?

错误 990 代表 EFSCORRUPTED,这通常意味着 XFS 检测到文件系统元数据问题并已关闭文件系统以防止进一步损坏。此外,大约从 2006 年 6 月开始,我们从 EFSCORRUPTED/990 转换为使用 EUCLEAN,“结构需要清洁”。不幸的是,原因几乎可以是任何东西——文件系统、虚拟内存管理器、卷管理器、设备驱动程序或硬件。最初发生这种情况时应该有详细的控制台消息。这些消息包含重要信息,向开发人员提供有关最早检测到问题的提示。它可以保护您的数据。您可以使用 xfs_repair 来解决问题(卸载文件系统)。

记录到所有的 XFS 错误syslog如下所示:

XFS (sdb): Metadata corruption detected at xfs_inode_buf_verify+0x6d/0xe0 [xfs], block 0x50
XFS (sdb): Unmount and run xfs_repair
XFS (sdb): First 64 bytes of corrupted metadata buffer:
ffff88073fa79000: 49 4e 41 ff 02 01 00 00 00 00 01 f6 00 00 01 f7  INA.............
ffff88073fa79010: 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 ed  ................
ffff88073fa79020: 59 1b af d2 09 62 5c 17 4f e8 f8 73 00 00 00 00  Y....b\.O..s....
ffff88073fa79030: 57 e0 73 b2 27 23 63 cd 00 00 00 00 00 00 00 2f  W.s.'#c......../
XFS (sdb): metadata I/O error: block 0x50 ("xfs_trans_read_buf_map") error 117 numblks 16
XFS (sdb): xfs_imap_to_bp: xfs_trans_read_buf() returned error 117.

这些错误重复多次,但仅针对两个块。

xfs
  • 2 2 个回答
  • 17861 Views

2 个回答

  • Voted
  1. Best Answer
    shodanshok
    2017-05-20T14:57:43+08:002017-05-20T14:57:43+08:00

    文件系统应该真正脱机并检查/修复,至少有两个很好的理由:

    • 目录上的元数据错误基本上会将它们锁定在您的控制之外。您不能ls使用它们,也不能在其中创建/删除文件。
    • 元数据错误会触发 XFS 故障安全机制 - 文件系统关闭。如果发生这种情况,您的客户将出现计划外的停机时间,也许是有史以来最糟糕的时刻。最好在安静的时间安​​排停机时间(即:在夜间)。

    一些建议:

    • 在运行 full-scale 之前xfs_repair,您可以使用转储所有文件系统元数据xfs_metadump并在它们上运行“虚拟” xfs_repair。这将使您有可能观察xfs_repair将在您的文件系统上做什么
    • 在进行任何修复尝试之前,请确保拥有有效且最近的备份
    • 如果您真的,真的,真的无法关闭文件系统,并且如果有问题的目录中包含的文件不重要/不重要,您可以尝试删除目录本身。这将有效地“断开”有问题的元数据区域。一定要明白这只是一个(坏的)解决方法;此外,如果删除失败,XFS 可能会关闭整个文件系统,迫使您进行计划外停机。
    • 4
  2. ewwhite
    2017-05-20T14:00:12+08:002017-05-20T14:00:12+08:00

    您应该修复您的文件系统,因为它可能表明存储阵列或硬件存在潜在问题。

    为停机或维护腾出时间……或为更好的冗余做准备。

    此时我将检查硬件的运行状况。


    假设您使用的是企业 Linux 操作系统(而不是 Arch Linux),则有一个创造性的解决方案可用。您可以使用Linux HotCopy 实用程序/驱动程序的当前版本,并为您的文件系统拍摄块级快照。使用以下内容挂载该文件系统:

    mount -t xfs -o nouuid,norecovery /dev/hcp1 /some-mountpoint
    

    从那里,您可以xfsrepair在快照上运行并了解问题的严重性、问题列表和时间测试。

    完成后卸载并销毁快照。

    • 3

相关问题

  • 仅连接到 Linux 的外部驱动器的文件系统

  • ZFS 与 XFS

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