我制作了一个存在许多错误的 ext4 卷的副本,并对其进行了 fscked,然后进行了广泛的比较,以确保在此过程中没有丢失数据。由于文件名中存在各种编码,因此我决定按 inode 而不是按文件名进行工作,并使用 debugfs 和 md5sum 计算每个非归零 inode 的控制和(其中一些是非归零但标记为空闲)。然后我通过索引节点将结果与文件(和目录等)列表连接起来,并确保两个文件系统上的内部连接相同。
然而,令我大吃一惊的是,我还在剩余部分(外连接少内连接)中发现了 3 个索引节点,这些索引节点似乎是在修复过程中分配的(它们标记used
在fscked
副本上,而不是在原始文件上和free
原始errored
卷上) ),我不知道它们与什么相关:
root:~# for F in md0p2.nomatch md0p99.nomatch ; do grep used $F; done | sort -n | uniq -u | less
279838261 used 5e8519e3eea8bc75915e03caa75dadf9
279838289 used e43d2402bf4355df67a59ac5220711d4
279838348 used d41d8cd98f00b204e9800998ecf8427e
root:~# egrep '279838261|279838289|279838348' md0p2.md5.saved md0p99.md5.saved
md0p2.md5.saved:(279838261, free, 'd41d8cd98f00b204e9800998ecf8427e')
md0p2.md5.saved:(279838289, free, 'd41d8cd98f00b204e9800998ecf8427e')
md0p2.md5.saved:(279838348, free, 'a674e48d26a9c2827d6de2791b420b77')
md0p99.md5.saved:(279838261, used, '5e8519e3eea8bc75915e03caa75dadf9')
md0p99.md5.saved:(279838289, used, 'e43d2402bf4355df67a59ac5220711d4')
md0p99.md5.saved:(279838348, used, 'd41d8cd98f00b204e9800998ecf8427e')
root:~# debugfs /dev/md0p99
debugfs 1.44.5 (15-Dec-2018)
debugfs: ncheck <279838261>
ncheck: Bad inode - <279838261>
debugfs: ncheck <279838289>
ncheck: Bad inode - <279838289>
debugfs: ncheck <279838348>
ncheck: Bad inode - <279838348>
debugfs: q
知道我还能尝试调查什么吗?
编辑(回答伊卡洛斯的问题):
debugfs: inode_dump <279838261>
0000 8967 075e 545e 612a 6127 db67 c53d 0ef4 .g.^T^a*a'.g.=..
0020 6c2a 636c dec3 cb60 c670 0000 6639 6639 l*cl...`.p..f9f9
0040 0000 0000 8975 9a50 6a70 6b6d 6d2f a466 .....u.Pjpkmm/.f
0060 f27f a7b0 6e6a 7663 7760 ed6a fa2d e9e0 ....njvcw`.j.-..
0100 7d6e 715d 6736 aa68 e73d bde1 632a 767b }nq]g6.h.=..c*v{
0120 736c bf39 e477 bc08 785b 4468 252f aa69 sl.9.w..x[Dh%/.i
0140 ef72 869e 695f 665f 2d6d e370 b039 8825 .r..i_f_-m.p.9.%
0160 366c 2c72 6c7a eb70 b97f f033 6962 2a6f 6l,rlz.p...3ib*o
0200 2a20 b82c a83e eec8 7b61 3f3f 3e6e f46e * .,.>..{a??>n.n
0220 be4f d287 2d22 2a6f 3e6b ac61 ae4b efd9 .O..-"*o>k.a.K..
0240 2560 6376 6220 ae61 f477 503f 6477 6b76 %`cvb .a.wP?dwkv
0260 6a66 ec2a aa76 5b2f 222d 3963 3e68 ac55 jf.*.v[/"-9c>h.U
0300 b73e 27c7 2562 6d6c 775a eb7e da2b 528e .>'.%bmlwZ.~.+R.
0320 7339 6c77 6f65 bf39 8a6a c893 257c 3867 s9lwoe.9.j..%|8g
0340 386a ac7d 8b61 96b2 6739 3f3f 6536 e12a 8j.}.a..g9??e6.*
0360 cd35 a957 6e39 612c 7b24 e92e d334 ded7 .5.Wn9a,{$...4..
debugfs: stat <279838261>
invalid inode->i_extra_isize (8234)
Inode: 279838261 Type: block special Mode: 03611 Flags: 0x0
Generation: 1600544617 Version: 0x61ac6b3e:509a7589
User: 2142854663 Group: 871395526 Project: -638628946 Size: 711024212
File ACL: 124156513578285
Links: 0 Blockcount: 134605238057318
Fragment: Address: 1915513910 Number: 0 Size: 0
ctime: 0xf40e3dc5:c8ee3ea8 -- Mon Aug 26 16:12:05 1963
atime: 0x67db2761:6ef46e3e -- Wed Jun 2 11:18:25 2297
mtime: 0x6c632a6c:3f3f617b -- Thu Dec 6 14:09:00 2435
crtime: 0x87d24fbe:6f2a222d -- Mon Mar 17 23:12:14 2042
dtime: 0x60cbc3de:(c8ee3ea8) -- Thu Jun 17 23:51:26 2021
Size of extra inode fields: 8234
Device major/minor number: 112:106 (hex 70:6a)
debugfs: inode_dump <279838289>
0000 7744 2a7d b82c a7b5 8b36 2c65 746e 1b14 wD*}.,...6,etn..
0020 1433 61e6 dec3 cb60 2e08 0000 237d 1529 .3a....`....#}.)
0040 0000 0000 2565 2422 0f38 3b3a 5fbb 5edf ....%e$".8;:_.^.
0060 786c 6b71 280c 6232 2c63 bfdc af63 762c xlkq(.b2,c...cv,
0100 4e30 4424 792b 3bad 8b60 246f 3d65 7202 N0D$y+;..`$o=er.
0120 3d10 8e4a e205 3065 772e 6628 5862 2e86 =..J..0ew.f(Xb..
0140 71ba 06c6 5768 2c6e 6106 2c3b c02d f801 q...Wh,na.,;.-..
0160 2425 3e64 2422 4028 72c1 76a3 3e27 7a2c $%>d$"@(r.v.>'z,
0200 6e2e 621d 252c f369 a66a e56e 2d79 7061 n.b.%,.i.j.n-ypa
0220 1c3e 3d34 20a9 6d20 7f5f 605f 7941 627e .>=4 .m ._`_yAb~
0240 cc66 e943 8d62 6376 6a22 4e29 3882 7398 .f.C.bcvj"N)8.s.
0260 67af 6a2c 766a 6a1b 7e67 b668 59c3 7e76 g.j,vjj.~g.hY.~v
0300 716d 7146 1e36 4a61 80b8 223f 643f 6146 qmqF.6Ja.."?d?aF
0320 346d 2672 14a4 6f2a 5160 3805 6f63 8f65 4m&r..o*Q`8.oc.e
0340 e32a 7e77 6766 2d0c 3375 0b6f 6799 7e68 .*~wgf-.3u.og.~h
0360 6e23 3e05 6d60 6847 0825 562a 676a 254e n#>.m`hG.%V*gj%N
debugfs: stat <279838289>
invalid inode->i_extra_isize (11886)
Inode: 279838289 Type: directory Mode: 02167 Flags: 0x0
Generation: 1848404055 Version: 0x5f605f7f:22246525
User: -1049461462 Group: -1552545746 Project: 2120368505 Size: -1247335240
File ACL: 44256335758945
Links: 0 Blockcount: 37538703441187
Fragment: Address: 1681794340 Number: 0 Size: 0
ctime: 0x141b6e74:69f32c25 -- Fri Oct 16 18:36:04 2116
atime: 0x652c368b:6170792d -- Thu Nov 22 02:27:39 2159
mtime: 0xe6613314:6ee56aa6 -- Fri Aug 1 15:37:24 2228
crtime: 0x343d3e1c:206da920 -- Thu Oct 9 22:27:08 1997
dtime: 0x60cbc3de:(69f32c25) -- Mon Jul 25 06:19:42 2157
Size of extra inode fields: 11886
BLOCKS:
(0):976959503, (1):3747527519, (2):1902865528, (3):845286440, (4):3703530284, (5):745956271, (6):608448590, (7):2906336121,
[...]
(1033):3110968555, (1034):1757067253, (1035):264071090, (DIND):2251186776, (TIND):3322329713
TOTAL: 1038
debugfs: inode_dump <279838348>
0000 e17b 1d1a 0000 0000 644c 5977 c847 5cd8 .{......dLYw.G\.
0020 6a2a 6466 da5f cc60 f122 0000 0000 0000 j*df._.`."......
0040 0000 0000 f020 8cb1 3076 6776 7648 5d24 ..... ..0vgvvH]$
0060 ee73 a2ee 7d6e 715d 4270 1d74 f561 e55d .s..}nq]Bp.t.a.]
0100 7f7d 7267 2d53 5d70 e57c 150e 6765 7667 .}rg-S]p.|..gevg
0120 3e5c 466a 1f7a 55fb 652c 632b 784c 5276 >\Fj.zU.e,c+xLRv
0140 5b6c 1462 636d 712c 0000 0000 0000 0000 [l.bcmq,........
0160 4160 2b79 0000 4124 b22d c781 6567 766b A`+y..A$.-..egvk
0200 1c00 1b65 e073 a2e7 7961 7677 7154 1363 ...e.s..yavwqT.c
0220 bd7a faca 414e 2a63 2f59 1f66 e65e 5eb1 .z..AN*c/Y.f.^^.
0240 3b28 2333 2a47 0863 b37a 1b0c 7c2c 602c ;(#3*G.c.z..|,`,
0260 495e 1f62 b57e 5a3a 626b 6c2a 6116 572d I^.b.~Z:bkl*a.W-
0300 c438 54d8 7f6c 6b71 2d68 4165 e674 46ad .8T..lkq-hAe.tF.
0320 2d22 6574 6949 6c4f f338 6db0 3b59 2e66 -"etiIlO.8m.;Y.f
0340 580b 6e28 d223 c39d 6a2d 7f2e 7752 5a77 X.n(.#..j-..wRZw
0360 8672 fdfd 2366 2c5b 6013 4872 cf7d aec9 .r..#f,[`.Hr.}..
debugfs: stat <279838348>
debugfs: Inode: 279838348 Type: bad type Mode: 05741 Flags: 0x0
Generation: 745631075 Version: 0x661f592f:b18c20f0
User: 766646813 Group: -2117655823 Size: 0
File ACL: 39861591474176
Links: 0 Blockcount: 0
Fragment: Address: 2032885825 Number: 0 Size: 0
ctime: 0xd85c47c8:e7a273e0 -- Sat Dec 4 19:24:08 1948
atime: 0x77594c64:63135471 -- Fri Jul 21 14:17:40 2169
mtime: 0x66642a6a:77766179 -- Tue Jul 15 18:23:06 2160
crtime: 0xcafa7abd:632a4e41 -- Mon Nov 29 13:04:13 2077
dtime: 0x60cc5fda:(e7a273e0) -- Fri Jun 18 10:56:58 2021
Size of extra inode fields: 28
BLOCKS:
(0):1986491952, (1):610093174, (2):4003623918, (3):1567714941, (4):1948086338, (5):1575313909, (6):1735556479, (7):1885164333,
[...]
(306179):592454480, (306180):4793153, (306181):25299970, (306182):2013266074, (306183):394777, (TIND):1645505627, (DIND):3120627712
TOTAL: 3082