J'utilise RHEL4 avec LVM2 dessus. Parfois, même après avoir supprimé des fichiers volumineux de plus d'un Go, la taille de la partition n'est pas mise à jour lors de l'utilisation de la df
commande.
-bash-3.00$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/sys-root 3.9G 1.4G 2.3G 39% /
/dev/cciss/c0d0p1 251M 19M 219M 8% /boot
/dev/mapper/sys-home 250G 125G 113G 53% /home
/dev/mapper/sys-tmp 3.9G 41M 3.7G 2% /tmp
/dev/mapper/sys-var 3.9G 3.6G 98M 98% /var
Mais quand je vérifie en utilisant du, cela montre la bonne taille
-bash-3.00$ sudo du -sh /var/
179M /var/
vous pouvez voir là que la sortie df indique que la partition / var doit être de 3,6 Go, mais le du montre que ce n'est que 179 Mo.
Maintenant, le problème est que ni la synchronisation ni la sonde de partie ne mettent à jour les informations. Mais le redémarrage de l'hôte résoudra certainement le problème. Mais comme il s'agit d'un serveur de production, je ne peux pas le redémarrer. Existe-t-il un moyen de mettre à jour les informations du disque manuellement sans redémarrer l'hôte?
la source
lsof
pour le découvrir. Used / avail n'est pas stocké dans la table de partition, partprobe (ou tout type de partition relue) n'aidera pas du tout.Réponses:
Lorsqu'un fichier est supprimé / supprimé / non lié, s'il est toujours maintenu ouvert par n'importe quel processus, seule l'entrée de répertoire du fichier est effacée, pas les données du fichier. Lorsque le fichier est complètement fermé par tous les processus, les données sont renvoyées au pool d'espace libre. C'est une fonctionnalité car vous pouvez avoir des fichiers anonymes de cette façon.
Pour voir si vous avez un fichier supprimé ouvert sur un système de fichiers, exécutez l'une de ces commandes, où
/mount/point
est le point de montage (/var
dans votre cas):Cet article sur les fichiers ouverts et non liés devrait aider à expliquer cela un peu plus.
la source
df
n'ai montré aucun espace libéré jusqu'à ce que je redémarre les processus du serveur. Merci!