Donc en gros pour trouver ce genre de problèmes un petit coup de lsof et de awk derrière avec les options qui vont bien pour lister par taille.
Il vaut mieux même commencer par faire un grep sur ceux qui sont marqués comme « (deleted) ». Même si c'est autorisé, il s'agit quand même dans la plupart des cas d'une irrégularité.
c'est plus malin donc de d'abord stopper le processus, puis effacer son fichier de log que le contraire où on oublie de stopper le processus.
Ça va sans dire, mais personne n'efface volontairement un fichier de log sans arrêter le processus quand on ne sait pas ce que l'on fait. D'abord, un processus ne devrait pas garder un fichier ouvert en permanence. Ensuite, rien ne t'indique dans un ls ou un find si un fichier est actuellement utilisé ou pas. Ce genre de problème arrive justement lorsque l'on efface d'emblée un fichier sans savoir à quoi il sert.
À noter qu'il existe un deuxième cas, pourtant élémentaire, qui peut causer ce genre de surprise : les liens durs. Tout le monde aujourd'hui est habitué à coller des liens symboliques pour tout et n'importe quoi, et à délaisser l'usage des liens durs. Je pense que c'est principalement dû à un effet de mimétisme lorsque l'on provient d'autres systèmes où ce concept n'existe pas. Moralité : on tombe sur un gros fichier qui fait 2To, on l'efface et là, l'espace n'est pas libéré. Gros moment de solitude de l'admin débutant s'il ne pense pas à cette possibilité très simple.
Je ne comprend pas bien le rapport avec le fichier effacé mais pas ferm**É**.
C'est un grand classique de l'administration système qui te donne l'impression d'avoir de la « matière noire » sur ton disque dur. Lorsque tu effaces un fichier, celui-ci n'est réellement retiré du disque que lorsque plus aucun lien dur ne le référence ET lorsque plus aucun processus en cours d'exécution ne possède un handle ouvert le concernant. Si une de ces deux conditions n'est pas remplie, il continue d'exister tout-à-fait normalement et son i-node est toujours valide. Le système de fichiers fait automatiquement le ménage quand elles le deviennent. Créer un nouveau fichier portant le même nom n'a alors aucune incidence : son i-node sera différent et il s'agira bien d'un fichier distinct.
Heureusement que ça fonctionne ainsi d'ailleurs, sinon détruire un fichier suffirait à faire planter un processus. C'est aussi ce qui te permet de mettre tes bibliothèques à jour sans avoir à passer en mode dégradé : les processus existants continuent leur tâche comme si de rien était et tout nouveau processus lancé après la mise à jour référence le nouveau fichier.
Il arrive souvent que des processus qui tiennent un log deviennent fous et entrent dans une boucle infinie dans laquelle ils écrivent sans relâche la même ligne. Donc, le log grossit jusqu'à occuper tout l'espace. Quand on est tout d'un coup confronté à ça, le réflexe humain est de faire un find pour trouver les plus gros fichiers et quand on voit que le responsable est un seul gros fichier de log qu'on lit une fois l'an, on l'élimine en général aussi sec. Et là, « c'est le drame ». :-) Le fichier a bien disparu mais l'espace n'est pas libéré. Pire, il continue à fuir. Là, en principe, une partie substantielle de la communauté des admins envisagent une réinstallation complète, voire une cyber-attaque terroriste en provenance des antipodes.
En gros ma question c'est surtout comment on évite de se trouver dans des situations comme celle-là.
Il suffit de terminer le ou les processus qui tiennent ce fichier ouvert, tout simplement. Voire même, lorsque c'est possible, leur demander gentiment de le refermer. Et là, miracle. On récupère d'un coup une quantité d'espace que même le BOFH n'aurait jamais osé annoncer.
C'est bien le cas, et les tailles semblent correspondre à ce que tu cherches : 1,28To + 587Go ≈ 1,7-1,8 To, « à une vache près » comme dirait Astier. Le numéro qui suit est l'inode.
j'ai bien pensé à un fichier de log effacé mais pas refermé, mais je ne me souviens pas de la commande pour trouver lequel serait fautif
il est vrai que je pourrais rebooter le serveur qui tourne depuis 204 jours, mais il y a des services que je ne maitrise pas dessus.
Comme ça, je dirais lsof, sinon un petit ls -l /proc/*/fd/*.
Oui, mais ça ne suffit pas : à ce compte-là, les pierres et les os humains sont eux-aussi des polluants. A contrario, un poison violent versé dans une rivière et dont la période de dégradation serait celle d'un végétal devrait quand même être considéré comme polluant puisque non seulement elle tuerait toute forme de vie aquatique dans la rivière sur une durée suffisamment longue mais empêcherait le reste de l'écosystème, homme compris, de jouir de la rivière, pour la boire par exemple, et pourrait même obliger les gens à éviter son secteur géographique.
Le Wiktionnaire donne la définition suivante : « Rejeter des produits nocifs dans l’environnement. »
Le Larousse dit : « Polluer [un lieu, l'air, qqch…] les dégrader et les rendre malsains, dangereux en y répandant des matières toxiques. ».
Mais bien sûr, une matière n'a pas non plus besoin d'être toxique pour être polluante. Question de point de vue. Je crois qu'on peut en fait considérer comme polluant toute matière introduite dans un environnement et qui soit à la fois nuisible et difficile à isoler.
Si on s'en tient à cette dernière acceptation, un produit toxique libéré dans la nature est forcément polluant s'il a le temps de faire des dégâts et/ou des victimes avant de se dégrader.
Pour ma part, j'ai choisi mon pseudo en 1987 à la va-vite après m'être connecté sur un RTC minitel consacré aux Thomson (et pas au CPC), alors que j'allais régulièrement chez un copain pour jouer à ça :
Je suis assez d'accord. J'ai moi-même fait la même chose, mais après m'être beaucoup amusé avec le Basic de mon 8 bits !
Non pas que ce soit un passage obligé pour apprendre la programmation mais se lancer directement dans l'assembleur ou le C, ça demande beaucoup d'investissement, de rigueur tout en masquant d'emblée le côté ludique de la chose. Commencer par un « PRINT "Bonjour" » et un « PLAY "DOREMI" », c'est très stimulant tout en restant très simple et ça donne envie d'aller plus loin.
Par contre, dès que la personne maîtrise un tant soi peu ses programmes et qu'elle peut écrire une trentaine de lignes sans difficulté, il ne faut pas hésiter à se lancer directement dans l'assembleur. Tout le reste est beaucoup plus facile après.
@FLO :
Je te conseille aussi d'utiliser des émulateurs en ligne comme CPC Box
http://www.cpcbox.com/
Ensuite, dans « Choose Configuration », tu choisis « Boot : CPC 6128 », et tu essaies les commandes suivantes :
… histoire de trafiquer directement la mémoire vidéo, chose que l'on ne peut plus faire facilement aujourd'hui. Ensuite, tu lui dis que c'était l'un des ordinateurs de la génération de ses parents. :-)
Ma fille (suite à un cours de techno sur les ordinateurs) souhaiterait apprendre quelques rudiments de programmation. Et aussi comprendre un peu mieux comment fonctionne un ordinateur.
Elle nous a demandé de lui apprendre à programmer. (nous = ses parents)
Problème : quel langage?
Nous avons exclu tout de suite le C, le Perl, le Java ;)
Tu sais, ce n'est pas la peine de poster si tu ne lis pas les commentaires en entier.
Je ne sauvegarde que les données + la conf du système et des programmes, jamais le système entier qui peut-être reconstruit facilement
C'est ce qu'on vient de dire.
cela prend quelques minutes.
Tu fais une réinstall complète en quelque minutes ? Moi pas. Mais cela n'a pas beaucoup d'importance.
Support : DD externe
D'où mon commentaire précédent : si tu en es à sauvegarder sur un disque externe, soit tu fais du SAN pour le protéger géographiquement d'une catastrophe extérieure, soit tu installes ton disque à demeure et tu mets en place quelque chose pour faire tes sauvegardes incrémentalement et à intervalles réguliers.
Le RAID 5, c'est l'utilisation de redondance, avec un minimum de trois volumes. Si un disque crashe, tu peux le remplacer et le reconstruire à partir des deux autres. C'est à ça qu'il sert !
Par contre, le RAID, ça ne protège pas de la corruption du système de fichier ou d'un « rm -rf » malheureux. Sauvegardes donc.
Sauf que non seulement, ses sauvegardes, on commence généralement à les faire quand son disque présente des signes de faiblesse, si ce n'est pas déjà trop tard. Ensuite, quand j'achète un disque de 500 Go, c'est pour l'utiliser. Combien de temps te faut-il pour sauvegarder 500 Go et sur quel support ? Il te faudrait des dizaines de Bluray à chaque fois. On se rend vite compte à ce stade que le plus rapide, le moins onéreux et le plus simple reste de dupliquer sa partition sur un autre disque dur. À ce compte-là, soit tu fais du SAN pour être sûr de les récupérer en cas d'incendie, vol, inondation ou autre, soit tu l'installes à demeure dans ta machine et tu mets en place des infrastructures pour que tes sauvegardes soient transparentes et effectuées à intervalles réguliers.
Oui, lvm, c'est tentant sauf que si un volume a un problème, on perd tout…
Oui, mais lorsque tu n'as qu'un seul volume, s'il a un problème, tu perds tout.
Moi j'ai mis mon /home en RAID 5 et « / » en RAID 0. S'il crashe, je réinstalle le système. Ce n'est pas un problème. Ce qui est plus pénible, c'est restaurer ses données personnelles, car on ne peut pas les yumer/apt-getter depuis les dépôts de sa distrib' préférée…
Haa, ma Gentoo… je t'aime, je t'adore, mais franchement, parfois, parfois tu fais chier.…
… C'est peut-être l'idéal pour avoir un environnement Lisp (par exemple) qui fonctionne sans perdre des plombes à tenter de le faire fonctionner… mais si je passe à Debian, portage me manquera…
Tu veux dire que là où il y a de la Gentoo, il n'y a pas de plaisir ?
[^] # Re: lsof ?
Posté par Obsidian . En réponse au message espace disque qui est grignoté. Évalué à 2.
Il vaut mieux même commencer par faire un grep sur ceux qui sont marqués comme « (deleted) ». Même si c'est autorisé, il s'agit quand même dans la plupart des cas d'une irrégularité.
Ça va sans dire, mais personne n'efface volontairement un fichier de log sans arrêter le processus quand on ne sait pas ce que l'on fait. D'abord, un processus ne devrait pas garder un fichier ouvert en permanence. Ensuite, rien ne t'indique dans un ls ou un find si un fichier est actuellement utilisé ou pas. Ce genre de problème arrive justement lorsque l'on efface d'emblée un fichier sans savoir à quoi il sert.
À noter qu'il existe un deuxième cas, pourtant élémentaire, qui peut causer ce genre de surprise : les liens durs. Tout le monde aujourd'hui est habitué à coller des liens symboliques pour tout et n'importe quoi, et à délaisser l'usage des liens durs. Je pense que c'est principalement dû à un effet de mimétisme lorsque l'on provient d'autres systèmes où ce concept n'existe pas. Moralité : on tombe sur un gros fichier qui fait 2To, on l'efface et là, l'espace n'est pas libéré. Gros moment de solitude de l'admin débutant s'il ne pense pas à cette possibilité très simple.
[^] # Re: lsof ?
Posté par Obsidian . En réponse au message espace disque qui est grignoté. Évalué à 3.
La clé du mystère, c'est que tu peux aussi les arrêter APRÈS ! Mais il faut penser à le faire.
[^] # Re: lsof ?
Posté par Obsidian . En réponse au message espace disque qui est grignoté. Évalué à 10.
C'est un grand classique de l'administration système qui te donne l'impression d'avoir de la « matière noire » sur ton disque dur. Lorsque tu effaces un fichier, celui-ci n'est réellement retiré du disque que lorsque plus aucun lien dur ne le référence ET lorsque plus aucun processus en cours d'exécution ne possède un handle ouvert le concernant. Si une de ces deux conditions n'est pas remplie, il continue d'exister tout-à-fait normalement et son i-node est toujours valide. Le système de fichiers fait automatiquement le ménage quand elles le deviennent. Créer un nouveau fichier portant le même nom n'a alors aucune incidence : son i-node sera différent et il s'agira bien d'un fichier distinct.
Heureusement que ça fonctionne ainsi d'ailleurs, sinon détruire un fichier suffirait à faire planter un processus. C'est aussi ce qui te permet de mettre tes bibliothèques à jour sans avoir à passer en mode dégradé : les processus existants continuent leur tâche comme si de rien était et tout nouveau processus lancé après la mise à jour référence le nouveau fichier.
Il arrive souvent que des processus qui tiennent un log deviennent fous et entrent dans une boucle infinie dans laquelle ils écrivent sans relâche la même ligne. Donc, le log grossit jusqu'à occuper tout l'espace. Quand on est tout d'un coup confronté à ça, le réflexe humain est de faire un find pour trouver les plus gros fichiers et quand on voit que le responsable est un seul gros fichier de log qu'on lit une fois l'an, on l'élimine en général aussi sec. Et là, « c'est le drame ». :-) Le fichier a bien disparu mais l'espace n'est pas libéré. Pire, il continue à fuir. Là, en principe, une partie substantielle de la communauté des admins envisagent une réinstallation complète, voire une cyber-attaque terroriste en provenance des antipodes.
Il suffit de terminer le ou les processus qui tiennent ce fichier ouvert, tout simplement. Voire même, lorsque c'est possible, leur demander gentiment de le refermer. Et là, miracle. On récupère d'un coup une quantité d'espace que même le BOFH n'aurait jamais osé annoncer.
[^] # Re: lsof ?
Posté par Obsidian . En réponse au message espace disque qui est grignoté. Évalué à 2.
C'est bien le cas, et les tailles semblent correspondre à ce que tu cherches : 1,28To + 587Go ≈ 1,7-1,8 To, « à une vache près » comme dirait Astier. Le numéro qui suit est l'inode.
Yapukafaukon,
# lsof ?
Posté par Obsidian . En réponse au message espace disque qui est grignoté. Évalué à 4.
Hello,
Comme ça, je dirais
lsof
, sinon un petitls -l /proc/*/fd/*
.[^] # Re: Vous n'achetez jamais d'éponges ?
Posté par Obsidian . En réponse au journal Le cycle des éponges. Évalué à 3.
Oui, mais ça ne suffit pas : à ce compte-là, les pierres et les os humains sont eux-aussi des polluants. A contrario, un poison violent versé dans une rivière et dont la période de dégradation serait celle d'un végétal devrait quand même être considéré comme polluant puisque non seulement elle tuerait toute forme de vie aquatique dans la rivière sur une durée suffisamment longue mais empêcherait le reste de l'écosystème, homme compris, de jouir de la rivière, pour la boire par exemple, et pourrait même obliger les gens à éviter son secteur géographique.
Le Wiktionnaire donne la définition suivante : « Rejeter des produits nocifs dans l’environnement. »
Le Larousse dit : « Polluer [un lieu, l'air, qqch…] les dégrader et les rendre malsains, dangereux en y répandant des matières toxiques. ».
Mais bien sûr, une matière n'a pas non plus besoin d'être toxique pour être polluante. Question de point de vue. Je crois qu'on peut en fait considérer comme polluant toute matière introduite dans un environnement et qui soit à la fois nuisible et difficile à isoler.
Si on s'en tient à cette dernière acceptation, un produit toxique libéré dans la nature est forcément polluant s'il a le temps de faire des dégâts et/ou des victimes avant de se dégrader.
[^] # Re: Vous n'achetez jamais d'éponges ?
Posté par Obsidian . En réponse au journal Le cycle des éponges. Évalué à 2.
D'accord, mais quelle définition donnerais-tu au terme « polluant », dans ce cas ?
[^] # Re: Vous n'achetez jamais d'éponges ?
Posté par Obsidian . En réponse au journal Le cycle des éponges. Évalué à 2.
Le gaz moutarde n'est pas un polluant ? :-)
[^] # Re: Le cycle des éponges
Posté par Obsidian . En réponse au journal Le cycle des éponges. Évalué à 7.
Oui, c'est fait exprès, et c'est aussi une des nombreuses blagues récurrentes qui circulent sur DLFP.
# Le cycle des éponges
Posté par Obsidian . En réponse au journal Le cycle des éponges. Évalué à 10.
Si tu t'ennuies, j'ai plein de boulot à te faire faire. :-) (à commencer par la salle de bain, d'ailleurs).
# This is the data we're looking for !
Posté par Obsidian . En réponse au journal Saybô !. Évalué à 10.
Effectivement, il y a de quoi se poser des questions ! :-)
[^] # Re: Pourquoi du binaire
Posté par Obsidian . En réponse au journal Documentation du format du Journal. Évalué à 2.
Chiche ! :-)
[^] # Re: Geek toutes !
Posté par Obsidian . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 2.
Tu devrais trouver ton bonheur ici (et même peut-être y jouer en ligne) :
http://www.cpc-power.com/index.php?page=jeux
Pour ma part, j'ai choisi mon pseudo en 1987 à la va-vite après m'être connecté sur un RTC minitel consacré aux Thomson (et pas au CPC), alors que j'allais régulièrement chez un copain pour jouer à ça :
http://www.cpc-power.com/index.php?page=detail&onglet=jeuenligne&num=1543
Requiem pour ta productivité…
[^] # Re: Geek toutes !
Posté par Obsidian . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 3.
(Le vieux ? /o\ )
[^] # Re: Geek toutes !
Posté par Obsidian . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 3.
Meuh non voyons. Cette machine n'a que 25 ans ! :-)
# Les vidéos
Posté par Obsidian . En réponse au message pop et pop3 sont dans un bateau. Évalué à 2.
Ouais, les vidéos Youtube chez Free. :-) Mais il est encore un peu tôt pour redémarrer le troll…
[^] # Re: Geek toutes !
Posté par Obsidian . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 5.
Je suis assez d'accord. J'ai moi-même fait la même chose, mais après m'être beaucoup amusé avec le Basic de mon 8 bits !
Non pas que ce soit un passage obligé pour apprendre la programmation mais se lancer directement dans l'assembleur ou le C, ça demande beaucoup d'investissement, de rigueur tout en masquant d'emblée le côté ludique de la chose. Commencer par un « PRINT "Bonjour" » et un « PLAY "DOREMI" », c'est très stimulant tout en restant très simple et ça donne envie d'aller plus loin.
Par contre, dès que la personne maîtrise un tant soi peu ses programmes et qu'elle peut écrire une trentaine de lignes sans difficulté, il ne faut pas hésiter à se lancer directement dans l'assembleur. Tout le reste est beaucoup plus facile après.
@FLO :
Je te conseille aussi d'utiliser des émulateurs en ligne comme CPC Box
Ensuite, dans « Choose Configuration », tu choisis « Boot : CPC 6128 », et tu essaies les commandes suivantes :
… et :
… histoire de trafiquer directement la mémoire vidéo, chose que l'on ne peut plus faire facilement aujourd'hui. Ensuite, tu lui dis que c'était l'un des ordinateurs de la génération de ses parents. :-)
# Geek toutes !
Posté par Obsidian . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 8.
Il ne reste que l'assembleur ! :-)
[^] # Re: Use the lvm, luke.
Posté par Obsidian . En réponse au message aggrandissement volume disque. Évalué à 1.
Décidément, c'est sans espoir.
[^] # Re: Use the lvm, luke.
Posté par Obsidian . En réponse au message aggrandissement volume disque. Évalué à 1.
Tu sais, ce n'est pas la peine de poster si tu ne lis pas les commentaires en entier.
C'est ce qu'on vient de dire.
Tu fais une réinstall complète en quelque minutes ? Moi pas. Mais cela n'a pas beaucoup d'importance.
D'où mon commentaire précédent : si tu en es à sauvegarder sur un disque externe, soit tu fais du SAN pour le protéger géographiquement d'une catastrophe extérieure, soit tu installes ton disque à demeure et tu mets en place quelque chose pour faire tes sauvegardes incrémentalement et à intervalles réguliers.
[^] # Re: Use the lvm, luke.
Posté par Obsidian . En réponse au message aggrandissement volume disque. Évalué à 2. Dernière modification le 16 octobre 2012 à 11:56.
Le RAID 5, c'est l'utilisation de redondance, avec un minimum de trois volumes. Si un disque crashe, tu peux le remplacer et le reconstruire à partir des deux autres. C'est à ça qu'il sert !
Par contre, le RAID, ça ne protège pas de la corruption du système de fichier ou d'un « rm -rf » malheureux. Sauvegardes donc.
Sauf que non seulement, ses sauvegardes, on commence généralement à les faire quand son disque présente des signes de faiblesse, si ce n'est pas déjà trop tard. Ensuite, quand j'achète un disque de 500 Go, c'est pour l'utiliser. Combien de temps te faut-il pour sauvegarder 500 Go et sur quel support ? Il te faudrait des dizaines de Bluray à chaque fois. On se rend vite compte à ce stade que le plus rapide, le moins onéreux et le plus simple reste de dupliquer sa partition sur un autre disque dur. À ce compte-là, soit tu fais du SAN pour être sûr de les récupérer en cas d'incendie, vol, inondation ou autre, soit tu l'installes à demeure dans ta machine et tu mets en place des infrastructures pour que tes sauvegardes soient transparentes et effectuées à intervalles réguliers.
[^] # Re: Use the lvm, luke.
Posté par Obsidian . En réponse au message aggrandissement volume disque. Évalué à 3.
Et j'ajouterais même « qui pétrissent le pain dont elle abreuve ses enfants » ! :-)
[^] # Re: Use the lvm, luke.
Posté par Obsidian . En réponse au message aggrandissement volume disque. Évalué à 1.
Oui, mais lorsque tu n'as qu'un seul volume, s'il a un problème, tu perds tout.
Moi j'ai mis mon /home en RAID 5 et « / » en RAID 0. S'il crashe, je réinstalle le système. Ce n'est pas un problème. Ce qui est plus pénible, c'est restaurer ses données personnelles, car on ne peut pas les yumer/apt-getter depuis les dépôts de sa distrib' préférée…
# En résumé…
Posté par Obsidian . En réponse au journal Ma Gentoo... je t'adore mais.... Évalué à 4.
Tu veux dire que là où il y a de la Gentoo, il n'y a pas de plaisir ?
[^] # Re: Un Tardis !
Posté par Obsidian . En réponse au sondage Transport en commun à proximité . Évalué à 2.
« Exterminate ! »