Ende letzter Woche bemerkte einer meiner Kollegen etwas Seltsames auf einem unserer gemeinsam genutzten Computerserver.
Wir haben ein Verzeichnis, das ls -l
eine 132 G große Datei enthält.
Allerdings df -h
zeigt das Ausführen, dass der gesamte Speicherplatz auf der Festplatte 128 G beträgt. Zusätzlich du -h --max-depth=1
meldet das Ausführen auf dem Stamm des Laufwerks auch 128 G für.
Anfangs habe ich mich gefragt, ob dieses Problem möglicherweise auf offene Dateihandles oder Ähnliches zurückzuführen ist, die dazu führen, dass diese Binärdateien unterschiedliche Informationen melden. Ich habe jedoch versucht, die Festplatte auszuhängen und erneut einzuhängen, und alle Binärdateien melden die gleichen Ergebnisse wie zuvor.
Um ein paar weitere Informationen zur Konfiguration des Laufwerks zu geben:
- Das Volume wird mit EXT4 und LUKS-Verschlüsselung formatiert.
- Die Festplatte wird nicht über NFS oder ähnliches freigegeben.
- Ich habe die betreffende Datei überprüft und es scheint, dass keine Verknüpfung besteht.
- Beim Unmounten und erneuten Mounten des Datenträgers habe ich durch Ausführen auf dem Datenträger eine Datenträgerprüfung erzwungen
fsck -f
, und es wurden keine Probleme zurückgegeben. - Der Server, auf dem sich die Festplatte befindet, ist kein Virtualisierungshost und führt Ubuntu 14.04 als Betriebssystem aus.
Antwort1
Ist Ihr Server ein Virtualisierungshost?
Unterschiedliche reale Datei- und Speicherplatzgrößen sind ein normales Verhalten bei dynamisch expandierenden virtuellen Festplatten. Diese Festplatten haben unterschiedliche reale Dateigrößen und Header-Dateigrößendaten
Beispiel:
Möglicherweise verwenden Sie virtuelle QEMU-Datenträger (Erweiterung qcow2 oder andere), die Sie wie folgt finden:
find / -regex '.*\.qcow.*$'
/var/lib/vz/images/105/vm-105-disk-1.qcow2
...
Überprüfen wir vm-105-disk-1.qcow2
die Größe mit stat
:
stat vm-105-disk-1.qcow2
File: vm-100-disk-1.qcow2
Size: 68745560064
79728541696 – ist ungefähr 64 GB groß
Überprüfen Sie mit wc
:
wc -c <vm-105-disk-1.qcow2
68745560064
Das gleiche Ergebnis... Überprüfen Sie mit du
:
du -sh vm-105-disk-1.qcow2
15G vm-105-disk-1.qcow2
Nur 15 GB! Überprüfen wir es mit qemu-img
util:
qemu-img info vm-105-disk-1.qcow2
image: vm-105-disk-1.qcow2
file format: qcow2
virtual size: 64G (68719476736 bytes)
disk size: 14G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
Achten Sie auf diese beiden Zeilen, dann sollte alles klar sein:
virtual size: 64G (68719476736 bytes)
disk size: 14G
Wenn Ihr Server kein Virtualisierungshost ist, lesen Sie diese Themen: