Ich habe ein ext4-Dateisystem auf luks over software raid5. Das Dateisystem funktionierte mehrere Jahre lang "einwandfrei", als mir langsam der Speicherplatz ausging. Ich hatte ein 9T-Volume auf 6x2T-Laufwerken. Ich begann mit dem Upgrade auf 3T-Laufwerke, indem ich den mdadm-Fehler ausführte, entfernte, hinzufügte, neu erstellte und wiederholte, bis ich ein größeres Array hatte. Ich habe dann den luks-Container vergrößert, und als ich die Bereitstellung aufhob und versuchte, die Größe von 2fs zu ändern, erhielt ich die Meldung, dass das Dateisystem verschmutzt war und e2fsck benötigte.
Ohne nachzudenken, habe ich gerade e2fsck -y / dev / mapper / candybox gemacht und es begann, alle Arten von Inode-Nachrichten zu entfernen (ich kann mich nicht genau erinnern). Ich habe e2fsck getötet und versucht, das Dateisystem erneut zu sichern, um Daten zu sichern, um die ich mir Sorgen machte. Wenn ich versuche, an dieser Stelle zu montieren, bekomme ich:
# 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
Wenn ich auf meine älteren Protokolle zurückblicke, bemerkte ich, dass das Dateisystem diesen Fehler bei jedem Start des Computers ausgab:
kernel: [79137.275531] EXT4-fs (dm-2): warning: mounting fs with errors, running e2fsck is recommended
Schade um mich, dass ich nicht aufgepasst habe :(
Ich habe dann versucht, mit jedem Backup-Superblock (nacheinander) zu mounten, und jeder Versuch hat dies in meinem Protokoll belassen:
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]
Versuche, e2fsck neu zu starten, führen zu:
# 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
Zu diesem Zeitpunkt habe ich beschlossen, am besten weitere Laufwerke zu bestellen und ein Image mit ddrescue
Now zu erstellen. Zwei Wochen später habe ich ein Image der luks-Partition in einer IMG-Datei.
# 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
Nach zahlreichen Versuchen, alles zu verwenden, was ich online finden konnte, konnte ich e2fsck nicht dazu zwingen, irgendetwas auf dem Image zu tun, also konnte ich mkfs.ext4 -L candy candybox.img -m 0 -S
das schmutzige Dateisystem schreibgeschützt ohne das Journal bereitstellen und 960 G Daten wiederherstellen. Es gab alle Arten von Fehlern von verschiedenen Verzeichnissen, die nicht existierten und so weiter, aber ich konnte einige Sachen bekommen. Was mir Hoffnung gab!
Ich habe dann e2fsck erneut ausgeführt und es musste den Root-Inode neu erstellen und eine umfangreiche Liste mit korrigierenden Gruppenzahlen erstellen. Ich habe die Erstellung des Root-Inodes akzeptiert und zu allem anderen Nein gesagt, wobei ein vollständig leeres Dateisystem übrig blieb. Wurde erneut ausgeführt und sagte Ja zu allen Fragen mit dem gleichen Ergebnis, aber jetzt ein "sauberes", aber leeres Dateisystem.
extundelete gibt mir 0 recoverable inodes found.
Und jetzt stecke ich wieder fest. Ich kann mir keine anderen Methoden einfallen lassen, als auf etwas wie photorec zu verzichten, was mir ein absolutes Chaos mit der Größe des Dateisystems beschert.
Ich bin bereit, das Bild erneut aus dem Original-Array zu kopieren und von vorne zu beginnen, wenn ich Vorschläge oder Ideen dazu bekomme, wie ich mehr von meinen Dateien zurückbekommen kann.
Ich wünschte, ich könnte detailliertere Protokolle der ausgeführten Befehle erstellen, aber die Ausgabe wird lange gescrollt, mit Ausnahme dessen, was in Syslog protokolliert wird, und mein Speicher ist aufgrund des Zeitrahmens, in dem dies aufgetreten ist, nicht so detailliert.
Jede Hilfe wird sehr geschätzt!
Update 27. Oktober
Ich habe das Bild vollständig neu kopiert, um es erneut zu testen, und hier ist die bisherige Ausgabe. Der Kopiervorgang:
[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
[root@gamma mnt]# lvcreate --size 15T --name lv-rescue vg-rescue
Logical volume "lv-rescue" created
[root@gamma mnt]# mkfs.xfs /dev/vg-rescue/lv-rescue
log stripe unit (524288 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/vg-rescue/lv-rescue isize=256 agcount=33, agsize=125828992 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=4026531840, imaxpct=5
= sunit=128 swidth=640 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@gamma mnt]# mount /dev/vg-rescue/lv-rescue rescue/
[root@gamma rescue]# ddrescue /dev/mapper/candybox candybox.img candybox.ddlog
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 0 B, errsize: 0 B, errors: 0
Current status
rescued: 13194 GB, errsize: 1807 GB, current rate: 0 B/s
ipos: 13194 GB, errors: 1, average rate: 73528 kB/s
opos: 13194 GB, time from last successful read: 44 s
^Clitting failed blocks...
Interrupted by user
## Network hung, had to try again here
[regan@gamma ~]$ sudo nbd-client -d /dev/nbd0
Disconnecting: que, disconnect, Error: Ioctl failed: Invalid argument
Exiting.
[regan@gamma ~]$ sudo nbd-client 172.16.10.204 2000 /dev/nbd0
Negotiation: ..size = 14307292MB
bs=1024, sz=15002283540480 bytes
[root@gamma rescue]# ddrescue -r 2 /dev/mapper/candybox candybox.img candybox.ddlog
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 15002 GB, errsize: 7426 kB, errors: 60
Current status
rescued: 15002 GB, errsize: 0 B, current rate: 77529 kB/s
ipos: 15002 GB, errors: 0, average rate: 69297 kB/s
opos: 15002 GB, time from last successful read: 0 s
Finished
[root@gamma rescue]# lvcreate -l 100%FREE -s -n rescue_snap /dev/vg-rescue/lv-rescue
Logical volume "rescue_snap" created
[root@gamma rescue]# cd ..
[root@gamma mnt]# mount -o remount,ro rescue/
[root@gamma mnt]# mkdir rescue_snap
[root@gamma mnt]# mount -o nouuid /dev/vg-rescue/rescue_snap rescue_snap
[root@gamma mnt]# cd rescue_snap/
[root@gamma rescue_snap]# ls
candybox.ddlog candybox.img
Das chaotisch:
[root@gamma rescue_snap]# mkfs.ext4 -L candy candybox.img -m 0 -S
mke2fs 1.41.10 (10-Feb-2009)
candybox.img is not a block special device.
Proceed anyway? (y,n) y
Filesystem label=candy
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
915668992 inodes, 3662666368 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
111776 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
2560000000
Skipping journal creation in super-only mode
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@gamma rescue_snap]# mount -o loop candybox.img /mnt2
[root@gamma rescue_snap]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 147G 138G 3.1G 98% /
tmpfs 16G 5.7M 16G 1% /dev/shm
/dev/md0 494M 199M 276M 42% /boot
/dev/sdc1 1.8T 979G 763G 57% /mnt/macmirror
/dev/sdj1 1.8T 970G 771G 56% /mnt/usbrescue
/dev/mapper/vg--rescue-lv--rescue
15T 14T 1.4T 91% /mnt/rescue
/dev/mapper/vg--rescue-rescue_snap
15T 14T 1.4T 91% /mnt/rescue_snap
/mnt/rescue_snap/candybox.img
14T 15M 14T 1% /mnt2
## Even though it says only 15M is used, I was able to rsync 960G to /mnt/usbrescue
[root@gamma rescue_snap]# cd /mnt2/
[root@gamma mnt2]# ls -l
ls: cannot access Fedora-19-x86_64-DVD: Input/output error
ls: cannot access rsync_batch: Input/output error
ls: cannot access shell1: Input/output error
ls: cannot access New Folder (2): Input/output error
ls: cannot access shell2: Input/output error
ls: cannot access revolution: Input/output error
ls: cannot access mail: Input/output error
ls: cannot access testing: Input/output error
ls: cannot access export: Input/output error
ls: cannot access ben_backup_20130903: Input/output error
total 160488672
drwxr-xr-x 2 regan regan 4096 Sep 3 20:16 100MEDIA
drwxr-xr-x 19 regan regan 4096 Sep 26 05:18 android
d?????????? ? ? ? ? ? ben_backup_20130903
-rw-rw-r-- 1 regan regan 12126 Jan 4 2013 durations.txt
d?????????? ? ? ? ? ? export
drwxrwxr-x 10 regan regan 4096 Dec 29 2012 family-pc_20121229
d?????????? ? ? ? ? ? Fedora-19-x86_64-DVD
-rw-r--r-- 1 regan regan 72116729363 Sep 30 04:39 gamma_backup_20130928.tgz
-rw-rw-r-- 1 regan regan 55606528323 Jul 27 2011 gamma_tar_20110727.tbz2
-rw-rw-r-- 1 regan regan 3839 Sep 27 2012 Good Quality2.plist
-rw-rw-r-- 1 regan regan 4663 Oct 7 2012 Good Quality3.plist
-rw-rw-r-- 1 regan regan 3852 Sep 26 2012 Good Quality.plist
drwxr-xr-x 7 regan regan 4096 Nov 13 2012 grok
d?????????? ? ? ? ? ? HardDisks
-rwxr--r-- 1 regan regan 54248 Mar 16 2013 IMAG0868.jpg
-rwxr--r-- 1 regan regan 51156 Mar 16 2013 IMAG0869.jpg
-rwxr--r-- 1 regan regan 85912 Mar 16 2013 IMAG0870.jpg
-rwxr--r-- 1 regan regan 76875 Mar 16 2013 IMAG0872.jpg
-rwxr--r-- 1 regan regan 68451 Mar 16 2013 IMAG0873.jpg
-rwxr--r-- 1 regan regan 59587 Mar 16 2013 IMAG0874.jpg
-rwxr--r-- 1 regan regan 81232 Mar 16 2013 IMAG0875.jpg
-rwxr--r-- 1 regan regan 44211 Mar 16 2013 IMAG0876.jpg
-rwxr--r-- 1 regan regan 41660 Mar 16 2013 IMAG0877.jpg
-rwxr--r-- 1 regan regan 36778 Mar 16 2013 IMAG0878.jpg
-rwxr--r-- 1 regan regan 76964 Mar 16 2013 IMAG0879.jpg
-rwxr--r-- 1 regan regan 81876 Mar 16 2013 IMAG0880.jpg
-rwxr--r-- 1 regan regan 1568002 Mar 16 2013 IMAG0953.jpg
-rwxr--r-- 1 regan regan 1548566 Mar 16 2013 IMAG0954.jpg
-rwxr--r-- 1 regan regan 1351743 Mar 16 2013 IMAG0955.jpg
-rwxr--r-- 1 regan regan 1750128 Mar 16 2013 IMAG0956.jpg
-rwxr--r-- 1 regan regan 1694378 Mar 16 2013 IMAG0957.jpg
-rwxr--r-- 1 regan regan 1277128 Mar 16 2013 IMAG0958.jpg
-rwxr--r-- 1 regan regan 1467452 Mar 16 2013 IMAG0965.jpg
-rwxr--r-- 1 regan regan 1595903 Mar 16 2013 IMAG0966.jpg
-rwxr--r-- 1 regan regan 1372444 Mar 16 2013 IMAG0967.jpg
-rwxr--r-- 1 regan regan 1698010 Mar 16 2013 IMAG0968.jpg
-rwxr--r-- 1 regan regan 1550641 Mar 16 2013 IMAG0969.jpg
-rwxr--r-- 1 regan regan 1333768 Mar 16 2013 IMAG0970.jpg
-rwxr--r-- 1 regan regan 1432347 Mar 16 2013 IMAG1010.jpg
-rwxr--r-- 1 regan regan 1668159 Mar 16 2013 IMAG1013.jpg
-rwxr--r-- 1 regan regan 1657058 Mar 16 2013 IMAG1014.jpg
-rwxr--r-- 1 regan regan 1496547 Mar 16 2013 IMAG1016.jpg
-rwxr--r-- 1 regan regan 1609156 Mar 16 2013 IMAG1017.jpg
-rwxr--r-- 1 regan regan 1604832 Mar 16 2013 IMAG1019.jpg
-rwxr--r-- 1 regan regan 2048916 Mar 16 2013 IMAG1073.jpg
-rwxr--r-- 1 regan regan 2006024 Mar 16 2013 IMAG1074.jpg
-rwxr--r-- 1 regan regan 1926686 Mar 16 2013 IMAG1075.jpg
-rw-r--r-- 1 regan regan 1583090 Jul 14 21:15 IMAG1565.jpg
-rw-r--r-- 1 regan regan 1435031 Sep 22 05:19 IMAG1762.jpg
-rw-r--r-- 1 regan regan 1531602 Sep 22 05:19 IMAG1763.jpg
-rw-r--r-- 1 regan regan 1450926 Sep 22 05:19 IMAG1764.jpg
-rw-r--r-- 1 regan regan 1336103 Sep 23 21:31 IMAG1765.jpg
-rw-r--r-- 1 regan regan 1235885 Sep 23 21:32 IMAG1766.jpg
-rw-r--r-- 1 regan regan 1224376 Sep 23 21:32 IMAG1767.jpg
-rw-r--r-- 1 regan regan 1235229 Sep 23 21:32 IMAG1768.jpg
drwxrwxr-x 2 regan regan 4096 Mar 9 2013 jakeanmal
-rw-rw-rw- 1 regan regan 115228 Oct 29 2009 jj_nas
drwx------. 2 root root 16384 Nov 8 2012 lost+found
-rw-r--r-- 1 regan regan 3123877728 Nov 6 2010 luridmirror_20090806.tar.xz
-rw-r--r-- 1 regan regan 2877033943 Mar 1 2013 macabre_20130301.tgz
d?????????? ? ? ? ? ? mail
-rw-r--r-- 1 root root 6771 Aug 10 2009 mail_mirror
-rw------- 1 regan regan 21913047552 Apr 4 2013 mallorys_hdd.vbox.img
d?????????? ? ? ? ? ? MSDN
-rw-r--r-- 1 regan regan 8572 May 10 2010 Music
d?????????? ? ? ? ? ? New Folder (2)
drwxrwxrwx 24 regan regan 4096 Mar 22 2013 onyx
drwxr-xr-x 231 regan regan 24576 Sep 30 09:29 ptp
-rwxr--r-- 1 regan regan 483328 Jan 26 2013 putty.exe
d?????????? ? ? ? ? ? revolution
-rw-r--r-- 1 root root 6272757760 Oct 16 2012 root.tar
d?????????? ? ? ? ? ? rsync_batch
drwxrwxr-x 2 regan regan 12288 Oct 6 04:09 saber
drwxrwxr-x 2 regan regan 188416 Sep 25 04:20 session_tmp
d?????????? ? ? ? ? ? shell1
d?????????? ? ? ? ? ? shell2
d?????????? ? ? ? ? ? testing
drwxrwxr-x 3 regan regan 4096 Oct 7 2012 tofix
-rwxr--r-- 1 regan regan 64991966 Jan 2 2013 VIDEO0041.mp4
[root@gamma mnt2]# cd ..
[root@gamma /]# umount /mnt2
[root@gamma /]# cd /mnt/rescue_snap/
[root@gamma rescue_snap]# e2fsck candybox.img
e2fsck 1.41.10 (10-Feb-2009)
Backing up journal inode block information.
candy contains a file system with errors, check forced.
Resize inode not valid. Recreate<y>? yes
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Root inode not allocated. Allocate<y>? yes
/lost+found not found. Create<y>? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences: -(9252--9255) <Snip a few dozen MB of text> -(3662666237--3662666238) -3662666240 -(3662666242--3662666244) -(3662666247--3662666249) -3662666253 -(3662666255--3662666256) -3662666259 -3662666262 -3662666264 -(3662666268--3662666271) -3662666276 -3662666281 -3662666285 -3662666294 -(3662666296--3662666297) -3662666301 -3662666307 -3662666309 -3662666311 -3662666313 -3662666316 -(3662666318--3662666319) -3662666324 -(3662666326--3662666328) -(3662666331--3662666332) -3662666334 -(3662666341--3662666342) -3662666344 -(3662666346--3662666347) -3662666349 -(3662666351--3662666352) -3662666354 -3662666357 -3662666362 -(3662666366--3662666367)
Fix<y>? yes
Free blocks count wrong for group #0 (23517, counted=23516).
Fix<y>?
Free blocks count wrong (3605188902, counted=3605188901).
Fix<y>? yes
Free inodes count wrong for group #0 (8191, counted=8190).
Fix<y>? yes
Directories count wrong for group #0 (1, counted=2).
Fix<y>? yes
Free inodes count wrong (915668991, counted=915668990).
Fix<y>? yes
candy: ***** FILE SYSTEM WAS MODIFIED *****
candy: 2/915668992 files (0.0% non-contiguous), 57477467/3662666368 blocks
[root@gamma rescue_snap]# mount -o loop candybox.img /mnt2
[root@gamma rescue_snap]# ls -l /mnt2
total 4
drwx------ 2 root root 4096 Oct 27 19:33 lost+found
[root@gamma rescue_snap]#
Beachten Sie, dass ich jetzt mein Backup-Image in einem Schnappschuss habe, sodass ich Theorien immer wieder ausprobieren kann, wenn jemand Ideen hat ...
ext
Guru, um dir weitere Ratschläge zu geben - du hast bereits alles getan, was ich versucht hätte. Ich hoffe sehr, dass jemand mit mehr Ahnung als ich Ihnen einige Hinweise geben kann, wohin Sie von hier aus gehen sollen.