Sehr seltsame Dateigröße (mehr als 600 PB) auf einem kleinen Dateisystem


21

Ich hatte eine Datei auf einem XFS-Dateisystem mit einer Größe von ca. 200 GB. Es war ein QCOW2-Image, das eine virtuelle Festplatte einer KVM-gesteuerten virtuellen Maschine enthielt. Etwas ist schief gelaufen (vielleicht war es ein Fehler von qemu-kvm, ich bin mir nicht sicher), die virtuelle Maschine war abgestürzt und jetzt habe ich eine Datei, die so aussieht:

191090708 -rwxr--r--. 1 root root 737571587400425984 Oct 10 10:03 973d10e0-a5e3-4a59-9f98-4b9b9f072ade

Es belegt also immer noch 191090708 Blöcke, lszeigt es jedoch als 656 Petabyte an.

Außerdem habe ich eine andere Datei mit der gleichen Vorgeschichte, aber auf einem anderen Dateisystem (nicht XFS, sondern GFS2):

410855320 -rwxr--r--. 1 root root 7493992262336241664 Dec 13  2014 ac2cb28f-09ac-4ca0-bde1-471e0c7276a0

Es belegt 410855320 Blöcke, lszeigt es aber als ~ 6,6 Exabyte.

Was denkst du, ist es sicher, diese Dateien zu entfernen? Vielen Dank!

PS Es ist so gut, regelmäßig Schnappschüsse machen zu lassen! :) Ich weiß nicht, was ich ohne sie machen würde.


Vielen Dank für Ihre Antworten. Natürlich kenne ich spärliche Dateien, aber die wichtigste Frage für mich ist: Ist es sicher, diese Dateien zu entfernen? Wie ich jetzt sehe, besteht die Möglichkeit, dass Daten verloren gehen, wenn die Dateisysteme beschädigt sind. Ich kann nicht sicher sein, ob die Dateisysteme in Ordnung sind, da es nicht wünschenswert ist, sie zu entfernen und zu überprüfen, aber das erste Vorkommen war vor 4 Monaten, das zweite vor - 14 Monaten, und ich hoffe, dass ich feststellen würde, dass es ein Dateisystem gibt Korruption, wenn es welche gäbe. Was denkst du?
Volodymyr Melnyk

Antworten:


31

Ich sehe zwei mögliche Gründe für Sie, diese Dateigrößen zu sehen:

  • Spärliche Dateien
  • Beschädigung des Dateisystems

Bei einigen Dateisystemen sind sparsame Dateien eine Funktion, mit der Sie eine Datei mit Löchern erstellen können. Für die Löcher wird kein physischer Platz zugewiesen. Durch Lesen über die Löcher werden NUL-Bytes vollständig zurückgegeben.

Wenn der Grund für das, was Sie sehen, spärliche Dateien sind, können Sie diese genauso sicher löschen, wie dies bei einer nicht spärlichen Datei der Fall wäre.

Wenn der Grund für das, was Sie sehen, eine Beschädigung des Dateisystems ist, ist es nicht sicher, die Dateien ohne Dateisystemprüfung zu löschen. Wenn ein Dateisystem so beschädigt ist, dass mehrere Dateien den gleichen Speicherplatz beanspruchen, werden diese Blöcke freigegeben, wenn Sie eine der beiden Dateien löschen. Sobald diese freigegebenen Blöcke wiederverwendet werden, wird die Korruption noch schlimmer.

Wenn Sie andere Symptome feststellen, die vermuten, dass das Dateisystem beschädigt ist, sollten Sie eine vollständige Überprüfung des Dateisystems erzwingen, bevor Sie die Dateien löschen.

Wenn es keine Anzeichen dafür gibt, dass das Dateisystem beschädigt ist und die Dateien spärlich zu sein scheinen, würde ich die Dateien einfach löschen, sobald ich sie nicht mehr benötige.


6

Das Problem ist die Art und Weise, wie Sie eine Dateigröße berechnen.

Ein Weg ist es, den Offset des letzten Bytes zu sehen (wie ls). Die andere Möglichkeit besteht darin, wirklich zugewiesene Blöcke zu summieren (wie du).

Was Sie sehen, wenn wahrscheinlich eine Datei mit Daten mit sehr großem Versatz geschrieben. Dies bedeutet, dass wichtige Teile Ihres Adressraums nicht zugeordnet sind. Aber du kannst es trotzdem lesen.


Vielen Dank. Was denkst du, stürzt es nicht ab, wenn ich nur diese Dateien entferne?
Volodymyr Melnyk

1
Google "Sparse-Datei" für Details.
Kondybas
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.