Unable to mount or check XFS filesystem
发布日期:2021-05-10 15:50:30 浏览次数:19 分类:精选文章

本文共 2736 字,大约阅读时间需要 9 分钟。

环境

  • Red Hat Enterprise Linux 5.7 or later
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • XFS file system

问题

  • In Red Hat Enterprise Linux 6, an xfs filesystem hung and running xfs_check gave the following error:

# xfs_check /dev/sdm1ERROR: The filesystem has valuable metadata changes in a log which needs tobe replayed. Mount the filesystem to replay the log, and unmount it beforere-running xfs_check. If you are unable to mount the filesystem, then usethe xfs_repair -L option to destroy the log and attempt a repair.Note that destroying the log may cause corruption -- please attempt a mountof the filesystem before doing this.

NOTE: Older xfsprogs packages contained the xfs_check tool. This tool is very slow and does not scale well for large filesystems. As such, it has been deprecated in favor of xfs_repair -n.

  • In the above scenario, the filesystem would also not mount:

# mount /dev/sdm1 /new/mount: Structure needs cleaning# mount -f /dev/sdm1 /new//dev/sdm1 100G 49G 46G 52% /new
  • The last resort was running xfs_repair -L which was able to cause the filesystem to mount and work.

kernel: XFS internal error XFS_WANT_CORRUPTED_GOTO at line 1572 of file fs/xfs/xfs_alloc.c.  Caller 0xffffffff88871969kernel: kernel: Call Trace:kernel:  [
] :xfs:xfs_free_ag_extent+0x19e/0x67ekernel: [
] :xfs:xfs_free_extent+0xa9/0xc9kernel: [
] :xfs:xfs_bmap_finish+0xee/0x15fkernel: [
] :xfs:xfs_itruncate_finish+0x185/0x2afkernel: [
] :xfs:xfs_inactive+0x1de/0x40fkernel: [
] :xfs:xfs_fs_clear_inode+0xa4/0xebkernel: [
] clear_inode+0xd2/0x123kernel: [
] generic_delete_inode+0xde/0x143kernel: [
] do_unlinkat+0xd5/0x141kernel: [
] tracesys+0x71/0xe0kernel: [
] tracesys+0xd5/0xe0kernel: kernel: xfs_force_shutdown(sdm1,0x8) called from line 4269 of file fs/xfs/xfs_bmap.c. Return address = 0xffffffff8887a78akernel: Filesystem "sdm1": Corruption of in-memory data detected. Shutting down filesystem: sdm1kernel: Please umount the filesystem, and rectify the problem(s)kernel: nfsd: non-standard errno: 5

决议

  • The remedy is to xfs_repair -L to discard the log and repair the filesystem, which also reconstructs the free space trees on-disk.
  • Then, remount the filesystem.

根源

  • Corruption has occurred in a free space btree (some unknown time ago), but this has only been detected now when you tried to delete a file and free an extent.

  • Also check your storage integrity (though no scsi errors seems to be present in the logs) - this can be caused by all sorts of conditions outside of XFS itself (storage errors, or memory corruption, etc).

诊断步骤

  • Examine syslog for the signature messages, as per Issue section: XFS_WANT_CORRUPTED_GOTO at line 1572
上一篇:CentOS7下使用ngrok搭建内网穿透服务器
下一篇:linux补充权限:rwt rwT rws rwS 特殊权限

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年04月26日 04时00分59秒