Qu'est-ce qu'un système de fichiers avec journalisation ?

Image à la une Systèmes de fichiers avec journalisation

Chaque système d’exploitation utilise son propre système de fichiers pour stocker des données. Windows utilise NTFS, macOS utilise APFS, et la plupart des distributions Linux utilisent Ext4. Bien que ces systèmes de fichiers soient fondamentalement différents les uns des autres, une caractéristique qui existe dans tous ces systèmes de fichiers est la journalisation.

Apprenons-en davantage sur les systèmes de fichiers avec journalisation et leur impact sur l’informatique quotidienne.

Qu’est-ce que la journalisation ?

Imaginez chaque fichier sur un ordinateur comme un catalogue de bibliothèque unique de journaux, périodiques ou documents. Chaque nouveau numéro ajouté à un catalogue modifierait légèrement ses informations. Au lieu de chercher à travers la bibliothèque pour une entrée, il vous suffit de vérifier le catalogue pertinent.

La journalisation dans les systèmes de fichiers informatiques fonctionne de manière très similaire. Son but est de garder une trace des modifications qui ne sont pas encore engagées dans le système de fichiers. Même après des pannes ou des arrêts inattendus, vous pouvez toujours accéder à la dernière version du fichier avec une probabilité moindre qu’elle soit corrompue.

Systèmes de fichiers avec journalisation À quoi cela ressemble

Le terme « journal » vient de l’analogie d’un journal intime. Les modifications que vous enregistrez dans une entrée de journal sont stockées par date et heure. De manière similaire, la journalisation permet à toutes les mises à jour d’un fichier d’être stockées dans une portion contiguë du disque.

Ces mises à jour n’ont pas besoin d’être physiquement proches les unes des autres : en fait, les entrées de fichier de journal sont éparpillées sur tout le disque. Mais au lieu d’y accéder de manière aléatoire, elles sont disponibles dans une séquence semblable à celles d’un journal qui est des milliers de fois plus rapide.

Systèmes de fichiers avec journalisation Schématique

La journalisation fait gagner beaucoup de temps dans la récupération de données des fichiers grâce à des allocations de mémoire contiguës.

Définitions

Selon le système d’exploitation, il existe différents types d’entrées de journalisation que nous discuterons ci-dessous. Avant cela, nous devons clarifier quelques termes numériques.

Tibioctets (TiB) : nous savons tous ce qu’est un gigaoctet. Un tibioctet (TiB) équivaut à 1024 (= 210) gigaoctets. TiB est l’une des unités par défaut pour exprimer de grandes valeurs dans le stockage de fichiers. De plus, 1 TiB = 1,09951 téraoctets (TB).

Pébioctet (PiB) : un pébioctet (PiB) est égal à 1024 TiB ou environ un million de gigaoctets – une valeur très grande en effet.

Clusters : les clusters de données sont la plus petite unité d’espace disque qui peut être utilisée pour stocker un fichier. Cela peut varier de 512 octets pour un secteur unique à 64 Ko pour 128 secteurs.

1. NTFS

Le système de fichiers de nouvelle technologie (NTFS) est le système de journalisation par défaut de Microsoft pour Windows et Windows Server. Il utilise des fichiers journaux et des informations de point de contrôle pour restaurer les valeurs stables d’un système de fichiers après un redémarrage.

NTFS prend en charge de grands volumes de données : pour une taille de cluster de 4 Ko, il peut accueillir 16 TiB de données. Pour une taille de cluster maximale de 64 Ko, cela signifie 256 TiB de données avec 256 TiB comme taille de fichier maximum.

De nos jours, NTFS corrige toute corruption dans les fichiers en ligne grâce à ce qui est connu sous le nom de « NTFS auto-réparateur ». Les utilisateurs de Windows 10 pourraient se souvenir d’une expérience d’arrêt due à Chkdsk, qui a longtemps affecté les anciennes versions de Windows. Dans la dernière mise à jour de NTFS auto-réparateur, le problème a été résolu en ligne, et aucun temps d’arrêt ne se produit.

À lire aussi : FAT32 vs. exFAT vs. NTFS : Quelle est la différence ?

2. Ext

Le système de fichiers étendu (ext) est le système de journalisation de Linux depuis le tout début. Il a été inspiré par le système de fichiers Unix (UFS) et a subi trois autres itérations depuis son arrivée au début des années 90.

  • ext2 : utilisé à l’origine dans Debian et Red Hat Linux, ext2 est encore utilisé dans les supports flash tels que les cartes SD et les clés USB. Il peut accueillir de 2 à 32 TiB de données avec une taille de cluster maximale de 8 Ko.
  • ext3 : en tant que troisième système de fichiers étendu, ext3 a été utilisé avec Linux, BSD et ReactOS. Les limites de taille sont similaires à ext2.
  • ext4 : la version la plus récente du système de fichiers étendu, elle est utilisée par Google file storage, BSD, PowerPC et la plupart des distributions Linux actuelles. Les limites de taille sont égales à 1024 PiB ou environ un million de TiB. La plus grande taille de cluster est de 64 Ko.

ext4 utilise des sommes de contrôle dans le journal pour améliorer la fiabilité, car il peut éviter en toute sécurité une attente d’E/S disque pendant la journalisation et améliorer légèrement les performances du disque.

3. APFS

Le système de fichiers Apple (APFS) est utilisé avec macOS High Sierra, iOS 10.3 et versions ultérieures, et quelques autres systèmes. Il prend en charge jusqu’à 8000 PiB (263 octets), ce qui est environ huit fois plus que ext4.

Systèmes de fichiers avec journalisation Apfs

Les capacités fondamentales de l’APFS sont nombreuses : elles incluent la création de « snapshots », qui est comme une photocopie du système à un moment donné. Comme NTFS, il utilise des sommes de contrôle pour garantir l’intégrité des données et se protège des pannes système grâce à une approche appelée « copie à l’écriture ». L’APFS utilise un chiffrement de disque complet.

Conclusion

La journalisation dans les systèmes de fichiers est une assurance de base contre les pannes système et les arrêts inattendus. En écrivant rapidement les changements dans un journal, nous pouvons garantir que toutes les modifications des fichiers sont enregistrées et ne sont pas perdues lors des arrêts de courant ou des pannes d’ordinateur.

Il existe de nombreux systèmes de fichiers enregistrés au-delà de ceux discutés ici. Oracle, VMware, BSD, Cisco, Solaris, et bien d’autres ont leurs propres unités de journal propriétaires.