Qu'est-ce que le journal?

8

J'ai arrêté mon ordinateur à la dure et au prochain démarrage, il y a eu un message au démarrage pendant plusieurs secondes disant recovering journal. Quatre startups plus tard et le message n'était pas là - seulement la première fois. On dirait qu'il n'y a pas de conséquences ou d'effets secondaires. Grâce à cette question, je sais pourquoi cela s'est produit, mais nulle part sur Internet ne dit ce qu'est le journal. Il n'y a aucun problème avec ça, je suis juste intéressé par ce que c'est.

Jacob
la source

Réponses:

5

De nombreux systèmes de fichiers modernes utilisent un journal comprenant NTFS, Ext3 / 4, XFS, HFS + et autres. Le journal aide à deux choses, en évitant la corruption du système de fichiers et en accélérant la récupération après une panne telle qu'une panne de courant ou une panne du système. Un système de fichiers comprend deux composants principaux: les données et les métadonnées. Les données sont le contenu d'un fichier, d'une image, d'une vidéo, de documents et, finalement, c'est ce qui donne au système de fichiers sa valeur. Les métadonnées décrivent la structure du système de fichiers, y compris la façon dont les fichiers sont nommés, stockés dans des répertoires, les autorisations d'accès, les heures de modification des fichiers et les zones d'enregistrement du disque qui sont en cours d'utilisation ou qui peuvent être allouées librement à d'autres fichiers à mesure qu'ils grandissent ou sont créées. Si les métadonnées sont corrompues en raison d'un plantage du système, cela pourrait entraîner une perte / corruption de données supplémentaire. Par exemple, une partie du disque peut être sélectionnée pour être allouée à un fichier, mais si elle n'est pas enregistrée correctement avant un plantage, elle peut être ajoutée à la liste des blocs de données du fichier, mais toujours dans la liste des blocs de données libres et allouée à un deuxième fichier plus tard. Maintenant, il y a deux fichiers qui partagent les mêmes blocs de données / contenu.

Le journal est un emplacement sur le disque réservé à l'enregistrement des modifications du système de fichiers. Les détails exacts de ce qui est modifié sont d'abord écrits dans le journal situé dans un seul emplacement sur le disque, puis, après la mise à jour du journal, les modifications sont appliquées aux emplacements appropriés sur le disque qui peuvent nécessiter plusieurs écritures. Une fois les mises à jour effectuées, l'entrée de journal est marquée comme terminée. Après un plantage, le système n'a qu'à examiner le journal pour les entrées incomplètes et les compléter pour réparer le système de fichiers. Cela accélère la récupération et garantit qu'un changement est effectué entièrement ou pas du tout. Si un bloc est alloué à un fichier en croissance, il sera ajouté à la liste des blocs du fichier et également marqué comme en cours d'utilisation.

De plus, sur les systèmes de fichiers qui prennent en charge la journalisation, le plus souvent, ce n'est que la journalisation des métadonnées pour préserver la structure, mais pas les données elles-mêmes. La journalisation de données complètes est normalement assez coûteuse et lente, mais moins cruciale que les métadonnées. Il est également possible d'activer les données si nécessaire.

De plus, pour terminer, il existe certains systèmes de fichiers qui n'offrent pas actuellement de journalisation, notamment FAT32, exFAT, Ext2 et UDF. En cas de plantage lors d'une mise à jour, une analyse complète du système de fichiers doit être effectuée pour détecter toute erreur ou corruption.

pingouin359
la source
8

Quelqu'un sait-il ce qu'est un journal?

Une partie d'un système de fichiers moderne est une fonction appelée "journalisation". Nous utilisons "ext4" comme système de fichiers. (ext3, ext2 sont des versions plus anciennes. NTFS est un équivalent de Microsoft.)

Un système de fichiers de journalisation est un système de fichiers qui assure le suivi des modifications qui ne sont pas encore validées dans la partie principale du système de fichiers en enregistrant les intentions de ces modifications dans une structure de données appelée «journal», qui est généralement un journal circulaire. En cas de panne du système ou de panne de courant, ces systèmes de fichiers peuvent être remis en ligne plus rapidement avec moins de risques de corruption

Source: Wikipedia - Système de fichiers de journalisation , cite: IBM - Anatomie des systèmes de fichiers de journalisation Linux

Fondamentalement, le message signifie que le système a effectué une vérification d'intégrité sur cette partie de votre système de fichiers. Il est forcé par le système, donc généralement il n'y a rien à craindre. Lorsque vous avez des coupures de courant, le journal peut être endommagé et, à moins que votre disque dur ne soit vraiment cassé, il a tendance à être réparé lors de cette vérification.

Rinzwind
la source
1
Est-il exact de dire que la journalisation est utilisée pour protéger l'intégrité des systèmes de fichiers, mais pas nécessairement l'intégrité des fichiers (leur contenu)?
Ralf
2
@Ralf: Cela dépend uniquement de ce qui est journalisé. JFFS2, par exemple, journalise chaque écriture et protège ainsi l'intégrité de toutes les données. HFS + d'Apple ne journalise que les métadonnées du système de fichiers, il ne protège donc que les métadonnées du système de fichiers, mais pas les données de fichier. Ext4 est configurable: vous pouvez tout journaliser, rien ou seulement les métadonnées du système de fichiers. Le paramètre par défaut est de journaliser, mais uniquement les métadonnées du système de fichiers. Dans ce cas, il protège uniquement les métadonnées du système de fichiers, mais pas les données de fichier. La principale raison de ce choix est que la journalisation signifie écrire deux fois.
Jörg W Mittag
2
L' autre extrême est ce que l'on appelle les systèmes de fichiers à structure logarithmique , qui n'ont qu'un journal. En d'autres termes, ils ne s'ajoutent qu'à un journal, mais ils n'ont pas de zone de données régulière. De cette façon, ils évitent la "double écriture" d'un système de fichiers de journalisation, mais ils ont maintenant le problème que le système de fichiers ne rétrécit jamais, car même les suppressions sont simplement ajoutées au journal. Ils ont donc besoin d'une sorte de "garbage collector" pour nettoyer les entrées de journal redondantes et compacter à nouveau le journal. (Certains de ces FS appellent cela "passer l'aspirateur".)
Jörg W Mittag
1
@ JörgWMittag Merci. Je pense qu'il est important de comprendre que la journalisation de FS ne signifie généralement pas que vous ne pouvez pas perdre de données.
Ralf
1
@Ralf: Oui, la journalisation ne vous protège pas de la perte de données, seulement de la corruption de données. Il garantit seulement qu'une opération réussit complètement ou ne se produit pas du tout, il ne garantit pas qu'une opération réussit toujours. Et deuxièmement, la journalisation ne protège que ce qui est journalisé, ce qui, pour la plupart des implémentations courantes, n'est que des métadonnées FS.
Jörg W Mittag