Jeudi dernier, j’ai assisté à une présentation de Sun Canada au sujet de ZFS. D’ici quelques jours, les plus geek d’entre vous entendrons beaucoup parlé de ce nouveau système de fichier développé par Sun via Open Solaris. J’ai beaucoup lu au sujet de ZFS depuis l’annonce de Time Machine par Apple. Je voulais donc voir ce qu’il en était chez Sun. C’est donc Martin Girard, un Solaris Ambassador, qui nous a fait la présentation.

Premièrement, qu’est-ce qu’un système de fichier?

(Note aux puristes: je tourne les coins ronds!)
Lorsque vous utilisez un ordinateur, Windows, Mac ou Linux, vous utilisez un système qui permet d’écrire et de lire vos données sur un disque. Un disque est un média physique. Pour y inscrire des données, vous utilisez un système de fichier qui divise votre disque en petit bloc (des clusters). Lorsque vous créez un dossier (ex toto.doc) de 1000ko, celui-ci est inscrit dans les clusters (qui ont une taille fixe, par exemple 32ko). Votre fichier est donc réparti de manière aléatoire sur votre disque. Pour savoir où sont les clusters, le système de fichier utilise une FAT (file allocation table) une sorte d’annuaire qui liste vos fichiers et vos dossiers et qui fait le lien avec les clusters. Donc, lorsque vous ouvrez votre fichier toto.doc, vous consulter votre FAT qui vous indique où lire vos clusters, un à un, pour ainsi placer ledit fichier dans la mémoire de votre ordinateur.

Lorsque vous modifiez votre fichier et que vous l’enregistrez à nouveau, le même processus recommence. Les clusters sont inscrits dans des zones libres et la FAT est mis à jour. La FAT ne tient plus compte des anciens clusters qui contenaient la première version de toto.doc et les clusters sont donc vue comme libre. Même chose lorsque vous supprimez un fichier. En fait, ce ne sont que les entrées répertoriées dans la FAT (l’annuaire) qui sont supprimées.

Vous entendez souvent le terme formater un disque. Le formatage consiste à déterminer quel type de FAT qui sera utilisé et de créé vos clusters selon la taille déterminée par celle-ci. Les clusters sont initialisés à zéro, effaçant les données s’il y en avait.

Si un cluster est défectueux, vous perdez votre fichier (ce qu’on appelle une corruption de donnée). Si votre FAT est totalement corrompu, vous perdez toutes vos données. Si votre FAT est légèrement corrompu, elle permet d’écrire sur des clusters utilisés et ne retrouve plus ceux-ci. Si votre disque est physiquement défectueux, la FAT n’est pas informé et continu d’utiliser les clusters du segment défectueux. Et ainsi va la vie.

Suite…