Je comprends ce qu'est un inode mais quelle est la définition exacte d'un inode orphelin? Je ne comprends pas vraiment ce que cela signifie.
MISE À JOUR
Il fut un temps où un serveur que je gérais manquait d'inodes mais quand je faisais un df -h cela me montrait que le serveur n'avait que 60% d'espace utilisé. Je suppose que c'est à cause des inodes orphelins. Comment tous les inodes peuvent-ils être utilisés mais il y a encore de "l'espace" sur le serveur? Pouvez-vous en parler dans vos réponses?
filesystems
inode
ninjacoder
la source
la source
df -i
affichera les informations correspondantes pour les inodes.Réponses:
Un inode orphelin est un inode qui n'est pas attaché à une entrée de répertoire dans le système de fichiers, ce qui signifie qu'il ne peut pas être atteint.
Les inodes orphelins peuvent apparaître pour plusieurs raisons:
fsck
crée de nouvelles entrées de répertoire pour les inodes orphelins danslost+found
.la source
df -h
cela m'a montré que le serveur n'avait que 60% d'espace utilisé. Je suppose que c'est à cause des inodes orphelins. Comment tous les inodes peuvent-ils être utilisés mais il y a encore de "l'espace" sur le serveur?Un inode orphelin est un fichier «semi-supprimé»: il n'a plus d'entrée de répertoire, mais il est toujours ouvert dans un certain processus, donc les données sont toujours présentes sur le disque. Lorsque le dernier processus qui a ouvert ce fichier le ferme, le fichier sera entièrement supprimé et l'inode orphelin disparaîtra.
Un inode orphelin utilise à la fois un inode et l'espace disque pour stocker le fichier, donc les deux
df
et ledf -i
compter comme utilisé. Ainsi, si le disque est signalé comme plein mais qu'ildf
reste de l'espace, cela ne peut pas être lié aux inodes orphelins. Les inodes orphelins sont l'une des raisons pour lesquelles l'utilisation du système de fichiers signalée pardf
et la taille totale du fichier signalée pardu
peuvent différer; voir Pourquoi existe-t-il tant de façons différentes de mesurer l'utilisation du disque?pour plus de détails sur ce sujet.De nombreux systèmes de fichiers ont réservé un nombre fixe d'inodes lors de la création du système de fichiers, ce qui signifie que vous pouvez avoir au maximum autant de fichiers sur le système de fichiers. Le nombre d'inodes est un compromis entre l'espace utilisé par les inodes et la possibilité de créer de nombreux fichiers. S'il n'y a plus d'espace sur le système de fichiers, vous ne pouvez pas agrandir les fichiers existants ou créer de nouveaux fichiers (peut-être pouvez-vous toujours créer des fichiers vides dans les répertoires existants, tant qu'ils ne remplissent que des blocs partiellement utilisés et non nécessitant l'attribution d'un nouveau bloc). S'il n'y a plus d'inode libre, vous pouvez agrandir des fichiers existants mais vous ne pouvez pas créer un nouveau fichier.
Le noyau signale la même erreur aux applications, qu'un système de fichiers soit plein en raison d'un manque d'espace de données ou d'un manque d'inodes. Ainsi, vous pouvez obtenir une erreur «disque plein» même s'il reste de l'espace de données, si l'opération nécessite un nouvel inode et que la table des inodes est pleine. Exécutez
df -i
pour savoir combien d'inodes sont utilisés et combien il en reste.la source
Un inode orphelin est celui qui a été dissocié mais qui est toujours ouvert dans un autre processus. Par exemple, en cours d'exécution
tail -f {file}
dans un shell suivi d'rm {file}
un autre. Le système de fichiers en garde la trace afin de pouvoir les nettoyer à la fin du processus.C'est parfaitement normal chaque fois que vous avez un démontage impur. Ce sont simplement des fichiers qui ont été supprimés, mais qui étaient toujours ouverts lorsque le fs a été remonté en lecture seule. Ils ne sont pas la cause, mais simplement un symptôme.
Pour le problème des inodes, exécutez cette requête pour obtenir la liste de la quantité d'inodes utilisée dans tous les répertoires
Vous pouvez vous référer à ceci et à cela pour plus de méthode à vérifier.
la source