如果“fsck -n /PATH”显示错误,那么 FS 有错误是 100% 正确的吗?

gas*_*ter 1 fsck

HOSTNAME:~ # fsck -n /FSMOUNTPOINT
fsck 1.38 (30-Jun-2005)
e2fsck 1.38 (30-Jun-2005)
Warning!  /dev/vgname/lvname is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/vgname/lvname contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Inode 12845121 ref count is 1, should be 2.  Fix? no

Inode 12845122 ref count is 1, should be 2.  Fix? no

Inode 12845123 ref count is 1, should be 2.  Fix? no

Inode 12845124 ref count is 1, should be 2.  Fix? no

Pass 5: Checking group summary information
Free blocks count wrong (38829073, counted=37828469).
Fix? no

Free inodes count wrong (22658484, counted=22658235).
Fix? no


/dev/vgname/lvname: ********** WARNING: Filesystem still has errors **********

/dev/vgname/lvname: 16972/22675456 files (0.3% non-contiguous), 6521839/45350912 blocks
fsck.ext3 /dev/vgname/lvname failed (status 0x4). Run manually!
HOSTNAME:~ # 
Run Code Online (Sandbox Code Playgroud)

操作系统:SUSE LINUX Enterprise Server 9.4

FS: EXT3 只有 rw 选项

问题:所以如果有“警告:文件系统仍然有错误”消息,我可以 100% 确定 FS 有问题,需要 umount/fsck/mount'ed?

更新:

$ tune2fs -l /dev/vgname/lvname | grep 'Filesystem state:'
Filesystem state:         clean
$
Run Code Online (Sandbox Code Playgroud)

D_B*_*Bye 5

通常的建议是不要fsck在已安装的文件系统上运行。你得到不可靠的结果 - 在fsck尝试扫描文件系统时,内核仍在读取和写入数据,所以它会出现fsck不一致。一些文件系统允许在线使用fsck,但不是全部——例如,FreeBSD 可以在使用 UFS2 文件系统时检查它的静态快照,但是您仍然不会在挂载时检查文件系统本身。

检查文件系统的最佳方法是卸载它,然后fsck在其上运行。如果它仍然报告问题,您可以采取补救措施。