首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过编辑fstab文件修复文件系统

通过编辑fstab文件修复文件系统
EN

Unix & Linux用户
提问于 2020-03-21 18:43:43
回答 1查看 3K关注 0票数 3

是否可以通过重新编辑fstab文件来运行xfs修复?

代码语言:javascript
复制
/dev/mapper/vg-linux_root /                       xfs     defaults        0 0
UUID=7de1dc5c-b605-4a6f-bdf1-f1e869f6ffb9 /boot   xfs     defaults        0 0
/dev/mapper/vg-linux_var /var                     xfs     defaults        0 0
/dev/mapper/vg-linux_swap swap                    swap    defaults        0 0

我不确定,但把最后一个数字从0改为1,对吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-03-22 12:05:24

不,只编辑/etc/fstab不能导致执行xfs_repair .

对于其他文件系统类型,它可以工作。但是XFS在这里很特别。

/etc/fstab的第6个字段更改为XFS文件系统上的非零值将导致系统运行fsck.xfs,其手册页说:

代码语言:javascript
复制
NAME
       fsck.xfs - do nothing, successfully

[...]

       However,  the  system  administrator  can force fsck.xfs to run xfs_re‐
       pair(8) at boot time by creating a /forcefsck file or booting the  sys‐
       tem with "fsck.mode=force" on the kernel command line.

因此,通常情况下,fsck.xfs将什么也不做。

如果您真的希望xfs_repair在引导时运行,那么必须满足两个条件:

对于所讨论的XFS文件系统,/etc/fstab的第6个字段必须是非零字段,以便执行fsck.xfs

( b) /forcefsck文件必须存在于根文件系统(如果计划检查根文件系统,则可能在initramfs中),或者内核命令行必须有fsck.mode=force引导选项。这将导致fsck.xfs运行xfs_repair而不是什么都不做。

,xfs_repair有什么特别之处?

XFS文件系统和xfs_repair工具都将假设底层磁盘处于良好状态,或者至少能够透明地用内置的备用块替换坏块(就像所有现代磁盘一样)。如果现代磁盘具有操作系统可见的持久坏块,这通常意味着内置的备用块机制已经被大量的坏块所淹没,而且磁盘可能很快就会完全失败。

xfs_repair的手册页说:

代码语言:javascript
复制
   Disk Errors
       xfs_repair aborts on most disk I/O errors. Therefore, if you are trying
       to  repair  a  filesystem that was damaged due to a disk drive failure,
       steps should be taken to ensure that all blocks in the  filesystem  are
       readable and writable before attempting to use xfs_repair to repair the
       filesystem. A possible method is using dd(8) to copy the  data  onto  a
       good disk.

因此,您可能不应该将xfs_repair设置为在正常情况下自动运行。

如果XFS文件系统有错误,那么您应该首先评估底层磁盘的状态:smartctl -a /dev/<disk device>可能很有用,因为使用dd将分区/LV的全部内容读取到/dev/null,并确保命令可以在没有错误的情况下完成。

如果磁盘出现故障,您应该首先将分区/LV的内容复制到一个新的无错误磁盘(可能使用ddddrescue),然后尝试在无错误磁盘上的文件系统上运行xfs_repair

在引导时自动运行xfs_repair可能是一个适当的解决方法,如果您知道某些原因导致了文件系统级别的错误,即使您的磁盘处于良好状态也是如此。但这只是一种解决办法,而不是修复:您应该找出导致文件系统错误的原因,并修复根本原因。(可能是文件系统驱动程序错误,需要更新的内核包才能修复?)

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/574128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档