Chapitre 8. Le système de fichiers Linux

Table des matières
8.1. Comparatif de quelques systèmes de fichiers
8.1.1. Les différents systèmes de fichiers utilisables
8.1.2. Différences entre ces systèmes de fichiers
8.1.3. Et question performances ?
8.2. Tout est fichier
8.2.1. Les différents types de fichier
8.2.2. I-nœuds
8.3. Les liens
8.4. Tubes "anonymes" et tubes nommés
8.5. Les fichiers spéciaux : fichiers mode bloc et caractère
8.6. Les liens symboliques et la limitation des liens en dur
8.7. Les attributs des fichiers

Votre système GNU/Linux est naturellement contenu sur votre disque, dans un système de fichiers. Voici une présentation des différents aspect de ce système de fichiers, et des possibilités qui vous sont offertes.

8.1. Comparatif de quelques systèmes de fichiers

Lors de l'installation, vous pouvez choisir différents systèmes de fichier pour vos partitions, c'est-à-dire, de formater vos partitions selon différents algorithmes.

À moins d'être un spécialiste, le choix n'est pas forcément évident. Nous vous proposons ici une rapide présentation des trois systèmes de fichiers les plus courants, tous disponibles dans Mandrake Linux.

8.1.1. Les différents systèmes de fichiers utilisables

8.1.1.1. Ext2FS

Le Second Extended File System, en abrégé Ext2fs ou simplement ext2, est le système de fichier par défaut de GNU/Linux depuis de nombreuses années. Il est le successeur de Extended File System (d'où le « Second  »), dont il corrige certains problèmes et certaines limitations.

Ext2FS respecte les standards usuels des systèmes de fichiers pour systèmes de type Unix. Dès sa conception, il était destiné à évoluer, tout en offrant une grande robustesse et de bonnes performances.

8.1.1.2. Ext3

Comme le nom le laisse supposer, le Third Extended File System est appelé à devenir le successeur de Ext2FS. Il conserve une compatibilité avec celui-ci, mais ajoute une fonctionnalité très intéressante : la journalisation.

Un des problèmes majeurs avec les systèmes de fichiers « traditionnels  » comme Ext2FS, est leur faible tolérance aux pannes, telles qu'un arrêt brutal du système (coupure de courant ou plantage logiciel). En général, de tels événements se soldent par un examen très long de la structure du système de fichiers, des tentatives de corrections d'erreurs, parfois pour aboutir à une corruption étendue du système de fichiers. Donc, une perte partielle ou totale des données enregistrées.

La journalisation est une réponse à ce problème. Pour simplifier, disons que le principe consiste à enregistrer les actions à effectuer dans un journal avant de les effectuer réellement, un peu comme un capitaine de bateau note dans son journal de bord les événements de la journée. Le résultat est un système de fichiers qui reste toujours cohérent. En cas de problème, l'examen du système de fichiers consiste à regarder le journal et effectuer les actions qui n'ont pas eu le temps d'être effectuées avant le crash. Le temps de vérification d'un système de fichiers n'est donc plus proportionnel à la taille de celui-ci, mais à son degré d'utilisation.

Ext3FS propose donc cette technologie, tout en conservant une structure interne basée sur Ext2FS, ce qui assure une excellente compatibilité.

8.1.1.3. ReiserFS

Au contraire de Ext3FS, ReiserFS est un système de fichiers recréé en partant de zéro. Il est également journalisé comme Ext3FS, mais sa structure interne est radicalement différente. En particuliers, il utilise des concepts d'arbres binaires inspirés des logiciels de base de données.

8.1.1.4. JFS

JFS est le système de fichiers journalisé développé et utilisé par IBM. Initialement propriétaire et fermé, IBM a récemment décidé d'ouvrir l'accès au monde du Logiciel Libre à ce système de fichiers. Sa structure interne est proche de celle de ReiserFS.

 

 

 

8.1.2. Différences entre ces systèmes de fichiers

Tableau 8-1. Caractéristiques des systèmes de fichiers

 Ext2FSExt3FSReiserFSJFS
StabilitéExcellenteBonneBonneMoyenne
Outils pour récupérer un fichier effacéOui (complexe)Oui (complexe)NonNon
Temps de redémarrage après un crashLong, voire très longRapideTrès rapideTrès rapide
Intégrité des données en cas de crashEn générale, bonne, mais risques de pertes partielles ou totales non négligeablesTrès bonneTrès bonneTrès bonne

Á propos des tailles maximales de fichiers, cela dépend d'un grand nombre de paramètres (comme la taille des blocs pour ext2/ext3), et est susceptible d'évoluer suivant la version du noyau et l'architecture du système. Ceci étant, le minimum disponible est actuellement généralement proche ou supérieur à 2Tb (1Tb=1024 Gb) et peut atteindre 4Pb (1Pb=1024 Tb) pour JFS. Cependant ces valeurs sont aussi limitées par la taille des périphériques bloc, qui, pour les noyaux 2.4.X actuels est limitées (sur les architectures X86) à 2To[1] même en mode RAID. Pour plus d'information, consulter Adding Support for Arbitrary File Sizes to the Single UNIX Specification.

8.1.3. Et question performances ?

Il est toujours très délicat de réaliser un comparatif de performances. Tous les tests que l'on peut effectuer présentent diverses limitations, et les résultats doivent toujours être interprétés avec précautions. De plus, si Ext2FS est aujourd'hui très mature et évolue fort peu, les systèmes journalisés Ext3FS et ReiserFS évoluent très rapidement. Des tests effectués il y a quelques mois ou quelques semaines sont déjà trop anciens. Par ailleurs, les performances physiques des matériels actuels (notamment des disques durs) estompent les différences. Néanmoins, JFS est actuellement celui montrant les meilleures performances.

Chaque système présente ses avantages et ses inconvénients, et en fait tout dépend de l'utilisation que vous compter faire de votre ordinateur. Une simple machine de bureau pourra se contenter de Ext2FS. Pour un serveur, on préférera sans doute un système de fichier journalisé comme Ext3FS. ReiserFS, peut-être du fait de ce qui l'a inspiré, est plutôt recommandé pour un serveur de base de données. JFS sera préféré dans les cas où l'exigence principale est la rapidité du système de fichiers.

Pour une utilisation « normale  », les quatre systèmes de fichiers présentent à peu près les mêmes performances moyennes. ReiserFS est plus rapide pour l'accès aux fichiers de petites tailles, mais sensiblement plus lent pour la manipulation de gros fichiers (plusieurs méga-octets). Dans la plupart des cas, les avantages de la journalisation de ReiserFS l'emportent sur ces inconvénients.

Notes

[1]

Vous pouvez vous demander comment atteindre de telles capacités avec des disques durs qui atteignent difficilement les 180Go. En fait, en utilisant 3 cartes RAID hébergeant chacune 8 disques de 128Gb, onatteint les 3To...


Tux sur Étoile de MandrakeSoft Linux est une marque déposée de Linus Torvalds. Toutes les autres marques et copyrights sont la propriété de leurs auteurs respectifs.
Sauf mention contraire, tout le contenu de ces pages et toutes les images sont Copyright MandrakeSoft S.A. et MandrakeSoft Inc. 2002.
http://www.mandrakelinux.com/