Pourquoi du et df ne sont-ils pas d'accord sur le stockage éphémère AWS?

J'ai une instance Amazon AWS avec un stockage monté sur / dev / xvdb, qui est le "habituel" / mnt / build_tmp. C'est environ 70 Go (exactement 66,946,696kB). En essayant de l'écrire, il était apparemment plein. Cela semblait peu probable, alors j'ai vérifié et il y avait environ 11 Go de fichiers sur celui-ci (selon 'du') mais / mnt (qui contient uniquement / mnt / build_tmp) était 100% complet (selon 'df'). J'ai supprimé tous les fichiers (environ 6 Go), sauf un (qui était un grand fichier tar de 5,5 Go) et maintenant j'ai environ 6 Go d'espace libre. Précisément, en ce moment, c'est la 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 

Quelqu'un peut-il expliquer cela? Je n'ai jamais vu quelque chose comme ça avant. Je pense que c'est en quelque sorte un résultat d'AWS, mais il pourrait être quelque chose de plus générique.

Dans tous les cas, j'ai besoin de récupérer les 50 Go d'espace perdu sur le disque.

[Ps J'ai déjà vérifié la question du superutilisateur "pourquoi est df différent de du", cela n'a pas semblé pertinent pour mon problème.]

Cela se révèle être une variante du problème décrit ici:

https://serverfault.com/questions/454194/disk-space-keeps-filling-up-on-ec2-instance-with-no-apperent-files-directories

La solution décrite était la solution à ce problème.

Si un fichier qui a été supprimé est encore ouvert par une procédure, l'espace ne sera pas récupéré jusqu'à ce que le processus ferme le fichier (ou est tué). Si vous ne pouvez pas identifier le processus qui contient un fichier ouvert, un redémarrage aidera à fermer tous les processus en cours (et fermer tous les fichiers ouverts).

Une fois que j'ai localisé le processus ouvert et l'ai tué, l'espace a été récupéré.