Solution communautaire

Utilisez ncdu sur CasaOS pour trouver ce qui occupe le stockage

A 2024 CasaOS tutorial introduced ncdu as a quick way to find large folders and mystery disk usage.

Utilisez ncdu sur CasaOS lorsque vous devez trouver quels dossiers consomment réellement de l’espace disque, mais analysez le bon chemin de l’hôte, et pas seulement le minuscule système de fichiers d’un conteneur. Pour les systèmes Linux actuels, le projet en amont fournit des binaires statiques, et ncdu 2.x est la solution la plus rapide pour analyser interactivement l’utilisation du disque.

Le tutoriel BigBear de 2024 est utile comme introduction, mais vous n’avez pas besoin d’un conteneur spécial de l’App Store pour utiliser ncdu. Pour résoudre les problèmes de stockage, un terminal sur l’hôte ou un conteneur avec une cible explicitement montée en lecture seule offre une meilleure visibilité.

À quoi sert ncdu

ncdu est un analyseur interactif de l’utilisation du disque. Il analyse les répertoires, les trie par taille et vous permet d’explorer les grands dossiers sans enchaîner manuellement des du commandes.

La page actuelle du projet ncdu répertorie les binaires statiques de ncdu 2.x pour x86_64, ARM et AArch64.

Commencez par le système de fichiers réellement saturé

Exécutez :

df -h

Identifiez le point de montage disposant de peu d’espace libre. Analysez ensuite ce point de montage au lieu d’exécuter ncdu sans discernement depuis /.

Analyser un chemin de données CasaOS

Exemples courants :

ncdu /DATA
ncdu /media
ncdu /var/lib/docker

Le chemin exact dépend de votre installation. Si Docker ou AppData est la source suspectée, inspectez directement cet emplacement.

Soyez prudent lors de l’analyse des données internes de Docker

/var/lib/docker contient des couches d’images, des couches inscriptibles, des journaux et des métadonnées. ncdu peut indiquer quels répertoires sont volumineux, mais la suppression manuelle de fichiers aléatoires dans overlay peut corrompre l’état de Docker.

Utilisez des commandes de nettoyage adaptées à Docker pour les images, les conteneurs et les caches, plutôt que de supprimer les répertoires internes des couches depuis ncdu.

ncdu dans un conteneur a une visibilité limitée

Si vous exécutez ncdu dans un conteneur, il ne voit que les chemins que vous montez dans ce conteneur. Une analyse de la racine du conteneur ne révèle pratiquement rien sur l’utilisation totale du disque par CasaOS.

Si vous préférez Docker, montez le chemin cible de l’hôte en lecture seule et analysez ce point de montage. Laissez la suppression désactivée pendant le diagnostic.

Trouvez d’abord les grands dossiers AppData

Les applications auto-hébergées peuvent accumuler des miniatures, des journaux, des caches, des bases de données et des métadonnées téléchargées. Le guide du stockage Docker explique pourquoi les données AppData de l’hôte peuvent augmenter même lorsque les images de conteneurs sont petites.

Sources courantes de forte consommation d’espace

  • le cache de transcodage multimédia ;
  • les journaux JSON des conteneurs ;
  • les fichiers de base de données ;
  • les miniatures de photos et les index d’apprentissage automatique ;
  • les dossiers incomplets des clients de téléchargement ;
  • les anciennes sauvegardes ;
  • les images Docker et le cache de compilation.

Ne supprimez rien avant de savoir à qui appartient le dossier

Utilisez ncdu pour identifier le chemin volumineux, puis déterminez quelle application en est propriétaire. Arrêtez l’application concernée avant de supprimer des données susceptibles d’être en cours d’écriture.

Utilisez des exclusions pour rendre les analyses volumineuses plus utiles

Sur un serveur comportant des partages réseau, des sauvegardes ou des disques externes montés, l’analyse du mauvais arborescence peut prendre beaucoup de temps et mélanger des espaces de stockage sans rapport dans un même résultat. Commencez au point de montage exact indiqué par df -h et évitez de traverser les montages distants, sauf s’ils sont à l’origine du problème.

Pour les dépannages récurrents, ncdu peut exporter les données d’analyse afin de comparer l’évolution dans le temps au lieu de réanalyser un système de fichiers volumineux à chaque session.

Comprendre les fichiers supprimés mais encore ouverts

Parfois df indique un système de fichiers plein, tandis que ncdu ne trouve pas suffisamment de fichiers visibles pour l’expliquer. Une cause possible est un processus qui maintient ouvert un fichier déjà supprimé. L’entrée du répertoire a disparu, mais les blocs restent alloués jusqu’à la fermeture du fichier par le processus.

le total de ncdu et df présentent un écart important, examinez les fichiers supprimés mais ouverts avec un outil tel que lsof +L1 s’il est disponible sur l’hôte. Le redémarrage du service responsable peut libérer l’espace après que vous avez compris de quoi il s’agit.

Utilisez ncdu comme outil de mesure, pas comme politique de nettoyage

Il peut être sûr d’effacer un cache volumineux, tandis qu’un répertoire de base de données de taille similaire peut être essentiel. L’intérêt de ncdu est d’indiquer où l’espace a été utilisé ; c’est à l’application concernée de déterminer comment le récupérer.

FAQ

ncdu peut-il supprimer des fichiers ?

Oui, mais supprimez les données avec prudence. Pour les éléments internes de Docker, les bases de données et les données gérées par les applications, privilégiez le processus de nettoyage intégré à l’application.

Pourquoi ncdu indique-t-il moins d’espace que df ?

Parmi les causes possibles figurent les fichiers supprimés mais encore ouverts, les répertoires inaccessibles, les métadonnées du système de fichiers, les instantanés ou les données situées en dehors du point de montage analysé.

Ai-je besoin de BigBearCasaOS pour installer ncdu ?

Non. Il s’agit d’une option de conditionnement. La version amont actuelle fournit également des binaires statiques autonomes.

Par où dois-je commencer l’analyse ?

Utiliser df -h pour identifier le point de montage complet, puis analysez ce chemin précis avec ncdu.