我有一个 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.
这些错误重复多次,但仅针对两个块。