Comment augmenter la quantité d'inodes de Ubuntu Linux?
Cela n'arrive pas souvent, mais parfois vous pouvez manquer d'inodes sur un système Linux.
Pour trouver votre utilisation actuelle d'inode, exécutez
$ df -i
oracle@UBUNTU-H170N-WIFI:~$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 2033718 667 2033051 1% /dev
tmpfs 2039252 1311 2037941 1% /run
/dev/sda3 375360 25452 349908 7% /
/dev/sda4 1001712 181566 820146 19% /usr
tmpfs 2039252 87 2039165 1% /dev/shm
tmpfs 2039252 5 2039247 1% /run/lock
tmpfs 2039252 18 2039234 1% /sys/fs/cgroup
/dev/sda1 0 0 0 - /boot/efi
/dev/sda5 2752512 23171 2729341 1% /opt
/dev/sda6 1001712 41 1001671 1% /tmp
/dev/sda7 500960 11514 489446 3% /var
/dev/loop0 12819 12819 0 100% /snap/core/6673
/dev/sda8 670432 13657 656775 3% /home
/dev/loop2 35 35 0 100% /snap/canonical-livepatch/58
/dev/loop3 25385 25385 0 100% /snap/gtk-common-themes/1198
/dev/loop1 12816 12816 0 100% /snap/core/6350
/dev/loop7 27345 27345 0 100% /snap/gtk-common-themes/818
/dev/loop4 747 747 0 100% /snap/gnome-system-monitor/57
/dev/loop5 27631 27631 0 100% /snap/gnome-3-26-1604/82
/dev/loop6 27707 27707 0 100% /snap/gnome-3-28-1804/23
/dev/loop8 9862 9862 0 100% /snap/core18/782
/dev/sdb2 103911564 4040 103907524 1% /mnt/E030BF9830BF73DE
/dev/loop10 271 271 0 100% /snap/gnome-characters/206
/dev/loop9 27631 27631 0 100% /snap/gnome-3-26-1604/74
/dev/loop13 354 354 0 100% /snap/gnome-logs/57
/dev/loop11 1598 1598 0 100% /snap/gnome-characters/139
/dev/loop12 1269 1269 0 100% /snap/gnome-calculator/260
/dev/loop14 734 734 0 100% /snap/gnome-system-monitor/70
/dev/loop15 1720 1720 0 100% /snap/gnome-logs/45
/dev/loop16 1549 1549 0 100% /snap/gnome-calculator/352
/dev/sdb4 550191724 17424 550174300 1% /mnt/F6A4656DA46530F3
/dev/sdb3 81743792 6932 81736860 1% /mnt/7842F1D742F199D8
tmpfs 2039252 25 2039227 1% /run/user/121
tmpfs 2039252 45 2039207 1% /run/user/54321
/dev/sde1 0 0 0 - /media/oracle/SANTACRUZ
/dev/sdd1 0 0 0 - /media/oracle/TRANSCEND
Pour en savoir plus sur les inodes, référez-vous à Wikipedia pour une bonne description.
Un disque avec 0 inodes disponibles est probablement plein de fichiers très petits, quelque part dans un répertoire spécifique (applications, fichiers temporaires, fichiers PID, fichiers de session, ...). Chaque fichier utilise (au moins) 1 inode. De nombreux millions de fichiers utiliseraient de nombreux millions d'inodes.
Si les inodes de votre disque sont pleins, comment pouvez-vous les augmenter?
La réponse est probablement que vous ne le pouvez pas.
La quantité d'inodes disponibles sur un système est décidée lors de la création de la partition. Par exemple, une partition par défaut de EXT3/EXT4 a un ratio octets par inode d'un inode tous les 16384 octets (16 Ko).
Une partition de 10 Go aurait environ 622 592 inodes. Une partition de 100 Go en a environ 5 976 883.
Voulez-vous augmenter la quantité d'inodes?
Augmentez la capacité du disque entièrement ou re-formatez le disque en utilisant la commande suivante :
$ sudo mkfs.ext4 -i # pour écraser manuellement le ratio octets-par-inode.
Qu'est-ce que le ratio octets-par-inode?
Spécifiez le ratio octets/inode. 'mkfs.ext4' crée un inode pour chaque octets-par-inode octets d'espace sur le disque. Plus le ratio octets-par-inode est grand, moins d'inodes seront créés. Cette valeur ne devrait généralement pas être inférieure à la taille de bloc du système de fichiers, car dans ce cas plus d'inodes seraient créés qu'il ne peut en être utilisés. Gardez à l'esprit qu'il n'est pas possible de modifier ce ratio sur un système de fichiers une fois qu'il est créé, donc soyez prudent en décidant de la valeur correcte pour ce paramètre. Notez que le redimensionnement d'un système de fichiers modifie le nombre d'inodes pour maintenir ce ratio.
Pour en savoir plus sur la commande mkfs.ext4
, consultez la page de manuel avec la commande:
$ man mkfs.ext4
Référez également mke2fs - create an ext2/ext3/ext4 filesystem