Ci-dessous l'information est tirée de la page de l'homme, je voudrais savoir la différence entre les octets-par-inode et Inode taille?
-i bytes-per-inode
Spécifiez le ratio octets/inode. MKE2FS crée une inode pour chaque octets d'octets-per-inode d'espace sur le disque. Plus le rapport entre les octets-per-inode, les moins d'inodes seront créés. Cette valeur ne devrait généralement pas être plus petite que la blocsize du système de fichiers, puisque trop d'inodes sera faite.Be a averti qu'il n'est pas possible d'étendre le nombre d'inodes sur un système de fichiers après sa création. Soyez donc prudent de décider le bon valeur pour ce paramètre.
-I inode-size
Spécifiez la taille de chaque inode dans BYTES.MKE2FS crée des inodes de 256 octets par défaut. Dans les noyaux après 2.6.10 et certains fournisseurs plus tôt noyaux qu'il est possible d'utiliser inodes plus de 128 octets pour stocker les attributs étendus pour une meilleure valeur inode taille performance.The doit être une puissance de 2 supérieure ou égale à 128.The plus le inode -Sisez plus l'espace La table de l'inode consommera, ce qui réduit l'espace utilisable dans le système de fichiers et peut également avoir une performance d'impact négative. Les attributs extrémiques stockés dans de grandes inodes ne sont pas visibles avec des noyaux plus anciens, et ces systèmes de fichiers ne seront pas montables avec 2,4 noyaux. à all.It n'est pas possible de modifier cette valeur après le système de fichiers est créé.
Eh bien, d'abord, qu'est-ce qu'une inode? Dans le monde Unix, une inode est une sorte d'entrée de fichier. Un nom de fichier dans un répertoire est juste une étiquette (un lien!) À une inode. Une inode peut être référencée dans plusieurs endroits (HardLinks!).
Pour une raison quelconque inconnue, ce paramètre est documenté quelquefois comme octets-per-inode et parfois comme inode_ratio. Selon la documentation, il s'agit du ratio d'octets/inode. La plupart des humains auront une meilleure compréhension lorsqu'ils sont indiqués (excusez mon anglais):
La formule (prise du mke2fs
code source ):
inode_count = (blocks_count * blocksize) / inode_ratio
Ou même simplifié (en supposant "la taille de la partition" est à peu près équivalente à blocks_count * blocksize
, Je n'ai pas vérifié l'allocation):
inode_count = (partition_size_in_bytes) / inode_ratio
NOTE 1: Même si vous fournissez un nombre fixe d'inode à FS Création Time (mkfs -N ...
), la valeur est convertie en un rapport, vous pouvez donc vous adapter à plus d'inode lorsque vous étendez la taille du système de fichiers.
Note 2: Si vous syntonisez ce ratio, assurez-vous d'allouer de manière significative plus d'inode que de ce que vous envisagez d'utiliser ... Vous ne voulez vraiment pas reformater votre système de fichiers.
Il s'agit du nombre d'octets que le système de fichiers allouera/réservera pour chaque inode le système de fichiers peut avoir. L'espace est utilisé pour stocker les attributs de l'inode (lecture intro to inodes ). En ext3, la taille par défaut était de 128. En ext4, la taille par défaut est de 256 (pour stocker extra_isize
et fournir de l'espace pour les attributs étendus en ligne). Lire Linux: pourquoi changer la taille de l'inode?
Remarque: x les octets de disjkspace sont alloués pour chaque inode alloué, qu'il soit libre ou utilisé, où x = taille d'inode.
octets-per-inode détermine le nombre d'inodes créés pour ce système de fichiers; La taille d'inode détermine la taille de chacune de ces inodes.
Vous avez besoin de beaucoup d'inodes si vous avez l'intention de mettre lots de petits fichiers (&/ou de nombreux répertoires) sur les fichiersytem.
Afaik, vous n'avez vraiment besoin que d'inodes de plus que la taille par défaut de 256 octets si vous souhaitez stocker attributs étendus pour vos fichiers. Psusi dit dans les commentaires que ce qui n'est pas correct.
Schéma de système de fichiers extrêmement approximatif:
|_|__inodes__|_______________________DATA_________________________________|
J'ai vraiment aimé la réponse des SJAS, cela donne l'essence de la différence.
C'est juste ma propre expansion (comme je ne peux pas commenter ni voter, tout simplement à commencer par ce stackexchange) et je voulais une réponse pour moi-même indiquée de manière équilibrée dans des termes non techniques compréhensibles pour l'utilisateur qui doit prendre la décision pendant le volume des données. Configuration mais ne connaît pas nécessairement tous les détails de la mise en œuvre.
Personas/Objets: - Volume (s) des données dans les périphériques de stockage - Fichiers en volume (s) - Dispositifs de stockage, ils sont formatés et fournissent des blocs d'octets et leurs adresses - emplacements de fichiers dans le stockage
Actions: Création/Suppression/Renommer des fichiers et des dossiers par le système d'exploitation dans le stockage, le fichier lit/écrit/déplace, les modifications des autorisations, etc.
Le fichier de taille de n octets doit être créé dans "Chunks" (blocs). Bien que théoriquement on puisse penser que les fichiers pourraient être gérés comme des séquences d'octets uniques (logiquement, ils peuvent) tout ce que nous devrions gérer des fichiers dans l'espace serait un index désigné indiquant certaines propriétés du fichier (nom etc.) et où chaque fichier commence dans le stockage. Cependant, à cause de la manière dont le matériel est conçu avec les "bus" et "blocs" et des considérations de performance ces "morceaux" sont de taille particulière et un multiple de la taille du bloc du support (par exemple 512 octets, 4096 octets) et sont Géré par des couches INIODES qui indique à la prochaine couche sur les emplacements des fichiers et comment les morceaux sont enfilés ensemble lorsqu'ils doivent être trouvés, chargés à la mémoire, etc.
Si on avait un gros rouleau de papier (volume) et devait concevoir un stockage d'informations pour des documents composés de pages (de caractères ou de bits d'informations) pour stocker des documents de multipage ce qu'il faut, il faut un index (pour trouver des documents), un espace de stockage pour les pages (avec quelques positions simples de pages). Dans le mécanisme de collement Unix (inodes) et la coupe réelle en pages. La taille de l'inode est la taille d'entrée d'index (plus ou moins) octets-per-inode est la taille de la page
Effets de la modification des deux paramètres en question:
changin Inode-Taille - Habituellement, il n'est pas nécessaire de changer, coller avec la valeur par défaut (conformément au lien publié dans la réponse précédente à une discussion)
octets-per-inode - affecte le nombre maximal de fichiers que l'on peut éventuellement créer dans le volume (éventuellement performance et "gaspillage" d'octets inutilisés)
Retour à l'analogie du rouleau en papier: imaginez avoir à écrire et à stocker un document de taille particulière (un fichier) dans un tel système (ou de nombreux documents de taille variable) - si la taille de la page, qui est présentée pendant le "système d'écriture et de stockage "Définition et non flexible, c'est que le même document peut nécessiter de nombreuses pages, si la taille de la page" Système "est très grande et que les tailles de document sont petites que beaucoup de papier pourraient potentiellement être gaspillées en ayant des blancs et d'installer de petits fichiers sur une seule page. Si la taille de la page est grande - il y a moins de pages à utiliser pour le document, mais il pourrait y avoir beaucoup de "espace vide perdu" dans la dernière page utilisée. Donc tout dépend ... sur la taille des fichiers qui seront utilisés et combien. L'autre considération est la vitesse de la recherche et de la création du document de nombreuses pages.
J'espère que cela a du sens (cela fait pour moi) et s'il vous plaît commenter si j'ai sérieusement abusé de toute partie de la conception ext ou des options MKFS.