Bonjour,
Sur un serveur j'ai /var qui est plein à 100% (c'est df qui le dit). Je fouille à la recherche des rebelles et je tombe sur un cas :
#ls -l
-rw-r--r-- 1 root root 1374687232 févr. 12 11:00 connections.tdb
du *
269104 connections.tdb
Y aurait pas comme un problème avec la taille des fichiers suivant la commande ?
# Yo
Posté par Marotte ⛧ . Évalué à 1.
Tu peux faire un
du -h connections.tdb
suivi d'unls -h connections.tdb
?Zarbi ton problème. T'es sûr que c'est bien le même fichier connections.tdb ? ;)
[^] # Re: Yo
Posté par Philippe M (site web personnel) . Évalué à 2.
du -h /var/lib/samba/connections.tdb --> 263M /var/lib/samba/connections.tdb
ls -lh /var/lib/samba/connections.tdb --> -rw-r--r-- 1 root root 1,3G févr. 12 11:22 /var/lib/samba/connections.tdb
Born to Kill EndUser !
[^] # Re: Yo
Posté par phoenix (site web personnel) . Évalué à 3.
Peux-tu faire un ls -lsh
Parfois la taille prise par le fichier est différente de la taille du fichier.
# e2fsck
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 2.
Avez-vous vérifié que la partition est saine ? Certaines corruptions de partitions ne pourraient-elle pas aboutir à ce genre d'incohérence ?
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: e2fsck
Posté par Philippe M (site web personnel) . Évalué à 1.
J'ai pensé à ça aussi, mais avant j'envoie une demande de support à redhat pour être certain.
Born to Kill EndUser !
# Sparse file
Posté par detail_pratique . Évalué à 8.
https://en.wikipedia.org/wiki/Sparse_file
Par contre, tu as peut-être un petit souci avec ton Samba.
# Taille logique != taille physique
Posté par netsurfeur . Évalué à 10.
Il est possible que tous les 1374687232 octets ne soient pas physiquement alloués (fichier à trous ou "sparse file").
Par exemple:
Le fichier a une taille logique de 4 Go mais n'occupe que 4 ko.
[^] # Re: Taille logique != taille physique
Posté par Philippe M (site web personnel) . Évalué à 2.
Ok donc du est plus fiable que ls, mais df se base sur quoi ? logique ou physique ?
Born to Kill EndUser !
[^] # Re: Taille logique != taille physique
Posté par netsurfeur . Évalué à 7.
df se base sur le physique.
Il ne parcourt pas l'arborescence de fichiers pour additionner les tailles mais se contente de compter les blocs marqués comme libres dans une table du système de fichiers (c'est pour ça qu'il est beaucoup plus rapide que du).
# Fichier purgé non désalloué
Posté par netsurfeur . Évalué à 9.
Il est possible que tu aies des fichiers qui ont été purgés mais sont toujours alloués parce que le process les utilisant ne les a pas fermés.
df indique alors que l'utilisation est de 100% mais ils sont introuvables avec du.
Pour les identifier, tu peux faire:
[^] # Re: Fichier purgé non désalloué
Posté par NeoX . Évalué à 5.
ou plus simplement
lsof -l | grep deleted
[^] # Re: Fichier purgé non désalloué
Posté par Philippe M (site web personnel) . Évalué à 3. Dernière modification le 12 février 2013 à 13:00.
Intéressant
le mysql.log.1 pourrait être celui qui me fous le bazar si bien sur la colonne SIZE/OFF correspond à une taille de fichier ?
Un petit /etc/init.d/mysqld restart et pouf /var occupé à 15%.
Merci à tous :)
Born to Kill EndUser !
[^] # Re: Fichier purgé non désalloué
Posté par NeoX . Évalué à 6.
d'apres ce que tu nous dis, et ce qui s'est passé,
ca voudrait dire que ton logrotate n'est pas configuré pour stopper mysql avant de faire la rotation
verifie ce point.
[^] # Re: Fichier purgé non désalloué
Posté par Philippe M (site web personnel) . Évalué à 1.
Je regarde en ce moment mais ça me gène de devoir arrêter le serveur mysql juste pour une rotation de log :(
Born to Kill EndUser !
[^] # Re: Fichier purgé non désalloué
Posté par netsurfeur . Évalué à 3.
Pas besoin de redémarrer mysql,
mysqladmin flush-logs
est fait pour ça.[^] # Re: Fichier purgé non désalloué
Posté par Philippe M (site web personnel) . Évalué à 1. Dernière modification le 13 février 2013 à 10:35.
Oui effectivement mais faut l'intégrer dans la config logrotate. Mais d'après ce post (qui date un peu) http://forums.fedora-fr.org/viewtopic.php?id=34962 c'est pas si simple que ça.
Born to Kill EndUser !
[^] # Re: Fichier purgé non désalloué
Posté par netsurfeur . Évalué à 3.
Ben, la conclusion du thread est que avec
mysqladmin flush-logs
ça marche (en ajoutant le mot de passe, ce qui est logique).[^] # Re: Fichier purgé non désalloué
Posté par Philippe M (site web personnel) . Évalué à 2.
Je l'ai mis en place mais le mot de passe que l'ai mis dans le .my.cnf
A surveiller.
Born to Kill EndUser !
# Taille vs blocs alloués ?
Posté par Nÿco (site web personnel) . Évalué à 2.
La taille du fichier ne correspond pas axctement à la taille des blocs alloués ?
# "Apparent Size"
Posté par rakoo (site web personnel) . Évalué à 1.
Voir ce lien qui comporte les mêmes interrogations:
# DU ne sert pas à examiner la taille d'un fichier
Posté par Michaël (site web personnel) . Évalué à 1. Dernière modification le 13 février 2013 à 13:50.
DU ne sert pas à examiner la taille d'un fichier mais le nombre de blocs effectivement utilisés par le fichier sur le disque.
du(1)
:Pour ton problème de place dans
/var
le nombre pertinent est effectivement celui renvoyé par DU. Pour trouver les fauteurs de trouble, tu peux faire[^] # Re: DU ne sert pas à examiner la taille d'un fichier
Posté par Philippe M (site web personnel) . Évalué à 1.
La vérité est ailleurs : http://linuxfr.org/nodes/97369/comments/1430207
Mais merci tout de même :)
Born to Kill EndUser !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.