La journalisation

Home
Pourquoi faire?
La journalisation
ReiserFS
Exposé de Système
Les Liens

Le journal

Journaliser le système de fichiers résout le problème fsck en ajoutant une nouvelle structure de données appelée journal. Ce journal est une structure située sur le disque. Avant que le driver du système de fichier ne modifie la meta-data, il écrit une entrée dans ce journal. Cette entrée décrit ce qu'il s'apprête a faire. Il effectue ensuite la modification de la meta-data. En faisant cela, un système de fichiers journalisé maintient un log des dernières modifications de sa meta-data. Ceci s'avère très pratique sur un système de fichiers mal démonté lorsque le check de cohérence va prendre du temps.

Le principe utilisé provient du monde des gestionnaire de base de données (SGBD) qui utilisent en effet, un système permettant de différer l'écriture des données à l'aide d'instructions comme BEGIN et COMMIT. Ainsi, il est possible de réduire les opérations d'entrée/sortie sous la forme de transaction. Une transaction ne sera donc effective que lorsque l'ordre COMMIT sera exprimé. Et cela permet en même temps de conserver un log complet de toutes les transactions conservé sous forme de journal.

La journalisation en action

Donc, que fait fsck avec un système de fichier journalise?
En fait, il ne fait rien. Il ignore simplement le système de fichiers et le considère comme montable.

La clé de la restauration rapide d'un système de fichiers à un état stable se trouve dans le driver Linux du system de fichiers lui même. Lorsque le système de fichiers est monté, le driver vérifie si il est OK. Si pour quelques raisons que ce soit cela n'était pas le cas, alors la meta-data nécessiterait être vérifie, mais au lieu d'effectuer un scan intégral de la meta-data (comme fsck le ferait), il regarde dans le journal. Comme ce journal contient les dernières modifications de la meta-data dans l'ordre chronologique, il inspecte tout simplement les plus récemment modifiées. Par conséquent, il est capable de restaurer en quelques secondes le système de fichiers dans un état cohérent. Et à la différence du fonctionnement traditionnel de fsck, cette relecture du journal ne prend pas plus de temps sur les gros systèmes de fichiers. Grâce au journal, une meta-data d'un filesystem d'une centaine de Go est répare quasi-instantanément.

(Suite)