我的 LVM 设备上有一个文件系统,该文件系统发生磁盘故障。一些数据丢失(因为 4 个有数据的磁盘中有一个磁盘不见了)。我正在尝试挂载此文件系统,以便尽可能多地恢复数据(查看其他问题)我正在运行fsck
它,它报告许多像这样:
Inode 40226639 block 3801089 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3801090 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3833856 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3833857 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3833858 conflicts with critical metadata, skipping block checks.
Inode 40226639 block 3866624 conflicts with critical metadata, skipping block checks.
然后做一些“修复”文件系统问题的工作。但随后 fsck 停止了。如果我再次运行它,我可以看到很多类似的错误,其中一些来自高 inode/block 编号,然后它又做了一些事情。所以 fsck 正在改变某物。我让它循环运行,它正在(缓慢地)检查磁盘。从 fsck 进度条中,我可以看到它正在检查磁盘。
Inode 53049266 has INLINE_DATA_FL flag but extended attribute not found. Truncate? yes
Inode 53049266 is in use, but has dtime set. Fix? yes
Inode 53049266 has imagic flag set. Clear? yes
Inode 53049266 has a extra size (25474) which is invalid
Fix? yes
e2fsck: aborted
/dev/myvolgroup/mylv: ***** FILE SYSTEM WAS MODIFIED *****
但是每次运行时,它都必须处理相同的开始,直到到达“新”内容。我怎样才能让 fsck 不死机,以便它继续运行而不是重复工作?或者,如果这些 inode/块损坏,我能否以某种方式“清除”/“重置”/“删除”它们,以便它不会打印这些错误消息(并希望运行得更快)?
我正在运行的命令是这样的:
e2fsck -f -y -C0 /dev/myvolgroup/mylv
文件系统大小约为 5TB,并且有一个ext4
文件系统。Debian 9.11 上的 Linux 内核 4.9。我知道我丢失了一些数据,但我想从这个磁盘中获取尽可能多的数据。数据可以替换,但不容易。我没有备份。机器有 3.8GB 的 RAM 和 650GB 的交换空间。运行时可用内存很少,但交换空间几乎不使用。这是个问题吗?
更新按照建议的解决方案,我尝试-p
并得到了这个输出,所以我不认为这是解决方案
# e2fsck -p /dev/videos_volgroup/videos_lvm |& sed "s|/dev/videos_volgroup/videos_lvm|/dev/myvolgroup/mylv|g"
/dev/myvolgroup/mylv contains a file system with errors, check forced.
/dev/myvolgroup/mylv: Resize inode not valid.
/dev/myvolgroup/mylv: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options)
更新 #1我已经放弃并且接受数据丢失的事实。
答案1
使用-p
.
来自手册页:
Automatically repair ("preen") the file system. This option will cause e2fsck to automatically fix any filesystem problems that can be safely fixed without human intervention. If e2fsck discovers a problem which may require the system administrator to take additional corrective action, e2fsck will print a description of the problem and then exit with the value 4 logically or'ed into the exit code. (See the EXIT CODE section.)