首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道是否需要运行e2fsck才能修复损坏的块?

如何知道是否需要运行e2fsck才能修复损坏的块?
EN

Server Fault用户
提问于 2017-11-12 20:08:24
回答 1查看 6.8K关注 0票数 -2

我们希望在每台Red机器上将磁盘上的文件系统检查为/deb/sdc . /dev/sdg

目标是查找需要e2fsck (如e2fsck -y /dev/sdb等)的磁盘。

根据手册页

-n 只打开文件系统只读,并假定对所有问题的回答都是“不”。允许非交互地使用e2fsck。此选项不能与-p-y选项同时指定。

当我们运行命令时(示例)

代码语言:javascript
复制
 e2fsck -n /dev/sdXX

我们会得到

e2fsck 1.42.9 (2013年12月28日)警告!/dev/sdc已挂载。警告:跳过日志恢复是因为执行只读文件系统检查。/dev/sdc:干净,94/1310720文件,156685/5242880块

那么,我们需要从e2fsck -n输出中捕获什么,这要求我们运行e2fsck (没有-n)?

e2fsck process

代码语言:javascript
复制
init 1
umount /dev/sdXX
e2fsck -y /dev/sdXX  # (or e2fsck -C /dev/sdXX for full details) 
init 3
EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-11-12 21:08:10

在每次引导时,RHEL引导脚本都会fsck。为此目的重新启动将完成与切换到单个用户模式的过程相同的任务。

如果启动挂起,因为fsck在等待输入,您知道文件系统日志是不干净的。它会告诉你,任何修理都不干净,不及时。

您可以使用touch /forcefsck强制检查并重新启动。

编辑:您必须从e2fsck手册页面获得正确的fsck,如下所示。当您想要修复文件系统时,您还需要省略-n "no“选项。

注意,通常在挂载的文件系统上运行e2fsck是不安全的。唯一的例外是如果指定了-n选项,而没有指定-c、-l或-L选项。但是,即使这样做是安全的,如果安装了文件系统,e2fsck打印的结果也是无效的。如果e2fsck问您是否应该检查已挂载的文件系统,唯一正确的答案是“否”。

你不需要重新启动就可以做到这一点,这很方便。如果您的服务的停机时间对您有问题,请在修复此系统时将数据的副本联机到另一个存储系统上。也被称为“制定您的业务连续性计划”。

要在测试系统上看到一个真正不干净的fsck:

  1. 备份你关心的任何数据。
  2. 启动写工作负载,例如使用fio的存储基准测试
  3. 系统很难崩溃。在Linux上,尝试使用echo 'c' > /proc/sysrq-trigger
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/883093

复制
相关文章

相似问题

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