Ext4 vs XFS – Quel système de fichiers devriez-vous utiliser

Les utilisateurs exécutant un système Linux font à peine attention au système de fichiers sous-jacent. En fait, lors de l’installation de Linux, on a souvent tendance à utiliser le système de fichiers par défaut répertorié sans explorer les autres options disponibles. Pour Windows, les choses sont beaucoup plus faciles puisque NTFS est le système de fichiers dominant. Avec Linux, de nombreux systèmes de fichiers sont à votre disposition. Ceux-ci incluent Ext4, XFS, ZFS et BTRFS.

Les systèmes de fichiers les plus utilisés sont Ext4 et XFS, ce dernier étant le système de fichiers par défaut dans les distributions basées sur RHEL et Ext4 étant le système de fichiers standard dans les distributions Debian et Ubuntu. Lors du choix d’un système de fichiers, certains des facteurs à prendre en compte incluent l’évolutivité, la stabilité et l’intégrité des données.

Dans ce guide, nous nous concentrerons sur Systèmes de fichiers Ext4 et XFS et chercher à comprendre les différences entre ces deux.

Le système de fichiers Ext4

Le système de fichiers Ext4 (système de fichiers étendu) est la quatrième génération de la famille des systèmes de fichiers Ext dont l’origine remonte au système d’exploitation Minix qui a été introduit pour la première fois en 1987. Le système de fichiers Ext est le premier système de fichiers à soutenir le noyau Linux lorsqu’il a été dévoilé en 1992. Il est entré en scène en 2008, avec Linux 2.6.28. succédant à son prédécesseur, ext3.

Ext4 gère parfaitement de nombreux petits fichiers et garantit que les métadonnées sont correctement écrites, même si le cache d’écriture perd de la puissance.

En un coup d’œil, ses principales caractéristiques comprennent :

  • Prise en charge de fichiers volumineux – L’Ext4 prend en charge une taille de fichier unique allant jusqu’à 16 Tio (Tébioctets), tandis que XFS prend en charge une taille de fichier maximale allant jusqu’à 8 exbioctets.
  • Retarder l’allocation en fonction de l’étendue pour des allocations de fichiers plus rapides.
  • Rétrocompatibilité – Un autre avantage de l’utilisation du système de fichiers Ext4 est sa rétrocompatibilité avec les systèmes Ext3 et Ext2. Cela améliore les performances et la flexibilité puisque certaines fonctionnalités Ext4 peuvent également être implémentées dans les systèmes de fichiers Ext3 et Ext2. De plus, les systèmes de fichiers Ext3 et Ext2 peuvent être montés en tant qu’Ext4.
  • Améliorations de l’allocation – Les blocs de stockage sont alloués plus efficacement par le système de fichiers Ext4 avant d’être écrits sur le disque. Cela améliore considérablement les performances de lecture et d’écriture.
  • Sommes de contrôle du journal – Le système de fichiers Ext4 exploite l’option de somme de contrôle pour minimiser le risque de corruption de fichier. L’option de somme de contrôle effectue des vérifications fréquentes pour rechercher des erreurs dans le volume de bloc. Ce faisant, le temps de journalisation est réduit et les performances réduites.
  • Vérifications plus rapides du système de fichiers – En plus des sommes de contrôle des journaux, Ext4 permet des vérifications plus rapides du système de fichiers, pour example, la commande fsck s’exécutera plus rapidement et donnera des résultats plus rapidement que les versions antérieures telles que Ext3 et Ext2.
  • Horodatages améliorés – Ext4 implémente des horodatages mesurés en nanosecondes, une amélioration par rapport à la granularité des horodatages basés sur la seconde qui est considérée comme inadéquate. De plus, 408 années supplémentaires ont été ajoutées à l’horodatage pour tenir compte de la limite plafonnée de l’année 2038.
  • Nombre illimité de sous-répertoires – Le système de fichiers Ext4 ne limite pas le nombre de sous-répertoires pouvant être créés dans un seul répertoire, à l’exception de la taille du répertoire lui-même. Dans Ext3, un répertoire ne peut avoir qu’un maximum de 32 000 sous-répertoires. Ext4 a introduit la fonctionnalité HTreeindices pour augmenter le nombre d’entrées pouvant être stockées dans un répertoire.
  • Cryptage transparent – La prise en charge du cryptage transparent a été implémentée pour le système de fichiers Ext4 dans le noyau Linux 4.1 en juin 2015.

Le système de fichiers XFS

Développé à l’origine par Silicon Graphics en 1993, le système de fichiers XFS se targue d’être un système de fichiers de journalisation 64 bits stable et performant. Le système de fichiers XFS a été conçu pour prendre en charge des systèmes de fichiers volumineux allant jusqu’à 18 exaoctets et des fichiers extrêmement volumineux. Le système de fichiers est conçu pour les systèmes dotés de grandes baies de disques, de grands processeurs et ceux qui ont besoin de stocker des fichiers volumineux.

XFS est connu pour fournir une grande évolutivité des threads d’E/S et pour ses excellentes performances dans la gestion de gros fichiers.

Le système de fichiers XFS est le système de fichiers par défaut dans RHEL, CentOS et d’autres distributions RHEL telles que Oracle Linux, Rocky Linux et AlmaLinux.

Les principales caractéristiques comprennent :

  • Prise en charge d’un système de fichiers plus volumineux – XfS prend en charge la taille du système de fichiers jusqu’à 1 PiB, tandis que Ext4 prend en charge jusqu’à 50 Tio. La taille prise en charge du système de fichiers peut varier en fonction des versions de distribution Linux.
  • Allocation différée – Utilisez des techniques d’évaluation paresseuses pour l’allocation de fichiers. l’allocation de blocs se produit uniquement lorsque les données sont finalement vidées sur le disque et permet de réduire la fragmentation et d’augmenter les performances.
  • Défragmentation en ligne et croissance du système de fichiers
  • Algorithmes sophistiqués de lecture anticipée des métadonnées
  • Journalisation des métadonnées – La journalisation des métadonnées est une fonctionnalité qui garantit la cohérence du système de fichiers en cas de coupure de courant soudaine ou de panne du système.
  • Journalisation des quotas – Cela élimine le besoin de longs contrôles de cohérence des quotas après un plantage du système.
  • Prise en charge des attributs étendus – Cela a permis au système d’associer plusieurs paires nom/valeur supplémentaires par fichier.
  • Défragmentation et croissance en ligne – Vous pouvez défragmenter et agrandir le système de fichiers lorsqu’il est monté et actif.
  • Évolutivité du stockage – Le système de fichiers XFS fait des efforts impressionnants pour prendre en charge des systèmes de fichiers volumineux, des répertoires volumineux et un volume énorme de fichiers pouvant atteindre des exaoctets de capacité.
  • Gestion efficace de l’espace disque – XFS offre également une évolutivité pour une gestion efficace de l’espace disque grâce à l’indexation B-Tree.

Conclusion

C’est une décision importante de choisir le système de fichiers approprié pour votre application. Lors de la prise de décision, vous devez tenir compte de la taille du serveur, de la charge de travail d’E/S que vous attendez, du débit et de la latence, de la taille des fichiers, des temps d’arrêt que l’application peut subir, etc.

C’était un aperçu des systèmes de fichiers XFS et Ext. Nous avons décrit en détail les avantages offerts par chaque système de fichiers. Avec ces informations à l’esprit, vous pouvez prendre une décision éclairée sur le système de fichiers à choisir pour votre système d’exploitation.