我们希望在每台Red机器上将磁盘上的文件系统检查为/deb/sdc . /dev/sdg。
目标是查找需要e2fsck (如e2fsck -y /dev/sdb等)的磁盘。
根据手册页
-n只打开文件系统只读,并假定对所有问题的回答都是“不”。允许非交互地使用e2fsck。此选项不能与-p或-y选项同时指定。
当我们运行命令时(示例)
e2fsck -n /dev/sdXX我们会得到
e2fsck 1.42.9 (2013年12月28日)警告!/dev/sdc已挂载。警告:跳过日志恢复是因为执行只读文件系统检查。/dev/sdc:干净,94/1310720文件,156685/5242880块
那么,我们需要从e2fsck -n输出中捕获什么,这要求我们运行e2fsck (没有-n)?
init 1
umount /dev/sdXX
e2fsck -y /dev/sdXX # (or e2fsck -C /dev/sdXX for full details)
init 3发布于 2017-11-12 21:08:10
在每次引导时,RHEL引导脚本都会fsck。为此目的重新启动将完成与切换到单个用户模式的过程相同的任务。
如果启动挂起,因为fsck在等待输入,您知道文件系统日志是不干净的。它会告诉你,任何修理都不干净,不及时。
您可以使用touch /forcefsck强制检查并重新启动。
编辑:您必须从e2fsck手册页面获得正确的fsck,如下所示。当您想要修复文件系统时,您还需要省略-n "no“选项。
注意,通常在挂载的文件系统上运行e2fsck是不安全的。唯一的例外是如果指定了-n选项,而没有指定-c、-l或-L选项。但是,即使这样做是安全的,如果安装了文件系统,e2fsck打印的结果也是无效的。如果e2fsck问您是否应该检查已挂载的文件系统,唯一正确的答案是“否”。
你不需要重新启动就可以做到这一点,这很方便。如果您的服务的停机时间对您有问题,请在修复此系统时将数据的副本联机到另一个存储系统上。也被称为“制定您的业务连续性计划”。
要在测试系统上看到一个真正不干净的fsck:
fio的存储基准测试echo 'c' > /proc/sysrq-triggerhttps://serverfault.com/questions/883093
复制相似问题