Go to Top

Système de fichier ReFS : Qu’est-ce que c’est et comment ça marche?

Système de fichiers ReFS

Le système de fichiers d’un ordinateur constitue un moyen de transformer nos fichiers pour qu’ils soient facilement stockés et accessibles. Il peut également permettre le déverrouillage de l’emplacement de données perdues. Cette semaine, nous avons décidé de jeter un œil au nouveau Resilient File System (ReFS) sur Windows 2012 pour déterminer ses avantages, ses inconvénients et le contexte dans lequel il est conseillé de l’utiliser.

Le tout premier système de fichiers

Le système de fichiers le plus ancien jamais enregistré est l’Electronic Recording Machine Accounting (ERMA) Mark 1, un système de fichiers hiérarchique qui a été présenté en 1958 à l’Eastern Joint Computer Conference. Dans leur article « Organization and Retrieval of Records Generated in a Large-Scale Engineering Project » (PDF, 688 Ko), Barnard et Fein décrivent la manière dont l’idée et la structure sont nées et la situation qu’ils essayaient d’améliorer avec ce système de fichiers. En résumé, le système de fichiers avait pour objectif de réduire les inefficacités et les erreurs qui résultaient de l’absence d’un système organisé.

Une représentation du système de fichiers ERMA Mark 1

Illustration 1 : Une représentation du système de fichiers ERMA Mark 1

L’idée était de fournir des informations plus précises de manière plus rapide et efficace. Inutile de préciser que, à l’âge des Big Data, le développement du système de fichiers a beaucoup évolué depuis 1958.

Une introduction aux Resilient File Systems

Resilient File System (ReFS) est un système de fichiers développé par Microsoft et utilisé dans Windows Server 2012. Son prédécesseur, New Technology File System (NTFS), représentait la norme depuis le début des années 90 (techniquement depuis Windows NT 3.51 sur serveurs, et depuis Win 2000 sur bureaux) et est toujours utilisé de nos jours. ReFS reste un système de fichiers optionnel (le client doit le choisir pour l’utiliser), mais Microsoft a l’intention de remplacer NTFS par ReFS en tant que système de fichiers par défaut dans les prochaines sorties Windows.

ReFS a été conçu pour être utilisé au sein de systèmes dotés d’ensembles de données conséquents, proposant ainsi une évolutivité et une disponibilité efficaces en comparaison avec NFTS. La stabilité des données était l’une des principales nouvelles caractéristiques ajoutées, permettant aux données essentielles d’être protégées des erreurs communes pouvant causer une perte de données. Si une erreur de système se produit, ReFS peut récupérer de cette erreur sans risquer de perdre de données et sans affecter la disponibilité du volume. La dégradation des supports constitue également un autre problème qui a été traité pour éviter la perte des données lorsqu’un disque s’abîme.

Eléments clés du ReFS

Allocate on Write

Les raisons principales menant à l’utilisation du système de fichiers ReFS peuvent dépendre de la quantité de données gérée par votre structure. Ce type de système de fichiers est habituellement utilisé pour des ensembles de données très conséquents en raison de ses différences avec NTFS. Par exemple, une altération des données peut être évitée en utilisant Allocate on Write, qui permet la création de petits clones d’approvisionnement d’une base de données source depuis plusieurs points dans le temps au même moment, sans qu’une consommation de stockage supplémentaire ne soit nécessaire. En l’utilisant, l’altération résultant d’erreurs en place disparait.

 

Lire aussi : CHKDSK, ou comment régler un problème par la manière forte

 

En comparaison, NTFS utilise un journal des transactions pour maintenir une certaine cohérence sur le disque en mettant à jour les métadonnées. Le journal peut être utilisé dans le cas d’une perte de données pour retrouver l’erreur et exécuter une récupération. Cependant, lorsque vous mettez à jour le disque, les métadonnées peuvent s’altérer s’il y a une panne de courant ; c’est ce que l’on appelle une troncature. Dans le cas d’une troncature, seule une partie du bloc est écrite et, par conséquent, certains secteurs sont perdus.

ReFS a pour objectif d’éliminer toute troncature en utilisant la méthode Allocate on Write qui ne met pas à jour les métadonnées en place, mais les écrit à l’aide d’une opération atomique. Cela signifie que le fichier est écrit et lu en une seule instruction. Le système additionnel de contrôle vérifie que toutes les données, qui sont écrites et stockées, sont exactes et fiables, c’est-à-dire qu’il vérifie que le disque ne soit pas altéré. Cette technique permet de détecter si les données qui se trouvent sur le disque ont changé depuis qu’elles ont été écrites pour la dernière fois.

Arbres B+

La capacité du système de fichiers ReFS permet une évolutivité importante. Comme on peut le voir dans le tableau ci-dessous, il n’y a pas de limites de taille de fichier et de dossier. Évidemment, cela signifie que cette formule est assez avantageuse lorsque l’on travaille avec des ensembles de données importants.

Attribut Limite basée sur le on-disk format
Taille maximum d’un seul fichier 2^64-1 octets
Taille maximum d’un seul volume Le format supporte 2^78 octets avec une taille de cluster de 16Ko (2^64 * 16 * 2^10). L’adressage des piles Windows est généré sur une base de 2^64 octets
Nombre maximum de fichiers dans un annuaire 2^64
Nombre maximum d’annuaires dans un volume 2^64
Longueur maximum du nom du fichier 32K 255 caractères Unicode (pour des raisons de compatibilité, ceci a été fait en accord avec NTFS pour le produit final)
Longueur maximum du parcours 32K
Taille maximum de tout pool de stockage 4 PO
Nombre maximum de pools de stockage dans un système Aucune limite
Nombre maximum d’espaces dans un pool de stockage Aucune limite

Source : Blog Microsoft

Le système de fichiers utilise une on-disk structure pour stocker les fichiers en utilisant un arbre B+. Un arbre B+ est une structure permettant de stocker et de récupérer des données, et au moyen duquel les données sont stockées dans une structure arborescente où chaque nœud contient une liste organisée de clés ou de pointeurs vers les nœuds situés au niveau inférieur. L’arbre fournit un nombre fixe d’entrées dans un nœud (blocs).

Structures d’index d’arbre B+ dans InnoDB

Source : Structures d’index d’arbre B+ dans InnoDB

 

L’avantage lorsque l’on utilise des arbres B+ réside dans la manière dont l’arbre stocke les archives ou « informations satellites » ; celles-ci sont stockées au niveau de la feuille. Des clés et des pointeurs fils sont stockés dans des nœuds intérieurs ou « non feuille ». En stockant les archives au niveau « feuille » de l’arbre, le pouvoir de ramification des nœuds internes est maximisé. Un facteur de ramification important permet la création d’un arbre plus bas, ce qui signifie moins de I/O disques et ainsi une meilleure performance.

Qu’est-ce que cela signifie en termes de récupération de données ?

Une structure ReFS fonctionne comme une base de données, ce qui est complétement différent d’une récupération NTFS qui utilise un tableau plat de métadonnées. Pour trouver des données, nous devons traverser le système de fichiers ReFS comme une base de données, en ouvrant des tableaux qui contiennent un autre ensemble de tableaux, etc.

La structure de la base de données rend le système de fichiers plus complexe que NTFS, mais il a également quelques avantages, comme une structure de système de fichiers plus étendue qui peut être utile lorsqu’il s’agit de récupérer de certains types de dommages.

Étant donné que ReFS est un système de fichiers « copy on write », il y a de nombreuses copies des données qui peuvent être utilisées pour effectuer une récupération si la copie principale est endommagée. Néanmoins, gardez à l’esprit qu’étant donné que ReFS est une base de données, un ingénieur a besoin d’outils spéciaux et d’entraînement pour déchiffrer les métadonnées d’un fichier.

Laisser un commentaire