Linux détaillée inode principe - liens durs, des liens souples, la taille et la délimitation InnoDB

contour

Linux, tout est un fichier, et chaque fichier a un inode, dans le inode associé au système de fichiers sera identifié par le numéro d'inode du fichier, pas le nom du fichier. Et d'abord trouver le inode lors de l'accès aux fichiers, recherchez l'emplacement du fichier par inode bloc enregistré.

1, un lien dur

Bien que chaque fichier a un inode, mais il y a une possibilité: plusieurs fichiers du même inode, inode qui est aussi des métadonnées, la position du bloc sont les mêmes, ce qui est ce genre de situation? Peut imaginer la même inode inode est un enregistrement avec ces fichiers, il est le même fichier, le bloc de données ces fichiers dans le pointeur inode du répertoire vers la destination est le même au nom de l'exception que chaque pointeur de fichier correspondant nom différent de l'autre seulement. Ce même fichier inode est connu comme un « lien dur » sous Linux.

inode fichiers liés en dur sont les mêmes, chaque fichier a un « nombre de liens » de la propriété, la deuxième colonne est le nombre de liens sont difficiles à utiliser ls -l, ce qui indique que le document a plusieurs liens durs.

Par exemple, les fichiers dans le répertoire dir1 nom1, ainsi qu'un lien dir2 / nom2 décrit sous la figure à droite respectivement, et leur datablock inode. Ici également noté que la seule différence est qu'ils sont différents enregistrements dans le répertoire des liens durs entre les fichiers. Notez que la figure a un certain nombre d'attributs est balise Lien Count liens durs.

Chaque créer un lien dur d'un fichier est essentiellement un point de plus au pointeur inode inode enregistrement et le nombre de liens plus 1.

L'essence des fichiers supprimés est de supprimer le répertoire du fichier dans lequel le bloc de données dans le pointeur inode correspondant, il réduit aussi le nombre de liens, parce que les pointeurs de blocs sont stockés dans l'inode, les données afin de ne pas vraiment supprimer, s'il y a d'autres pointeurs vers la inode, le pointeur de bloc du fichier est toujours disponible. Lorsqu'un lien dur est le numéro 1 est vrai, supprimez le fichier à supprimer le fichier, cette fois enregistré dans le pointeur de bloc inode il sera également supprimé.

Créer des liens durs ne peuvent pas englober les partitions, car les numéros de inodes sont différents système de fichiers peut être le même, si un lien dur vous permet de créer, copier le numéro de inode conflit inode une autre partition et la partition peuvent avoir été utilisés.

Procédé de création lien dur: ln file_target link_name.

2, des liens souples

lien souple est lien de caractère, le fichier de lien fait référence aux fichiers de liaison de caractères par défaut (note pas un caractère), utilisez le « l » représente son type.

Les liens durs ne peuvent pas créer de système de fichiers croix, sinon le nombre de inode peuvent entrer en conflit. Donc, pour obtenir un lien souple afin d'établir un lien entre les systèmes de fichiers. Comme il est un système inter-fichier, des liens souples doivent avoir leur propre numéro d'inode.

Raccourcis système Windows, des liens souples et fonctionnellement équivalents, il pointe vers le fichier d'origine, le fichier d'origine est endommagé ou perdu, le fichier de lien souple est endommagé. Le contenu peut être considéré comme des liens souples enregistrement de pointeur inode est un chemin cible de chaîne.

Création de façons: ln -s source_file softlink_name , Rappelez-vous qu'il est source_file < --link_name relation de pointage (anti-flèche).

Voir la valeur Softlink: readlink softlink_name

Situé dans le temps de la liaison douce, source_file Bien que pas nécessaire chemin absolu, mais il est recommandé de chemin absolu.

3, la taille et divisée inode

taille inode est un multiple de 128 octets, un minimum de 128 octets. Il a une valeur par défaut de taille, sa valeur par défaut est spécifiée par le fichier /etc/mke2fs.conf. Différents paramètres par défaut du système de fichiers peut être différent.

# /Etc/mke2fs.conf Cat

On a aussi observé dans ce fichier sont également enregistrés par défaut Blocksize et le ratio de répartition inode inode_ratio. inode_ratio = 16384 pour représenter chaque 16384 octets alloués 16KB dire un inode de numéro, parce que la taille de bloc par défaut = 4 Ko, de sorte que chacun des quatre numéros affectés à un inode de bloc. Bien sûr, ce numéro d'inode attribué uniquement pré-alloué, pas vraiment représentant toute utilisation, chaque fichier après tout, sera attribué un numéro d'inode. Mais la répartition des inode s'occupera bloc, et sa propre taille de 256 octets est pas trop petit, de sorte que le nombre d'inode des déchets représente un gaspillage d'espace.

Maintenant que le rapport de distribution de inode, on peut calculer combien de blocs du nombre de inode de chaque groupe est affecté, il est également en mesure de calculer le nombre d'occupation de bloc table inode.

Si le système de fichiers est stocké dans un grand nombre de films et autres fichiers volumineux, inode gaspillera beaucoup, inode perdre beaucoup d'espace occupé. Mais aucune façon, vous ne savez pas le système de fichiers est le système de fichiers utilisé pour stocker des données ce que, la quantité de données, la quantité de données.

4, système de fichiers poste réservé numéros inode

Poste inode mis de côté certaines caractéristiques particulières font usage, comme suit: Certains peuvent ne pas toujours exactes, les numéros de inode correspondant de documents spécifiques que vous pouvez utiliser la vue « trouver / -inum NUM ».

  • inode spéciale Ext4
  • Inode Numéro But
  • 00 inode n'existe pas
  • 1 système de fichiers virtuel, tel que / proc et / sys
  • 2 répertoire
  • indice 3 ACL
  • 4 Les données ACL
  • 5 chargeur de démarrage
  • 6 répertoire supprimé
  • 7 groupe bloc réservé descripteur inode
  • 8 inode journal
  • Le premier 11 non réservé inode, habituellement perdu + found

Par conséquent dumpe2fs informations sur le système de fichiers ext4, il peut être observé fisrt inode peut être 11 à 12 peut.

Et a noté que inode 2, cette fonction « / » passera au cours de l'accès aux fichiers.

Notez que chaque système fichier est attribué ses propres numéros d'inodes, il est susceptible de se produire avec le même numéro d'inode de fichiers entre les systèmes de fichiers différents. Par exemple:

# Recherche / -ignore_readdir_race -inum 2 -ls

Vu des résultats, en plus du nombre Inode racine 2, il existe plusieurs inode de fichier est 2, ils appartiennent tous à un système de fichiers séparé, une partie du système de fichiers virtuel, tel que / proc et / sys.

Devops et plus tard partageront les aspects DBA plus de contenu, des amis intéressés peuvent regarder -

Dans le poisson occupé lorsque le mois de rappeur gagner combien?
Précédent
2019 Chine (Xinji) Cuir international ouverture Fur Fashion Week
Prochain
Ali Jingdong osent de Hukouduoshi, il alla chercher un million par jour, avec ces quatre mots est
Détail base de données MySQL de type JSON - utilisation, ce qui signifie, fonctions intégrées
Huawei redéfinissent la TV! Xiaomi vous peur?
Détail commande Linux --alias Utilisation avancée
Xinhua Nouvelles Agence tir, moteur de recherche lancé! Baidu va finalement pas sortir?
intégrité structurale détaillée système de fichiers Linux - bloc de guidage, superblock, TDG, etc.
Ouvert raccroché! Xiamen Exposition Sport Est Xincheng latest exposition de plan! Une grande vague a frappé Mito
Ali 20 milliards d'investissement, bonjour voyage ce « cheval noir » est de savoir comment Trempé?
Dix étapes Dafa après --DBA comment localiser rapidement la base de données de défaut rencontré
Laissez en attente d'arrêt Ma, prendre l'initiative de serrer la main, qui sont-ils exactement?
mécanisme WAL pour expliquer la base de données MySQL - pour écrire le journal, le disque d'écriture
Fonctionnaire + rédacteur de carrière ! Le dernier recrutement de milliers de personnes du Hebei, dépêchez-vous de vous inscrire