linux系统fsck.ext4,linux – 如何在fsck之后恢复损坏的ext4文件系统?

我在软件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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值