web-dev-qa-db-fra.com

ext4 limite du système de fichiers max inode - quelqu'un peut-il s'il vous plaît expliquer?

Récemment, nous avons eu un problème où l'un des systèmes de fichiers ext4 semblait incapable de gérer un très grand nombre de fichiers, more than 6mln in this case, malgré un espace suffisant. Est-ce 6mln le nombre maximum qu'un système de fichiers ext4 peut avoir lorsqu'il est formaté avec tous les paramètres par défaut? J'ai essayé de le rechercher sur Google, mais je n'ai pas obtenu de réponse définitive. Quelqu'un ici peut-il ombrager un peu de lumière, s'il vous plaît? À votre santé!!

17
MacUsers

Il n'y a pas de défaut en tant que tel pour ext4, cela dépend de la taille de l'appareil et des options choisies lors de la création. Vous pouvez vérifier les limites existantes en utilisant

tune2fs -l /path/to/device

Par exemple,

root@xwing:~# tune2fs -l /dev/sda1
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name:   <none>
Last mounted on:          /

[lots of stuff snipped]

Inode count:              1277952
Free inodes:              1069532
Inodes per group:         8192
Inode blocks per group:   512

[lots of stuff snipped]

Selon man mkfs.ext4

-i octets-par-inode

Spécifiez le rapport octets/inode. mke2fs crée un inode pour chaque octet par octet d'espace sur le disque. Plus le rapport octets-par-inode est grand, moins il y aura d'inodes créés. Cette valeur ne doit généralement pas être inférieure à la taille de bloc du système de fichiers, car dans ce cas, il y aurait plus d'inodes que jamais. Soyez averti qu'il n'est pas possible d'augmenter le nombre d'inodes sur un système de fichiers après sa création, alors soyez prudent en décidant de la valeur correcte pour ce paramètre.

21
EightBitTony

Cela dépend de la façon dont vous avez formaté le système de fichiers. En utilisant tune2fs -l <device> vous pouvez trouver le nombre d'inodes de votre appareil, probablement environ 6 millions d'inodes dans votre cas. Chaque fichier ou répertoire utilise un inode.

Pour autant que je sache, la seule possibilité d'augmenter le nombre d'inodes est de reformater votre système de fichiers. Le -i paramètre au mkfs peut être utilisé pour spécifier le rapport octets/inode. La valeur par défaut est définie dans /etc/mke2fs.conf (sur mon système: 16384).

Un rapport octets/inode plus grand définit moins d'inodes, un plus petit plus d'inodes. Les valeurs par défaut fonctionnent bien dans la plupart des cas, mais si vous avez un grand nombre de petits fichiers, vous pouvez rencontrer la limite et devrez peut-être formater le système de fichiers avec un rapport octets/inode plus petit.

6
Oliver