Il n'y a aucune garantie. Un système de fichiers de journalisation est plus résistant et moins sujet à la corruption, mais pas à l'abri.
Tout un journal est une liste d'opérations qui ont été récemment effectuées sur le système de fichiers. La partie cruciale est que l'écriture au journal est effectuée avant les opérations. La plupart des opérations comportent plusieurs étapes. La suppression d'un fichier, par exemple, peut entraîner la suppression de l'entrée du fichier dans la table des matières du système de fichiers, puis le marquage des secteurs sur le lecteur comme libres. Si quelque chose se produit entre les deux étapes, un système de fichiers journalisé peut le dire immédiatement et effectuer le nettoyage nécessaire pour que tout reste cohérent. Ce n'est pas le cas avec un système de fichiers non journalisé qui doit regarder tout le contenu du volume pour trouver des erreurs.
Bien que cette journalisation soit beaucoup moins sujette à la corruption que la non-journalisation, la corruption peut toujours se produire. Par exemple, si le disque dur présente un dysfonctionnement mécanique ou si les écritures dans le journal lui-même échouent ou sont interrompues.
La prémisse de base de la journalisation est que la rédaction d'une entrée de journal est généralement beaucoup plus rapide que la transaction réelle qu'elle décrit. Ainsi, la période entre le système d'exploitation commandant une écriture (journal) et le disque dur le remplissant est beaucoup plus courte que pour une écriture normale: une fenêtre plus étroite pour que les choses tournent mal, mais il y a toujours une fenêtre.
Lectures complémentaires
Non.
Le type de journalisation le plus courant, appelé journalisation des métadonnées, ne protège que l'intégrité du système de fichiers, pas des données. Cela inclut
xfs
, etext3
/ext4
dans ledata=ordered
mode par défaut .Si un système de fichiers non journalisé subit un plantage, il sera vérifié à l'aide
fsck
du prochain démarrage.fsck
analyse chaque inode du système de fichiers, recherchant les blocs marqués comme utilisés mais non accessibles (c'est-à-dire sans nom de fichier), et marque ces blocs comme inutilisés. Cela prend beaucoup de temps.Avec un système de fichiers de journalisation des métadonnées, au lieu de faire un
fsck
, il sait quels blocs il était en train de changer, il peut donc les marquer comme libres sans les chercher dans toute la partition.Il existe un type de journalisation moins commun, appelé journalisation des données, qui
ext3
fonctionne si vous le montez avec l'data=journal
option.Il tente de protéger toutes vos données en écrivant non seulement une liste d'opérations logiques, mais également le contenu entier de chaque écriture dans le journal. Mais comme il écrit deux fois vos données, cela peut être beaucoup plus lent.
Comme d'autres l'ont souligné, même cela n'est pas une garantie, car le disque dur aurait pu dire au système d'exploitation qu'il avait stocké les données, alors qu'il se trouvait encore dans le cache du disque dur.
Pour plus d'informations, consultez l'article de Wikipedia Journaling File System et la section Data Mode de la documentation ext4 .
la source
data=journal
aucun sens du tout?Un système de fichiers ne peut pas garantir la cohérence de son système de fichiers en cas de panne de courant, car il ne sait pas ce que fera le matériel.
Si un disque dur met en mémoire tampon les données pour l'écriture mais indique au système d'exploitation qu'il a écrit les données et ne prend pas en charge les barrières d'écriture appropriées, des écritures en désordre peuvent se produire lorsqu'une écriture antérieure n'a pas atteint le plateau, mais une écriture ultérieure a. Voir cette réponse de panne de serveur pour plus de détails.
De plus, la position de la tête sur un disque dur magnétique est contrôlée par des électro-aimants. Si l'alimentation tombe en panne au milieu d'une écriture, il est possible que certaines données continuent à être écrites pendant que les têtes bougent, corrompant les données sur des blocs que le système de fichiers n'a jamais voulu écrire.
la source
ZFS, qui est proche mais pas exactement un système de fichiers journalisé, garantit par sa conception contre la corruption après une panne de courant.
Peu importe si une écriture en cours est interrompue au milieu car dans ce cas, sa somme de contrôle sera certainement incorrecte donc le bloc sera ignoré. Comme le système de fichiers est copié en écriture, les données correctes précédentes (ou métadonnées) sont toujours sur le disque et seront utilisées à la place.
la source
Dans la plupart des cas, la réponse est non:
la source