ReiserFS
ReiserFS a été conçue et développé par Hans Reiser (d'où son nom) et son
équipe de développement chez
Namesys.
Hans et son équipe partagent la conviction que les meilleurs systèmes de fichiers sont ceux qui permettent de
créer un environnement partagé, ou les applications peuvent interagir plus efficacement et plus rapidement.
Pour cela, un système de fichiers doit allier la performance et les besoins de ses utilisateurs.
De cette manière, les utilisateurs peuvent continuer a utiliser le système de fichiers directement sans avoir
besoin de mettre en oeuvre des couches accès spécifiques au dessus de celui-ci, comme le font les bases de
données. Performance sur de petits fichiers Comment rendre alors le système de fichiers plus satisfaisant
?
Namesys a décidé de s'intéresser de prêt à l'un des aspects du systèème de
fichiers, les performances sur la gestion de petits fichiers. Les systèmes de fichiers comme Ext2 ne se
débrouillent pas très bien dans ce domaine, forçant les gens à utiliser des base de
données ou faire développer des systèmes propriétaires spécifiques pour obtenir les
performances dont ils ont besoin. Avec le temps, ce genre d'attitude qui consiste a dire "je vais coder autour de ce
problème" augmente la taille du code et le nombre d'API propriétaires incompatibles, ce qui n'est pas une
bonne chose. De plus, Ext2 tend a encourager ce type de programmation. Le système de fichier Ext2 ( est performant
dans le stockage des fichiers d'une taille supérieure a 20Ko, mais ce n'est pas la technologie idéale pour
stocker 2000 fichiers de 50 octets. Non seulement les performances et l'éfficacité du stockage chutent
lorsqu'ext2 doit gérer de trèès petits fichiers.
Ceci parce qu'Ext2 alloue l'espace disque par bloc de 1 ou 4 Ko (configurable a la création de
celui-çi).
Maintenant, il est vrai qu'on n'est pas supposé stocker autant de si petits fichiers. Ils devraient être
stockés dans une sorte de base de données située au dessus du système de fichiers. En
réponse, Hans Reiser insiste sur le fait que si on a besoin de rajouter une couche au dessus du système de
fichier, c'est que ce dernier est bidon . Si le système de fichiers répondait a nos besoin, on pourriez
éviter le développement de cette couche propriétaire. On économiserait ainsi du temps de
développement et on supprimerait l'excès de code créé par la surcouche de stockage, le cache,
l'interface avec une base de donnée, etc.. Bien, voila pour la théorie.
En pratique :
Que vaut ReiserFS dans la gestion des petits fichiers? Et bien il est bon... En réalité, ReiserFS est environ
8 a 15 fois plus rapide que Ext2 dans la gestion des fichiers inférieurs a 1 Ko ! Encore mieux, ce gain de
performance ne se fait pas au dépends de la gestion des fichiers plus gros. Globalement, ReiserFS surpasse Ext2 dans
quasiment tous les domaines, mais la différence est évidente dans la gestion des petits fichiers.
La technologie de ReiserFS
ReiserFS utilise un arbre binaire balance spécialement optimise (1 par système de fichiers) pour organiser
les données de la totalité du système de fichiers. Ceci apporte entre autre un gain appréciable
de performance et permet de diminuer les contraintes habituelles d'organisation des systèmes de fichiers.
Par exemple, il est maintenant possible d'avoir un répertoire contenant 100 000 sous-répertoires. L'autre
avantage de l'utilisation d'un arbre binaire est que ReiserFS comme la plupart des systèmes de fichiers de nouvelles
générations , alloue dynamiquement les inondes au fur et a mesure des besoins, au lieu d'allouer un nombre
donne d'inode a la création du système de fichiers.
Ceci augmente la flexibilité du système de fichiers et l'efficacité du stockage. ReiserFS dispose
également d'une panoplie de fonctionnalités spécifiquement conçues pour améliorer la
gestion des petits fichiers. A la différence d'Ext2, ReiserFS n'alloue pas l'espace disque par blocs de 1 ou 4 Ko. A
la place, il alloue uniquement l'espace nécessaire. De plus, il contient une optimisation dans le cas ou la fin de
fichier est plus petite qu'un bloc du système de fichier.
Afin d'augmenter les performances, ReiserFS est capable de stocker les fichiers dans les feuilles de l'arbre binaire lui
même au lieu de les stocker sur le disque et de pointer dessus. Ceci augmente les performances dans la gestion des
petits fichiers. Tant que les données du fichier et les informations de l'inode sont stockées l'un a cote de
l'autre, elle peuvent normalement être lues en une seule opération d'entrée/sortie sur le disque. Le
fait de rassembler ensemble des fins de fichiers, permet d'économiser ainsi pas mal de place. En pratique, un
système de fichiers ReiserFS peut stocker jusqu'a 6% de données de plus qu'un Ext2.
|
version 3.5
|
version 3.6
|
|
Nombre maximum de fichiers
|
232 => 4 G
|
232 => 4 G (See *, ***)
|
|
Nombre max de fichier dans un répertoire
|
231 => 2 G
|
231 => 2 G (See **)
|
|
Nombre max de sous-répertoire dans un répertoire
|
216-1K => 64.536 K
|
216-1K => 64.536 K
|
|
Taille max d'un fichier
|
232-1 bytes => 4 Gbytes
|
260-1 bytes => 1 Ebytes,
but page cache limits this to 17.6 Tbytes
on architectures with 32 bit int
|
|
Nombre maximum de lien vers un fichier
|
215 => 32.768 K
|
232 => 4.29 G
|
|
Taille max du système de fichier
|
232 (4K) blocks => 17.6 Tbytes
|
232 (4K) blocks => 17.6 Tbytes
|
** plus grand que 2
60 == ~1.152 921 504 606 846 976 E == ~(1 G )
2.
*** where:
10
03~2
10thousand kilo k, K
10
06~2
20million mega m, M
10
09~2
30billion giga g, G
10
12~2
40trillion tera t, T
10
15~2
50quadrillion peta p, P
10
18~2
60quintillion exa e, E
Liens utiles :
o Page d'accueil du système de fichiers ReiserFS :
http://www.reiserfs.org/ [http://www.reiserfs.org/]
Auteur : Stéphane Purnelle
Licence : PDL
Ecrire un commentaire - (html non autorisé)
Il y a 0 commentaires pour cet article
Vous n'êtes pas connecté. Votre contribution n'apparaîtra qu'après avoir été validée par un administrateur du site.Vous pouvez vous vous enregistrer ICI |