![警告:挂载 fs 时出现错误,建议运行 e2fsck](https://linux22.com/image/650186/%E8%AD%A6%E5%91%8A%EF%BC%9A%E6%8C%82%E8%BD%BD%20fs%20%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%EF%BC%8C%E5%BB%BA%E8%AE%AE%E8%BF%90%E8%A1%8C%20e2fsck.png)
Linux 服务器将挂起,当我重新启动时,它将需要大约 2 小时才能启动并恢复正常运行。
我检查了系统日志文件,发现mounting fs with errors, running e2fsck is recommended
我在这里找到了一些解决方案,它表示使用以下命令
tune2fs -c 100 /dev/sdx1
tune2fs -i 90d /dev/sdx1
还有一个解决方案
/etc/fstab
文件如下所示:
file system dir type options dump pass
UUID=123-456-ABC-DEF / ext4 defaults,noatime 0 0
我们需要将传递值从 更改0
为1
以便允许磁盘清理
我真的很害怕,因为它是一个生产箱,如果出现问题我应该重新配置。
什么是最好的方法?欢迎提出任何建议。
答案1
您是否尝试运行 e2fsck(或 fsck)?这可能会有所帮助...此外,我建议您检查磁盘的硬件状态。尝试安装智能工具并检查磁盘的错误日志。您可以使用以下命令执行此操作:
smartctl --all /dev/sdx
我强烈建议在做任何事情之前先进行备份。
答案2
在对主机文件系统进行重大更改之前,请确保您的备份完整且可用。以下内容可能被归类为“重大更改”。
你可以挂载这个文件系统,所以它不是那损坏。您一定要在 fstab 上启用“pass”,以确保您的文件系统得到定期检查。EXT4 是一个需要不时进行离线维护的文件系统。请始终为其使用 pass 选项。
但是,在检查和修复 上的文件系统之前/
,请确保底层磁盘是健康的。smartctl
是一个很好的工具,正如 user2986553 已经提到的那样。 如果您的底层块设备有问题,运行文件系统修复可能会导致比通常修复的更多的问题。
确保磁盘健康后,对根文件系统运行离线检查。您必须重新启动才能执行此操作,因为 EXT4 无法在线修复,并且对活动挂载进行只读检查将提供不可靠的结果。确保下次重新启动时执行此操作的最简单方法是在文件系统的根目录上创建一个名为“forcefsck”的文件。
创建一个名为“forcefsck”的文件以在下次挂载尝试时强制进行检查:
# touch /forcefsck
重新启动,您应该会看到检查运行。当它完成并挂载文件系统时,它应该会删除该“forcefsck”文件。您可能想确保它已经消失,如果没有,请将其删除。
这很可能顺利解决任何问题。EXT4 可以非常轻松地自动修复,并且可以在发生一些相当严重的故障后修复。