我在软件raid5上有一个ext4文件系统.当我开始耗尽空间时,文件系统运行“好了”好几年了.我在6x2T硬盘上有9T的音量.我开始通过执行mdadm失败,删除,添加,重建,重复过程升级到3T驱动器,直到我有一个更大的阵列.
然后我增加了luks容器,然后当我卸载并尝试resize2fs时,我收到了消息,文件系统很脏,需要e2fsck.
不假思索我刚刚做了e2fsck -y / dev / mapper / candybox,它开始喷出各种inode被删除类型的消息(记不清楚)我杀了e2fsck并试图重新安装文件系统来备份我关心的数据.当我试图在这一点上安装时,我得到:
# mount /dev/mapper/candybox /candybox
mount: wrong fs type, bad option, bad superblock on /dev/mapper/candybox,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
回顾我的旧日志,我注意到每次机器启动时文件系统都会出现此错误:
kernel: [79137.275531] EXT4-fs (dm-2): warning: mounting fs with errors, running e2fsck is recommended
因为不注意而感到羞耻:(
然后我尝试使用每个备份超级块(一个接一个)挂载,每次尝试都将其保留在我的日志中:
EXT4-fs (dm-2): ext4_check_descriptors: Checksum for group 0 failed (26534!=65440)
EXT4-fs (dm-2): ext4_check_descriptors: Checksum for group 1 failed (38021!=36729)
EXT4-fs (dm-2): ext4_check_descriptors: Checksum for group 2 failed (18336!=39845)
...
EXT4-fs (dm-2): ext4_check_descriptors: Checksum for group 11911 failed (28743!=44098)
BUG: soft lockup - CPU#0 stuck for 23s! [mount:2939]
尝试重新启动e2fsck会导致:
# e2fsck /dev/mapper/candybox
e2fsck 1.41.14 (22-Dec-2010)
e2fsck: Group descriptors look bad... trying backup blocks...
candy: recovering journal
e2fsck: unable to set superblock flags on candy
此时,我决定最好订购更多驱动器并使用ddrescue制作图像
两周后,我在.img文件中有一个luks分区的图像.
# ls -lh
total 14T
-rw-r--r-- 1 root root 14T Oct 25 01:57 candybox.img
-rw-r--r-- 1 root root 271 Oct 20 14:32 candybox.logfile
经过多次尝试使用我在网上找到的所有内容后,我无法强迫e2fsck在图像上做任何事情,所以我使用了mkfs.ext4 -L candy candybox.img -m 0 -S并且我能够只读装入脏文件系统记录和恢复960G的数据.它给出了不存在的各种目录的各种错误等等,但我能够得到一些东西.这给了我一些希望!
然后我再次运行e2fsck并且它必须重新创建根inode并提供了一个大量的纠正组计数列表,我接受了root inode创建并且拒绝其他所有内容,留下一个完全空的文件系统.再次重新运行并对所有问题表示同意,结果相同,但现在是一个“干净”但空文件系统.
extundelete给了我0个可恢复的inode.
而现在我再次陷入困境,我无法想出任何其他方法,除了像photorec这样的东西,这将给我一个绝对的混乱文件系统的大小.
我愿意重新复制原始数组中的图像并重新开始,如果我可以获得任何建议或想法以获得更多我的文件.
我希望我可以提供已经运行的命令的更详细的日志,但是输出是长滚动的,除了记录到syslog的内容以及我的内存由于发生的时间范围而没有详细说明.
任何帮助是极大的赞赏!
10月27日更新
我已经完全重新复制了图像以重新开始测试,这是迄今为止的输出.
复制过程:
[root@gamma rescue]# nbd-client 172.16.10.204 2000 /dev/nbd0
Negotiation: ..size = 14307292MB
bs=1024, sz=15002283540480 bytes
[root@gamma rescue]# cryptsetup luksOpen /dev/nbd0 candybox
Enter passphrase for /dev/nbd0:
[root@gamma mnt]# pvcreate /dev/md5
Physical volume "/dev/md5" successfully created
[root@gamma mnt]# pvscan
PV /dev/md5 lvm2 [18.19 TiB]
Total: 1 [18.19 TiB] / in use: 0 [0 ] / in no VG: 1 [18.19 TiB]
[root@gamma mnt]# vgcreate vg-rescue /dev/md5
Volume group "vg-rescue" successfully created
[roo