<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Comparatif de quelques systèmes de fichiers</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Manuel de référence"><link rel="up" href="ext2fs.html" title="Chapitre 9. Le système de fichiers Linux"><link rel="previous" href="ext2fs.html" title="Chapitre 9. Le système de fichiers Linux"><link rel="next" href="ch09s02.html" title="Tout est fichier"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Comparatif de quelques systèmes de fichiers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext2fs.html">Précédent</a> </td><th width="60%" align="center">Chapitre 9. Le système de fichiers Linux</th><td width="20%" align="right"> <a accesskey="n" href="ch09s02.html">Suivant</a></td></tr></table><hr></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2553640"></a>Comparatif de quelques systèmes de fichiers</h2></div></div><div></div></div><p><a name="BId-ext2fs-pa2"></a>Lors de l'installation, vous pouvez choisir différents <span class="emphasis"><em>systèmes de fichier</em></span> pour vos partitions, c'est-à-dire, de formater vos partitions selon différents algorithmes.</p><p><a name="BId-ext2fs-pa3"></a>À 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 <span class="application">Mandrakelinux</span>.</p><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="id2553714"></a>Les différents systèmes de fichiers utilisables</h3></div></div><div></div></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a name="id2553727"></a>Ext2</h4></div></div><div></div></div><p><a name="BId-ext2fs-pa4"></a>Le <span class="emphasis"><em>Second Extended File System</em></span>, en abrégé <span class="emphasis"><em>Ext2</em></span> ou <span class="emphasis"><em>ext2</em></span>, est le système de fichier par défaut de <span class="application">GNU/Linux</span> depuis de nombreuses années. Il est le successeur de <span class="emphasis"><em>Extended File System</em></span> (d'où le « <span class="quote">Second</span> »), dont il corrige certains problèmes et certaines limitations.</p><p><a name="BId-ext2fs-pa5"></a>Ext2 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.</p></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a name="id2553793"></a>Ext3</h4></div></div><div></div></div><p><a name="BId-ext2fs-pa6"></a>Comme le nom le laisse supposer, le <span class="emphasis"><em>Third Extended File System</em></span> (troisième système de fichiers étendu) est appelé à devenir le successeur de Ext2. Il conserve une compatibilité avec celui-ci, mais ajoute une fonctionnalité très intéressante : la <span class="emphasis"><em>journalisation</em></span>.</p><p><a name="BId-ext2fs-pa7"></a>Un des problèmes majeurs avec les systèmes de fichiers « <span class="quote">traditionnels</span> » comme Ext2, 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.</p><p><a name="BId-ext2fs-pa8"></a>La journalisation est une réponse à ce problème. Pour simplifier, disons que le principe consiste à enregistrer les actions à effectuer dans un journal <span class="emphasis"><em>avant</em></span> 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.</p><p><a name="BId-ext2fs-pa9"></a>Ext3 propose donc cette technologie, tout en conservant une structure interne basée sur Ext2FS, ce qui assure une excellente compatibilité. Cela rend même possible le basculement de ext2 vers Ext3 et inversement.</p></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a name="id2553893"></a>ReiserFS</h4></div></div><div></div></div><p><a name="BId-ext2fs-pa10"></a>Au contraire de Ext3, <span class="emphasis"><em>ReiserFS</em></span> est un système de fichiers recréé en partant de zéro. Il est également journalisé comme Ext3, mais sa structure interne est radicalement différente. En particulier, il utilise des concepts d'arbres binaires inspirés des logiciels de base de données.</p></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a name="id2553921"></a>JFS</h4></div></div><div></div></div><p><a name="BId-ext2fs-pa11"></a>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. </p></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a name="id2553945"></a>XFS</h4></div></div><div></div></div><p><a name="BId-ext2fs-pa70"></a>XFS est le système de fichiers journalisé crée par SGI et utilisé par son système d'exploitation IRIX. Propriétaire et fermé au commencement, SGI a décidé de l'ouvrir au monde du Logiciel Libre. Sa structure interne a de nombreuses fonctionnalités comme un contrôle temps-réel de la bande passante, l'optimisation de l'espace disque, et les systèmes de fichiers distribués (<span class="foreignphrase"><i class="foreignphrase">clustered file systems</i></span> (pas dans la version libre).</p><p> </p><p> </p><p> </p><p> </p><p> </p></div></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="id2554004"></a>Différences entre ces systèmes de fichiers</h3></div></div><div></div></div><div class="table"><a name="id2554013"></a><p class="title"><b>Tableau 9.1. Caractéristiques des systèmes de fichiers</b></p><table summary="Caractéristiques des systèmes de fichiers" border="1"><colgroup><col><col><col><col><col><col></colgroup><thead><tr><th align="left"><a name="BId-ext2fs-en1"></a> </th><th align="left"><a name="BId-ext2fs-en2"></a>Ext2</th><th align="left"><a name="BId-ext2fs-en3"></a>Ext3</th><th align="left"><a name="BId-ext2fs-en4"></a>ReiserFS</th><th align="left"><a name="BId-ext2fs-en5"></a>JFS</th><th align="left"><a name="BId-ext2fs-en26"></a>XFS</th></tr></thead><tbody><tr><td align="left"><a name="BId-ext2fs-en6"></a>Stabilité</td><td align="left"><a name="BId-ext2fs-en7"></a>Excellente</td><td align="left"><a name="BId-ext2fs-en8"></a>Bonne</td><td align="left"><a name="BId-ext2fs-en9"></a>Bonne</td><td align="left"><a name="BId-ext2fs-en10"></a>Moyenne</td><td align="left"><a name="BId-ext2fs-en27"></a>Bonne</td></tr><tr><td align="left"><a name="BId-ext2fs-en11"></a>Outils pour récupérer un fichier effacé</td><td align="left"><a name="BId-ext2fs-en12"></a>Oui (complexe)</td><td align="left"><a name="BId-ext2fs-en13"></a>Oui (complexe)</td><td align="left"><a name="BId-ext2fs-en14"></a>Non</td><td align="left"><a name="BId-ext2fs-en15"></a>Non</td><td align="left"><a name="BId-ext2fs-en28"></a>Non</td></tr><tr><td align="left"><a name="BId-ext2fs-en16"></a>Temps de redémarrage après un crash</td><td align="left"><a name="BId-ext2fs-en17"></a>Long, voire très long</td><td align="left"><a name="BId-ext2fs-en18"></a>Rapide</td><td align="left"><a name="BId-ext2fs-en19"></a>Très rapide</td><td align="left"><a name="BId-ext2fs-en20"></a>Très rapide</td><td align="left"><a name="BId-ext2fs-en29"></a>Très rapide</td></tr><tr><td align="left"><a name="BId-ext2fs-en21"></a>Intégrité des données en cas de crash</td><td align="left"><a name="BId-ext2fs-en22"></a>Bonne<sup>[<a name="id2554197" href="#ftn.id2554197">a</a>]</sup></td><td align="left"><a name="BId-ext2fs-en23"></a>Très bonne</td><td align="left"><a name="BId-ext2fs-en24"></a>Moyenne<sup>[<a name="id2554218" href="#ftn.id2554218">b</a>]</sup></td><td align="left"><a name="BId-ext2fs-en25"></a>Très bonne</td><td align="left"><a name="BId-ext2fs-en30"></a>Très bonne</td></tr><tr><td align="left"><a name="BId-ext2fs-en31"></a>Support ACL</td><td align="left"><a name="BId-ext2fs-en32"></a>Oui</td><td align="left"><a name="BId-ext2fs-en33"></a>Oui</td><td align="left"><a name="BId-ext2fs-en34"></a>Non</td><td align="left"><a name="BId-ext2fs-en35"></a>Non</td><td align="left"><a name="BId-ext2fs-en36"></a>Oui</td></tr></tbody><tbody class="footnotes"><tr><td colspan="6"><div class="footnote"><p><sup>[<a name="ftn.id2554197" href="#id2554197">a</a>] </sup>Mais risques de pertes partielles ou totales non négligeables</p></div><div class="footnote"><p><sup>[<a name="ftn.id2554218" href="#id2554218">b</a>] </sup>Il est possible d'améliorer les résultats de la récupération d'un crash en enregistrant dans le journal les <span class="emphasis"><em>données</em></span> en plus des <span class="emphasis"><em>meta-données</em></span>, en ajoutant l'option <i class="parameter"><tt>data=journal</tt></i> au fichier <tt class="filename">/etc/fstab</tt>. </p></div></td></tr></tbody></table></div><p><a name="BId-ext2fs-pa12"></a>Á 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 à 2To (1To=1024 Go) et peut atteindre 4Po (1Po=1024 To) pour <span class="acronym">JFS</span>. Cependant ces valeurs sont aussi limitées par la taille des périphériques bloc, qui, pour les noyaux <tt class="literal">2.4.X</tt> actuels est limitées (sur les architectures <tt class="literal">X86</tt>) à 2To<sup>[<a name="id2554331" href="#ftn.id2554331">21</a>]</sup> même en mode <span class="acronym">RAID</span>. Avec le noyau 2.6.X, cette limite sur la taille des blocs peut être étendue en utilisant un noyau compilé avec le support Arge Block (CONFIG_LBD=y). Pour plus d'information, consulter <a href="http://ftp.sas.com/standards/large.file/x_open.20Mar96.html" target="_top"><span class="foreignphrase"><i class="foreignphrase">Adding Support for Arbitrary File Sizes to the Single UNIX Specification</i></span></a>, <a href="http://www.suse.com/~aj/linux_lfs.html" target="_top">Large File Support in Linux</a>, and <a href="http://www.gelato.unsw.edu.au/IA64wiki/LargeBlockDevices" target="_top">Large Block Devices</a>. </p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="id2554388"></a>Et question performances ?</h3></div></div><div></div></div><p><a name="BId-ext2fs-pa14"></a>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 Ext2 est aujourd'hui très mature et évolue fort peu, les systèmes journalisés Ext3 et ReiserFS évoluent très rapidement. De nouvelles fonctionnalités pour ReiserFS sont incluses dans ReiserFS4<sup>[<a name="id2554413" href="#ftn.id2554413">22</a>]</sup>. D'un autre coté XFS a beaucoup de fonctionnalités avancées qui avec le temps marchent de mieux en mieux sous linux. L'approche de JFS est totalement différente, implémentant fonctionnalité après fonctionnalité, le processus est plus long mais leur permet d'avoir une base de code très propre. 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. XFS a l'avantage d'être actuellement le plus performant sur de larges fichiers de flux.</p><p><a name="BId-ext2fs-pa15"></a>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 Ext2. Pour un serveur, on préférera sans doute un système de fichier journalisé comme Ext3. 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. XFS est intéressant si vous recherchez une de ses fonctionnalités avancées.</p><p><a name="BId-ext2fs-pa16"></a>Pour une utilisation « <span class="quote">normale</span> », 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égaoctets). Dans la plupart des cas, les avantages de la journalisation de ReiserFS l'emportent sur ces inconvénients. Notez que par défaut ReiserFS est monté avec l'option <tt class="option">notail</tt>. Cela signifie qu'il n'y a pas d'optimisation pour les petits fichiers et que les gros fichiers sont traités à une vitesse normale.</p></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2554331" href="#id2554331">21</a>] </sup>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 <span class="acronym">RAID</span> hébergeant chacune 8 disques de 128Go, on atteint les 3To...</p></div><div class="footnote"><p><sup>[<a name="ftn.id2554413" href="#id2554413">22</a>] </sup> Au moment la rédaction de ce document, <span class="application">ReiserFS4</span> n'est pas encore inclus dans le noyau 2.6.X</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext2fs.html">Précédent</a> </td><td width="20%" align="center"><a accesskey="u" href="ext2fs.html">Niveau supérieur</a></td><td width="40%" align="right"> <a accesskey="n" href="ch09s02.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">Chapitre 9. Le système de fichiers Linux </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> Tout est fichier</td></tr></table></div></body></html>