Comment puis-je créer une partition EXT4 avec un très grand nombre d'inodes?

15

À propos des inodes

Dans Ubuntu, chaque fichier et répertoire est un soi-disant inode. Vous pouvez utiliser df -ipour vérifier le nombre d'inodes utilisés et disponibles pour tous les systèmes de fichiers montés.

Question

Si vous créez une nouvelle partition EXT4, elle utilise le nombre d'inodes par défaut, qui dans des conditions normales devrait être suffisant. Cependant, si vous exécutez un système qui produit des millions de petits fichiers, comment devez-vous créer une nouvelle partition EXT4 avec un très grand nombre d'inodes? Quel est le maximum?

commentaires

  • Vous ne pouvez PAS modifier le nombre d'inodes disponibles APRÈS la création de la partition EXT4
bzero
la source
@Rinzwind Ce n'est pas la même question car il demande seulement comment trouver le grand nombre de petits fichiers ... il n'explique pas comment formater une nouvelle partition EXT4 avec un très grand nombre d'inodes. Je vais rouvrir ma question.
bzero
Comment puis-je désactiver cette bannière supérieure en disant que cette question a peut-être déjà été répondue? C'est une question différente.
bzero

Réponses:

12

L'utilisation de mkfs -t ext4 -N iNumberOfINodes /dev/XdYwhere iNumberOfINodesest un nombre 32 bits, de sorte que le nombre maximal possible d'inodes sur tout système de fichiers ext2 / 3/4 est 2 ^ 32-1, ou 4 294 967 295 (~ 4 milliards).

Fabby
la source
5
Existe-t-il des inconvénients de performances connus lors de la configuration de 4 000 000 000 iNodes?
bzero
1
en fait ce n'est pas le cas: mkfs.ext4: trop d'inodes (4294967296), spécifiez <2 ^ 32 inodes
dalore
@dalore off-by-one error: 2 ^ 32-1 ... Merci pour le feed-back, réponse adaptée ... :-)
Fabby
Notez que j'ai également essayé cela, mais j'ai obtenu une autre erreur qui n'était pas très informative sur le numéro accepté.
dalore
avez-vous essayé 2 ^ 31 ???
Fabby
3

Voir la page de manuel pour mkfs.ext4.

man mkfs.ext4

L'option -Nvous permet de définir le nombre d'inodes créés dans le système de fichiers, et l'option -Ivous permet d'augmenter leur taille (afin qu'ils puissent gérer des attributs de fichiers plus étendus). Ajustez pour s'adapter à votre situation lorsque vous créez le système de fichiers.

ubfan1
la source
Merci, donc -N est utilisé au moment de la création alors que -l peut être utilisé pour ajuster le nombre d'inodes APRÈS la création de la partition? Je vais maintenant regarder de plus près les pages de manuel ...
bzero
Le -Imodifie la taille de chaque inode en octets au moment de la création. Il ne vous permettra pas d'en augmenter le nombre disponible sur les systèmes de fichiers existants.
TwoD
"allows you to increase their size (so they can handle more files)"L'augmentation de la taille de l'inode ne signifie pas que vous pouvez gérer plus de fichiers, plus le rapport octets-par-inode est grand, moins d'inodes seront créés, ce qui signifie que moins de fichiers peuvent être traités.
ZN13
1

C'est toujours un compromis entre les inodes et la taille des blocs. 32 bits est le maximum, mais le maximum réel dépend de la taille de votre disque / système de fichiers divisée par la taille du bloc. Chaque fichier comprend au moins un bloc. Vous pouvez également spécifier la taille du groupe qui détermine le nombre de blocs par inode. (c'est-à-dire octets / inode)

Tout cela déterminera le nombre d'inodes que vous pouvez allouer pour une taille de disque et une taille de bloc particulières.

C'est également un compromis entre performance et capacité de fichier. Une taille de bloc plus petite signifie que les fichiers volumineux seront fragmentés et nécessiteront plus d'opérations d'E / S pour charger le fichier.

Si vous allez personnaliser, vous devez lire ou bien vous vous retrouvez avec un système de fichiers totalement inadapté à ce que vous pensiez vouloir.

Ellison Chan
la source