Speichern ext (4?) - Dateisysteme neuere Daten in einer Weise, die anfälliger für Korruption ist?

7

Ich hatte vor kurzem ein beschädigtes ext4-Dateisystem , das diese Fehler auslöste:

kubuntu@kubuntu:~$ sudo mount -t ext4 /dev/sdc2 c1
mount: wrong fs type, bad option, bad superblock on /dev/sdc2,
  missing codepage or helper program, or other error
  In some cases useful info is found in syslog - try
  dmesg | tail  or so

kubuntu@kubuntu:~$ sudo fsck.ext4 -v /dev/sdc2
e2fsck 1.42.5 (29-Jul-2012)
    fsck.ext4: Attempt to read block from filesystem resulted in short read while trying to open /dev/sdc2
Could this be a zero-length partition?

kubuntu@kubuntu:~$ dmesg | tail
[ 2684.532855] Descriptor sense data with sense descriptors (in hex):
[ 2684.532858]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[ 2684.532876]         05 3f c8 b0 
[ 2684.532885] sd 5:0:0:0: [sdc]  
[ 2684.532893] Add. Sense: Unrecovered read error - auto reallocate failed
[ 2684.532898] sd 5:0:0:0: [sdc] CDB: 
[ 2684.532902] Read(10): 28 00 05 3f c8 b0 00 00 08 00
[ 2684.532917] end_request: I/O error, dev sdc, sector 88066224
[ 2684.532927] Buffer I/O error on device sdc2, logical block 22
[ 2684.532973] ata6: EH complete

Nach dem Wiederherstellen der Partition mit e2fsck -f -b 32768habe ich festgestellt, dass die ältesten Dateien auf der Festplatte größtenteils erhalten blieben und dass die meisten nicht wiederhergestellten Dateien die neuesten Dateien und somit ohne Sicherungen waren.

Ist es die Eigenschaft, die neuesten Dateien zu verlieren und die ältesten Dateien zu erhalten, die ext4 eigen sind, oder war dies nur Pech? Gibt es Dateisysteme, die bei Beschädigung dazu neigen, die älteren Dateien zu verlieren und die neueren zu erhalten?

dotancohen
quelle
1
Kam hier von Ihrem ursprünglichen Beitrag; enttäuscht zu sehen, dass es noch keine Antwort gibt. Ich bin in einem sehr ähnlichen Boot!
EnemyBagJones
Wie alt ist "alt" und wie neu ist "neu"?
Kusalananda
Wenn es sich um einen E / A-Fehler vom Laufwerk selbst handelt, hat dies wahrscheinlich nichts mit dem Dateisystem zu tun. Und wenn es zufällig einen Abschnitt des Laufwerks gibt, der fehlerhaft und unbrauchbar ist, werden Sie ihn sehen, wenn Sie versuchen, ihn zu verwenden, dh mit neueren Dateien ...
ilkkachu
1
@Kusalananda: Die "alten" Dateien sind die Dateien, die sich die meiste Zeit auf der Festplatte befanden. In meinem speziellen Fall waren es wahrscheinlich 2-3 Jahre. Die "neuen" Dateien sind Dateien, die sich am wenigsten auf der Festplatte befanden, weniger als drei Monate.
Dotancohen
3
Wenn auf Ihrem Laufwerk oder Dateisystem ein Problem beim Schreiben (aber nicht beim Lesen) auftritt, wird dies an den Teilen angezeigt, die Sie schreiben, nachdem das Problem aufgetreten ist. Also 1) überprüfen Sie Ihr Laufwerk auf Fehler (smartmontools) und 2) wenn SMART in Ordnung ist, überprüfen Sie das Dateisystem (fsck).
Xenoid

Antworten:

2

Teilantwort:

Der Superblock in Ihrem Dateisystem war nicht mehr lesbar. Der Superblock ist der wichtigste Block, da er Informationen zum Aufbau des Dateisystems enthält.

Alle neueren Dateisysteme verwenden ein sogenanntes Journal : Neue oder geänderte Blöcke werden zuerst in einen zusammenhängenden Bereich geschrieben und ersetzen schließlich die Blöcke im "normalen" Bereich. Dies erleichtert die Wiederherstellung: Das Wiederherstellungsprogramm überprüft das Journal, überprüft, welche Transaktionen vor dem Fehler abgeschlossen wurden, und kann dann das Dateisystem von der letzten erfolgreichen Transaktion in einen konsistenten Zustand zurückversetzen. Dies bedeutet auch, dass die neuesten Änderungen nach einer Wiederherstellung verloren gehen. In der Regel handelt es sich jedoch nur um kleine Änderungen.

Es ist schwierig zu sagen, was in Ihrem Fall passiert ist, da Sie keine Informationen über den Ablauf des Wiederherstellungsprozesses gegeben haben. Das Dateisystem enthält Kopien des Superblocks. Sie sollten also in der Lage sein, eine Kopie anstelle der beschädigten zu verwenden, von der Kopie aus auf das Journal zuzugreifen und das Dateisystem in nahezu demselben Zustand wie vor dem Problem wiederherzustellen.

Wie Sie sagten, haben Sie einige neuere Dateien verloren. Ich vermute, dass das Wiederherstellungsprogramm den Superblock entweder nicht wiederherstellen konnte und daher einige Annahmen getroffen hat. Aus diesem Grund oder aus einem anderen Grund konnte das Journal nicht gefunden werden Sie haben alle Änderungen im Journal verloren, anstatt nur die letzte unvollständige Transaktion.

Im Allgemeinen können neuere Dateisysteme wie ext4 besser wiederhergestellt werden (möglicherweise mit manuellen Eingaben während der Wiederherstellung) als ältere Dateisysteme wie ext2 oder FAT. Wenn diese beschädigt werden, verlieren Sie alles, was beschädigt wurde. In aufgezeichneten Dateisystemen ist es fast immer möglich, in einen konsistenten Zustand zurückzukehren, der nicht zu weit vom Zustand entfernt ist, in dem das Problem aufgetreten ist. Die Antwort auf die Frage im Thema lautet also "überhaupt nicht, ganz im Gegenteil".

Mithilfe von Mount-Optionen können Sie beeinflussen, wie oft und auf welche Weise das Journal geschrieben und Transaktionen festgeschrieben werden, sodass Sie erhöhte Wiederherstellungschancen gegen Leistung eintauschen können.

dirkt
quelle