断电后,LV 内的 EXT4 fs 的超级块损坏,无法安装。 LV 均位于同一物理磁盘和 VG 内。磁盘似乎没有损坏,只有文件系统损坏。
几天前,我遇到了另一次中断,其中另一个不太重要的 fs(也是 EXT4)也发生了同样的事情。我还有许多其他 LV,其中大多数是 EXT4,并且在强行关闭之前所有 LV 仍然已安装。虽然只有这两个被腐蚀了。
到目前为止,我在两个损坏的文件系统之间以及两次中断之间看到的唯一模式是:
- 两人都是几乎唯一在关闭之前在线调整了 LV(和文件系统)大小的节点。 Lvresize 和 resize2fs 已相应完成。
- 两者都是 ext4,还有第三个文件系统,在上次中断之前也实时调整了大小,这个文件系统没有损坏,但它是唯一的 btrfs 文件系统。
我的合理猜测是,它可能与强制关闭有关,没有卸载,不让有关实时调整大小的一些信息更新?两个文件系统在调整大小之前和之后都运行良好,其中中断是引爆器。
我所做的一些测试是:
须藤挂载 /dev/vg00/dshark /mnt
mount: /mnt: cannot mount; probably corrupted filesystem on /dev/mapper/vg00-dshark.
dmesg(1) may have more information after failed mount system call.
尝试挂载后,dmesg 返回:
[18041.892096] EXT4-fs (dm-22): VFS: Found ext4 filesystem with invalid superblock checksum. Run e2fsck?
sudo e2fsck /dev/vg00/dshark
e2fsck 1.46.5 (30-Dec-2021)
e2fsck: Bad magic number in super-block while trying to open /dev/vg00/dshark
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
or
e2fsck -b 32768 <device>
/dev/vg00/dshark contains a ext4 file system
我还尝试检查超级块应该存储在哪里:
sudo mke2fs -n /dev/vg00/dshark
mke2fs 1.46.5 (30-Dec-2021)
/dev/vg00/dshark_snap contains a ext4 file system
Proceed anyway? (y,N) y
Creating filesystem with 14155776 4k blocks and 3538944 inodes
Filesystem UUID: 0c642ec1-e5e1-41ab-95ff-8f9054058fa6
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
尝试 e2fsck -b {超级块} 与任何这些值都会得到与上面相同的结果。好吧,除了一种情况:
须藤 e2fsck -b 884736 /dev/vg00/dshark_snap
e2fsck 1.46.5 (30-Dec-2021)
e2fsck: Attempt to read block from filesystem resulted in short read while trying to open /dev/vg00/dshark_snap
Could this be a zero-length partition?
恢复文件系统的任何帮助,或者最坏的情况抢救,非常感谢!找出其原因对于防止进一步的腐败也非常有帮助。如果需要更多信息,我会更新问题。谢谢!