Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 12 章 文件系统检查

可以使用特定于文件系统的用户空间工具检查文件系统的一致性,并选择性地修复文件系统。这些工具通常被称为 fsck 工具,其中 fsck文件系统检查 的简化版本。
注意
这些文件系统检查器仅确保文件系统间的元数据一致性;他们不知道文件系统中包含的实际数据,并且不是数据恢复工具。
文件系统不一致的原因可能有多种,包括但不限于硬件错误、存储管理错误和软件错误。
在现代元数据日志文件系统变得常见之前,每当系统崩溃或断电时,都需要检查文件系统。这是因为文件系统更新可能会中断,从而导致状态不一致。因此,通常在启动时在 /etc/fstab 中列出的每个文件系统都运行文件系统检查。对于日志文件系统而言,这通常是非常短的操作,因为即使崩溃,文件系统的元数据日志也会确保一致性。
但是,有时会出现文件系统不一致或损坏的情况,即使对于日志文件系统也是如此。发生这种情况时,必须使用文件系统检查程序修复文件系统。以下提供了执行此流程时的最佳实践和其他有用信息。
重要
除非计算机不引导,否则红帽不推荐这样做,文件系统非常大,或者文件系统位于远程存储中。通过将 /etc/fstab 中的第 6 字段设置为 0,可以在引导时禁用文件系统检查。

12.1. fsck 的最佳做法

通常,运行文件系统检查和修复工具至少可以自动修复发现的一些不一致情况。在某些情况下,如果无法修复严重损坏的索引节点或目录,可能会将其丢弃。可能会对文件系统进行大量更改。要确保不会永久进行意外或不必要的更改,请执行以下步骤:
空运行
大多数文件系统检查器都有一种操作模式,用于检查但不会修复文件系统。在此模式下,检查器会打印发现的任何错误以及实际修改文件系统的操作。
注意
稍后一致性检查阶段可能会打印额外的错误,因为它发现了在修复模式下运行时在早期阶段可以解决的不一致问题。
首先在文件系统镜像上操作
大多数文件系统支持创建 元数据镜像,即仅包含元数据的文件系统的稀疏副本。由于文件系统检查器仅在元数据上运行,此类镜像可用于对实际文件系统修复执行空运行,以评估实际要进行的更改。如果这些更改可以接受,则可以对文件系统本身进行修复。
注意
严重损坏的文件系统可能会导致元数据映像创建出现问题。
保存文件系统镜像以进行支持调查
如果因为软件漏洞而导致损坏,则预修复文件系统元数据映像通常有助于支持调查。预修复镜像中存在的损坏模式有助于进行根本原因分析。
仅在卸载的文件系统中操作
文件系统修复必须只在卸载的文件系统中运行。工具必须具有文件系统的完全访问权限,否则可能导致进一步损坏。大多数文件系统工具在修复模式中强制实施此要求,虽然有些工具仅在挂载的文件系统中支持仅检查模式。如果在挂载的文件系统上运行仅检查模式,则可能会发现在卸载的文件系统中运行时无法找到的可疑错误。
磁盘错误
文件系统检查工具无法修复硬件问题。如果修复要成功运行,文件系统必须完全可读写。如果文件系统因为硬件错误而损坏,则必须首先将该文件系统移至好磁盘,例如在 dd(8) 实用程序中。