Plusieurs paramètres de stockage du système de fichiers

taille d'inode

Lorsque le système de fichiers est créé (formaté), la zone de stockage est divisée en deux zones de stockage consécutives. Une donnée de méta-information utilisée pour enregistrer les objets du système de fichiers, qui est une table composée d'inodes, chaque inode fait 256 octets ou 128 octets par défaut. L'autre est utilisé pour enregistrer les données de contenu de "l'objet du système de fichiers", qui est divisé en secteurs de 512 octets et en blocs de 4K octets composés de 8 secteurs. Un bloc est l'unité de base lors de la lecture et de l'écriture. Le nombre total d'inodes pour un système de fichiers est fixe. Cela limite le nombre total d'objets du système de fichiers que le système de fichiers peut stocker. Dans une implémentation typique, tous les inodes occupent environ 1 % de la capacité de stockage du système de fichiers.

Chaque "objet de système de fichiers" dans le système de fichiers correspond à une donnée "inode", et est identifié par une valeur entière. Cet entier est souvent appelé le numéro d'inode ("i-number" ou "inode number"). Etant donné que l'emplacement de stockage et le nombre total d'entrées de la table d'inodes du système de fichiers sont fixes, le numéro d'inode peut être utilisé pour indexer la table d'inodes.

Inode stocke certaines méta-informations des objets du système de fichiers, telles que le propriétaire, les droits d'accès (lecture, écriture, exécution), le type (fichier ou répertoire), l'heure de modification du contenu, l'heure de modification de l'inode, l'heure du dernier accès, le système de fichiers correspondant. bloc mémoire, etc. Connaissant le numéro d'inode d'un fichier, l'adresse de stockage des données de contenu du fichier peut être trouvée dans les métadonnées d'inode.

Sous Linux, le nom du fichier n'est pas enregistré dans l'inode du fichier, mais le nom du fichier est enregistré dans le bloc du répertoire. Par conséquent, lorsque vous ajoutez/supprimez/renommez des fichiers, cela est lié à la permission w du répertoire. Une autre sensation intuitive est que vous pouvez renommer le fichier que vous utilisez, changer de répertoire, ou même le mettre à la corbeille, sans affecter l'utilisation du fichier en cours, ce qui est inimaginable sous Windows.

taille de bloc

Le secteur (secteur) est la plus petite unité de données de lecture et d'écriture de disque (la taille typique est de 512 octets), qui est déterminée lors de la conception du matériel de disque. De même, un bloc est la plus petite unité lorsque le système de fichiers lit et écrit des données. Ceci est déterminé lors de la création du système de fichiers. La taille de bloc typique est de 1024/4096 octets. On peut constater que la taille de bloc est exactement un multiple entier de la taille du secteur, ce n'est bien sûr pas un hasard, en effet un bloc est composé de plusieurs secteurs consécutifs.

Dans certains systèmes de fichiers (tels que ext2), afin de rendre la gestion du système de fichiers plus efficace, plusieurs blocs sont formés dans un groupe de blocs.

groupe de blocs

Le système de fichiers Ext4 divise l'espace disque en plusieurs groupes, et gère l'espace disque en unités de ce groupe.Ce groupe est appelé groupe de blocs (Block Group). Alors pourquoi diviser en groupes de blocs ? La raison principale est de faciliter la gestion du disque. Le disque étant divisé en plusieurs groupes, la probabilité de collision lorsque la couche supérieure accède aux données sera considérablement réduite, améliorant ainsi les performances globales du système de fichiers. En termes simples, un groupe de blocs est une zone de disque et, en même temps, il contient des métadonnées pour gérer le disque dans cette zone.

En un mot, nous savons que le super bloc gère l'ensemble du système de fichiers (ou compris comme le disque qui héberge l'ensemble du système de fichiers), tandis que le groupe de blocs gère le système de fichiers dans la zone (ou compris comme le disque), et le la granularité de la gestion diminue progressivement . Nous en apprendrons également plus tard sur les unités de gestion plus fines.

planificateur io

Chaque périphérique bloc ou partition d'un périphérique bloc a sa propre file d'attente de requêtes (request_queue), et chaque file d'attente de requêtes peut choisir un planificateur d'E/S pour coordonner la requête soumise. L'objectif fondamental du planificateur d'E/S est d'organiser les demandes en fonction de leurs numéros de secteur correspondants sur le dispositif de bloc, de manière à réduire le mouvement de la tête magnétique et à améliorer l'efficacité. Les requêtes dans la file d'attente des requêtes de chaque appareil recevront une réponse dans l'ordre. En fait, en plus de cette file d'attente, chaque ordonnanceur lui-même maintient un nombre différent de files d'attente pour traiter les demandes soumises, et la demande en haut de la file d'attente sera déplacée vers la file d'attente des demandes en temps voulu pour attendre une réponse.

journal facultatif

(1).journal
data=journal mode fournit un journal complet des blocs de données et des métadonnées. Toutes les données seront d'abord écrites dans le journal, puis écrites sur le disque (support de stockage non volatile hors tension). Lorsque le système de fichiers tombe en panne, le journal peut être rejoué pour ramener les données et les métadonnées à un état cohérent. Les performances du mode journal sont les plus faibles des trois modes, car toutes les données doivent être enregistrées par le journal.
(2).ordered
Dans le mode data=ordered, le système de fichiers ext4 ne fournit que des journaux de métadonnées, mais il regroupe logiquement les informations de métadonnées et les blocs de données liés aux modifications de données dans une unité appelée transaction. Lorsque les métadonnées doivent être écrites sur le disque, les blocs de données associés aux métadonnées sont écrits en premier. Autrement dit, les données sont d'abord placées sur le disque, puis les métadonnées sont enregistrées. En général, les performances de ce mode sont légèrement inférieures à la réécriture mais beaucoup plus rapides que le mode journal.
(3).writeback
En mode data=writeback, lorsque les métadonnées sont soumises au journal, les données peuvent être directement soumises au disque. Autrement dit, le journal des métadonnées sera effectué, mais les données ne seront pas enregistrées et il n'y a aucune garantie que les données seront placées sur le disque avant les métadonnées. writeback est le meilleur mode de performance fourni par ext4.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43912621/article/details/131824371
conseillé
Classement