TUTO : Linux – Problème d’Inodes sur un serveur Linux – CéGeek

TUTO : Linux – Problème d’Inodes sur un serveur Linux

MAJ (30/10/2014) : J’ai créé un petit script qui permet d’automatiser tout ça, à vous de le modifier si besoin ! Pour le lancer : « ».

Cette semaine au travail j’ai eu la « chance » de m’occuper de deux serveurs Squid tournant sous Linux Ubuntu pour lequel le service Squid ne tournait simplement plus du tout. Dès qu’on exécutait le service, celui-ci coupait net.

En regardant de plus près les logs (/var/log/squid3/cache.log) j’ai eu un magnifique message d’erreur signifiant un manque de place : « /var/spool/squid3/swap.state.new: (28) No space left on device ».

Par réflexe, la première action que j’ai faite fut un petit « df -h » afin de voir l’espace libre restant, dont voici le résultat :

Comme on peut le constater, de la place, il y en a.

Après quelques recherches sur Google, j’ai ainsi pu découvrir qu’il ne restait absolument plus aucune place pour les inodes, ce qui expliqué le manque de place pour Squid (mais aussi pour toutes autres actions telles qu’un vulgaire « apt-get update && apt-get upgrade ».

Pour voir s’il reste de la place sur votre serveur au niveau des inodes, une simple commande suffit : « df -i ».

Ceci est la photo après un petit nettoyage, avant ça la partition « /dev/sda1 » était à 100% rempli (IUse%).

Pour libérer de la place rapidement, vous pouvez, si possible, supprimer les paquets inutiles (les anciens noyaux peuvent être dedans) par le biais de la commande « apt-get autoremove » qui s’occupera de tout cela.

Si jamais la commande ne passe pas (par manque de place et qu’aucune commande n’est possible), vous pouvez supprimer d’anciens fichiers logs présent sur votre serveur (« /var/log/ »). Dans mon cas étant donné que Squid était installé, le répertoire de cache était assez conséquent.

Si vous voulez les supprimer, procéder ainsi :

  1. Arrêter le service Squid : « service squid3 stop ».
  2. Vérifier qu’il est bien arrêté : « service squid3 status ».
  3. Accéder au répertoire des fichiers de log de Squid : « cd /var/spool/squid3 ».
  4. Supprimer tous les dossiers présent au sein du répertoire : « rm -R * ».
  5. Vérifier qu’il ne reste dans le dossier : « ls ».
  6. Recréer l’arborescence par le biais de cette commande : « squid3 -z ».
  7. Relancer le service Squid : « service squid3 start ».
  8. Vérifier que les inodes ont bien été supprimées : « df -i ».

Pour résumer pour devriez avoir ce résultat :

 

Et comme on peut le constater, il y a maintenant un peu plus de place au niveau des inodes, en passant de 809324 à 9022859 inodes libres, ce qui est toujours bon à prendre !

Vous pouvez toujours supprimer d’autres fichiers (logs ou autre), pour au moins avoir la possibilité de mettre à jour vos paquets, ou supprimer les paquets inutiles.

Pour en savoir plus sur les inodes, je vous renvoie vers la page Wikipédia qui parle du sujet, ici.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Fièrement propulsé par WordPress | Thème : Baskerville 2 par Anders Noren.

Retour en haut ↑