
Ich habe eine Amazon AWS-Instanz mit einem Speicher, der auf /dev/xvdb gemountet ist, was das „übliche“ /mnt/build_tmp ist. Es ist etwa 70 GB groß (genau 66.946.696 kB). Beim Versuch, darauf zu schreiben, war es anscheinend voll. Das schien unwahrscheinlich, also habe ich nachgesehen und es waren etwa 11 GB an Dateien darauf (laut „du“), aber /mnt (das nur /mnt/build_tmp enthält) war zu 100 % voll (laut „df“). Ich habe alle Dateien (etwa 6 GB) bis auf eine gelöscht (das war eine große 5,5 GB große Tar-Datei) und jetzt habe ich etwa 6 GB freien Speicherplatz. Genau das ist im Moment die Situation:
ubuntu@ip-172-31-60-67:/mnt$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 8115168 6083076 1596816 80% /
none 4 0 4 0% /sys/fs/cgroup
udev 7689964 12 7689952 1% /dev
tmpfs 1540092 780 1539312 1% /run
none 5120 0 5120 0% /run/lock
none 7700456 72 7700384 1% /run/shm
none 102400 8 102392 1% /run/user
/dev/xvdb 66946696 57365136 6174200 91% /mnt
ubuntu@ip-172-31-60-67:/mnt$ du
5773532 ./build_tmp
du: cannot read directory ‘./lost+found’: Permission denied
16 ./lost+found
5773552 .
ubuntu@ip-172-31-60-67:/mnt$ ls
build_tmp/ lost+found/
ubuntu@ip-172-31-60-67:/mnt$ ll build_tmp/
total 5.6G
drwxr-xr-x 2 ubuntu 4.0K Sep 18 18:33 ./
drwxr-xr-x 4 root 4.0K Aug 25 18:43 ../
-rw-rw-r-- 1 ubuntu 5.6G Sep 17 00:38 archive.tar.gz
Kann das jemand erklären? So etwas habe ich noch nie gesehen. Ich denke, dass es irgendwie ein Ergebnis von AWS ist, aber es könnte auch etwas Allgemeineres sein.
Auf jeden Fall muss ich die fehlenden 50 GB+ Speicherplatz auf der Festplatte wiederherstellen.
[P.S.: Ich habe die Superuser-Frage „Warum ist df anders als du“ bereits geprüft, sie schien für mein Problem nicht relevant.]
Antwort1
Es handelt sich hierbei um eine Variante des hier beschriebenen Problems:
Die dort beschriebene Lösung war die Lösung für dieses Problem.
Wenn eine gelöschte Datei noch von einem Prozess geöffnet ist, wird der Speicherplatz erst freigegeben, wenn der Prozess die Datei schließt (oder beendet wird). Wenn Sie den Prozess, der eine Datei offen hält, nicht identifizieren können, hilft ein Neustart, da dadurch alle laufenden Prozesse (und damit alle geöffneten Dateien) geschlossen werden.
Nachdem ich den offenen Prozess gefunden und beendet hatte, war der Speicherplatz wiederhergestellt.