L’outil ncdu pour identifier l’origine d’une saturation disque

Espace disque saturé

Cet article décrit une méthode simple pour identifier l’origine d’une saturation disque à l’aide de l’outil ncdu. Avant d’en traquer l’origine, revenons sur l’apparition de l’incident technique qui en découlait…

Les symptômes du problème

En visionnant le film d’animation Kung Fu Panda 2 (oui, je me souviens très de la gueule du gros Panda poilu scotché à l’écran pendant le bug), l’application Kodi s’est interrompu : image figée, le Raspberry était tout simplement planté. Après un redémarrage, je vois défiler furtivement des lignes inscrites en rouge indiquant un problème mais je n’ai pas le temps de les lire. Une fois redémarré, le prompt s’affiche mais l’application Kodi ne se lance pas automatiquement comme elle devrait pourtant le faire.

J’esssaies de lancer manuellement Kodi : cela échoue. En tapant quelques commandes, je suis amené à tenter d’utiliser l’autocomplétion et là, le message d’erreur suivant apparaît :

Le message d’erreur me mets sur la piste : un manque d’espace disque.

Investigations avec ncdu

Afin d’avoir un état de l’occupation de l’espace disque, je tape la commande suivante :

On s’aperçoit que la partition monté sur / est pleine à 100%. Il y a effectivement une saturation de l’espace disque. Après quelques recherches sur Internet, je découvre un outil super intéressant nativement présent sur Raspbian : ncdu (ncurse disk usage).

Ncdu est une version récursive de la commande du et un moyen rapide pour repérer les répertoires qui occupent le plus d’espace disque.

Lançons la commande ncdu sur le répertoire / en ne comptabilisant que les fichiers et répertoires présents sur le même FileSystem que celui qui est scanné (option -x) :

Une fois l’analyse terminée (cela peut prendre quelques minutes selon la taille du FileSystem), on s’aperçoit que le répertoire /var occupe 4 Go sur les 8 Go disponibles sur la carte micro SD, ce qui est assez conséquent, la saturation est clairement liée à ce répertoire. Toujours avec l’utilitaire ncdu, on navigue à l’intérieur du répertoire /var et on obtient :

Une fois dans /var, la taille de 3,7 GiB nous interpelle, allons y :

Une fois dans /var/log, on identifie 3 fichiers particulièrement volumineux (1,2 Gib chacun) :

  1. syslog.1 ;
  2. kern.log ;
  3. messages.

Pour comprendre qu’est-ce qui pouvait bien remplir à outrance ces fichiers, j’ai rapidement regardé le contenu. J’ai pu remarquer que les lignes évoquaient une erreur de transmission réseau. J’imagine que cela est lié à quelques bugs de la carte réseau wifi qui dysfonctionne parfois. (dongle wifi en sommeil après une inutilisation prolongée). Impatient de poursuivre la visualisation de Kung Fu Panda 2, j’ai tout simplement supprimé les 3 fichiers cités ci-dessus.

Idéalement, on cherchera à comprendre pourquoi l’application écrit si fréquemment dans ces fichiers de logs (voire mettre en place les logs rotatifs) pour éviter la réapparition du problème.

Une fois les fichiers supprimés, on peut apprécier les gains obtenus :

On est ainsi passé d’un taux d’utilisation de 100% à 51%. On peut encore gagner un peu d’espace  en nettoyant le référentiel local des paquets récupérés avec la commande :

Ce nettoyage permet de passer le taux d’occupation de l’espace disque de 51% à 50%.

Remarque : Si vous ne disposez pas de l’utilitaire ncdu, une commande équivalente peut vous aider :

Il faudra soi-même relancer la commande de manière itérative sur les répertoires les plus volumineux.

Module Pi caméra

Module Pi Caméra

Pi Camera Module v1 5MP
Pi Camera Module v1 5MP

Aujourd’hui, nous allons ajouter un module caméra au Raspberry Pi. Pour une vingtaine d’euros, vous pourrez vous offrir le module v1 avec un capteur de résolution de 5 mégapixels (MP) pour capturer des photos jusqu’à 2592×1944 pixels et des vidéos jusqu’à 1080p. Pour pousser à 8 MP, c’est le module v2 (3280×2464 pour les photos et 1080p30 pour les vidéos) qu’il faudra acheter en se fendant d’à peine 30 euros.

 

Quelle que soit la version, le module existe en Infrarouge pour photographier/filmer en condition de faible obscurité.

Autant le dire tout suite : c’est du flan. J’ai testé et je n’ai pas vu de différence entre les deux types des types de capteurs : quand il fait sombre, on ne voit rien.

Continuer la lecture de « Module Pi caméra »

Créer un media center avec Kodi

Media Center Kodi

Nous avons vu comment gérer l’espace de stockage avec Logical Volume Manager en vue de créer un serveur NAS destiné à partager le système de fichier avec NFS ou au travers d’un partage Samba. On dispose donc d’un espace de stockage conséquent pour y stocker une vidéothèque que nous allons gérer avec le media center Kodi.

Menu Principal Kodi
Menu Principal Kodi

Anciennement appelé Xbmc, Kodi est un media center qui supporte de nombreux formats multimédia. En tant que lecteur multimédia, cette application permet de lire la plupart des fichiers audio et vidéo, afficher des diaporamas d’images, regarder des vidéos en streaming, écouter la radio, consulter la météo,… Continuer la lecture de « Créer un media center avec Kodi »

Créer un partage Samba

Partage Samba


Le serveur NFS permet le partage de fichiers entre les Raspberry sous Raspbian. Mais comment partager ces fichiers avec un PC sous OS Microsoft ? Le partage Samba est la solution pour rendre accessible le volume logique LVM dans un réseau hétérogène (OS Raspbian ou Microsoft). Plus précisément, le serveur s’appuie sur les protocoles SMB/CIFS et NetBIOS/WINS pour Unix et permet le partage de fichiers et d’imprimantes entre différents systèmes d’exploitation : Linux, Mac OS X, Microsoft, BSD, Solaris,… Continuer la lecture de « Créer un partage Samba »

Créer un serveur de fichiers avec NFS

Partage réseau NFS


Maintenant que l’on a vu comment ajouter de l’espace disque au Raspberry avec LVM (à moindre coût en recyclant des disques durs), il est question de partager cet espace de stockage sur le réseau. Disposant des plusieurs Raspberry Pi sous Raspbian, j’ai naturellement opté pour le serveur NFS (Network File System) pour exposer la capacité disque aux systèmes Raspbian. Le partage de fichiers NFS permet de partager tout ou partie du système de fichier à destination de clients NFS (des machines Unix le plus souvent). On utilisera également le partage de fichier avec un serveur Samba pour pouvoir déposer des fichiers depuis un système Microsoft.

Continuer la lecture de « Créer un serveur de fichiers avec NFS »

Gérer les espaces disques avec LVM

En termes d’espace de stockage, le Raspberry Pi ne dispose, par défaut, que de la carte micro SD. Aussi grande qu’elle puisse être, la capacité de stockage montrera rapidement ses limites pour peu qu’on y stocke quelques films. Je vous propose ici de recycler des disques durs de « récupération » qui pourraient dormir dans un placard pour monter un espace de stockage à moindre prix en utilisant LVM.

Le matériel

Station d'accueil 2xHD
Station d’accueil 2xHD

Les disques durs sont connectés sur une station d’accueil (de l’ordre de 25.00€) qui dispose de sa propre alimentation. En effet, comme vous le savez probablement, le Raspberry Pi n’est pas dimensionné pour alimenter de tels périphériques. Il est donc important de brancher les disques durs sur une borne disposant d’une alimentation dédiée. Les deux disques durs (A et B que l’on voit sur la photo) sont identiques : 250 Go chacun. Au-delà de la création d’un serveur NAS, l’objectif est d’exploiter cet espace de stockage pour le media center Kodi également installé sur un Raspberry Pi. Continuer la lecture de « Gérer les espaces disques avec LVM »