Système de fichiers Ext4 – Plongée approfondie dans le système de fichiers natif Linux

Ext4 est le système de fichiers principal pour Linux, et tout au long de cet article, vous apprendrez sur sa compatibilité, historique, et différentes manières de créer des fichiers sur elle.

Téléchargement gratuit Téléchargement gratuit Plus de fonctionnalités > Plus de fonctionnalités >
100% sécurité pour le téléchargement gratuit
qu'est-ce que le système de fichiers ext4

Le quatrième système de fichiers étendu (Ext4) est le système de fichiers natif de Linux conçu pour surmonter les problèmes avec Ext3. Le système de fichiers a d'abord été publié en tant qu'extensions d'Ext3, qui étaient rétrocompatibles. Plus tard, pour des raisons de stabilité, le producteur a décidé que le code source soit forké, et tous les développements ont été faits là-bas. Google a aussi décidé d'utiliser Ext4 sur Android 2.3. Tout au long de cet article, vous découvrirez la compatibilité, l'historique, les fonctionnalités d'Ext4 et une comparaison côte à côte avec d'autres systèmes de fichiers Linux.

Partie 1. Compatibilité du système de fichiers Ext4

Le système de fichiers Ext4 est devenu le système de fichiers par défaut pour beaucoup de distributeurs Linux populaires, tels que Ubuntu et Debian. Le système de fichiers est officiellement incompatible avec Windows et macOS, mais il y a des moyens de contourner cette limitation.

Les utilisateurs de Windows ont plusieurs choix. Ils peuvent utiliser des applications tierces, utiliser WSL 2 ou le convertir en NTFS. Consultez les étapes de l'article pour monter Ext4 sous Windows.

En tant qu'utilisateurs de Mac, ils peuvent utiliser des outils tels que macFUSE, des hôtes de machines virtuelles ou des applications tierces qui autorisent l'accès à ce système de fichiers. Voici le tutoriel sur le montage et l'accès aux fichiers Ext4 sur macOS.

Partie 2. Histoire du système de fichiers EXT

chronologie ext4

Minix

Minix a été initialement créé en 1987 par Andrew S. Tanenbaum comme outil pédagogique pour son livre Operating Systems Design and Implementation. Aujourd'hui, c'est un système d'exploitation orienté texte avec un noyau de moins de 6 000 lignes de code. Le titre de gloire le plus important de MINIX est un exemple de micro-noyau, dans lequel chaque pilote de périphérique s'exécute comme un processus en mode utilisateur isolé. Cette structure augmente la sécurité et la fiabilité car un bogue dans un pilote ne peut pas faire tomber tout le système.

De nos jours, MINIX est communément connu comme une note de bas de page dans l'histoire de GNU/Linux. Ce système de fichiers a motivé Linus Torvalds à développer Linux, et certains de ses travaux antérieurs ont été écrits sur MINIX. La décision antérieure de Torvalds de se charger du système de fichiers MINIX est responsable de la prise en charge par le noyau Linux de presque tous les systèmes de fichiers imaginables.

EXT

Le premier système de fichiers EXT (Extended) a été composé par Rémy Card et publié avec le système d'exploitation Linux en 1992 pour surmonter les limitations de taille du système de fichiers Minix. Les modifications structurelles immédiates concernaient les métadonnées du système de fichiers, qui étaient basées sur le système de fichiers Unix (UFS), aussi connu sous le nom de Berkeley Fast File System (FFS).

Les informations sur ce système de fichiers sont limitées car il présentait des problèmes importants et a été rapidement remplacé par le système de fichiers EXT2.

EXT2

Le système de fichiers Ext2 a été plutôt réussi au début. Les clients ont utilisé Ext2 dans les distributions Linux pendant plusieurs années et en étaient satisfaits. Le système de fichiers EXT2 a essentiellement exactement les mêmes structures de métadonnées que le système de fichiers EXT. Cependant, EXT2 est plus simple quand on considère la quantité d'espace disque qui reste entre les structures de métadonnées pour une utilisation future.

Semblable à Minix, EXT2 contient un secteur de démarrage dans le premier secteur du disque dur sur lequel il est installé, qui a un enregistrement de démarrage minimal et une table de partition. En plus, vous verrez une certaine quantité d'espace disque réservé une fois le secteur de démarrage terminé. Cet espace réservé couvre l'espace entre votre enregistrement de démarrage et la première partition de disque dur qui se trouve souvent sur la limite de cylindre suivante.

structure du groupe de cylindres dans les systèmes de fichiers ext

EXT3

Le système de fichiers EXT3 avait pour objectif de surmonter les énormes périodes de temps que la fsck nécessaire pour récupérer complètement une structure de disque sabotée par un arrêt incorrect survenu lors d’une mise à jour de vos fichiers. L'ajout singulier au système de fichiers EXT était la fonction de journal, qui sauvegarde à l'avance les changements qui seront apportées au système de fichiers.

La fonction de journalisation réduit le temps nécessaire pour vérifier les incohérences du disque dur après une panne de quelques jours à quelques minutes, tout au plus. Beaucoup de problèmes ont été signalés au fil des ans et ont fait planter les systèmes des utilisateurs. Les détails pourraient occuper un article entier, mais il suffit de dire que beaucoup d'entre eux étaient auto-infligés et n'étaient pas des défaillances du système. La fonction de journalisation du système de fichiers EXT a réduit le temps de récupération au démarrage.

EXT4

Dans EXT4, le producteur a changé l'allocation des données de blocs fixes en étendues. Son emplacement de départ et d'arrivée sur le disque dur décrit une étendue. Cette fonctionnalité permet de décrire de longs fichiers physiquement adjacents dans une seule entrée de pointeur iNode, ce qui peut réduire considérablement le nombre de pointeurs nécessaires pour définir l'emplacement de toutes les données dans des fichiers plus volumineux. EXT4 réduit la fragmentation en répartissant les fichiers nouvellement créés sur le disque afin qu'ils ne soient pas regroupés à un seul endroit du disque, comme le faisaient beaucoup de systèmes de fichiers PC anciens.

Les algorithmes d’allocation de fichiers essaient de répartir les fichiers aussi uniformément que possible entre les groupes de cylindres et, quand la fragmentation est nécessaire, de garder les extensions de fichiers discontinues aussi serrées que possible aux autres afin de minimiser la recherche de tête et la latence rotationnelle par beaucoup.

inode dans le système de fichiers ext4

Si vous avez besoin de récupérer des données de vos partitions Ext2-Ext4, vous pouvez utiliser Wondershare Recoverit.

recoverit récupération de données

Wondershare Recoverit - Récupérez vos précieuses données sur Mac

5,481,435 personnes l'ont téléchargé.

Recoverit peut trouver les données de la corbeille Mac vidée, les données perdues d'un secteur défectueux, la corruption du disque dur et la suppression permanente accidentelle.

Le logiciel est incroyablement facile à utiliser et dispose même d'une fonction de prévisualisation, vous pouvez donc vérifier que vous restaurez le bon fichier.

Se charge de la récupération de plus de 1000 types de formats de fichiers : DOC/DOCX, XLS/XLSX, PDF, JPG, HEIF, HTML, INDD, EPS, MP4, MP3, zip, etc.

Version gratuite pour essayer et version payante pour en profiter davantage.

Partie 3. Caractéristiques de Ext4

  • Taille du système de fichiers : Ext4 autorise les systèmes de fichiers jusqu'à 1 exbioctet et les fichiers jusqu'à 16 tébioctets. Le système de fichiers ext3 confère seulement une taille de système de fichiers maximale de 16 To et une taille de fichier maximale de 2 To.
  • Étendues : l'étendue de l'idée signifie " une séquence de blocs physiques en bordure. " Les fichiers volumineux sont divisés en plusieurs « étendues. » Les fichiers sont ensuite alloués à une " étendue unique " plutôt qu'à une taille particulière, contournant ainsi le mappage indirect des blocs. Chaque iNode stocke jusqu'à 4 extensions d'un fichier et indexe le reste dans un Htree. Donc, les étendues permettent moins de fragmentation grâce à une allocation de bloc séquentielle et améliorent les performances.
  • Allocation retardée et multibloc : l'allocation multibloc (mballoc) alloue plusieurs blocs pour un fichier en une seule opération au lieu de les allouer un par un, comme dans ext3. Cette fonctionnalité réduira la surcharge liée à l'appel répété de " l'allocateur de blocs " et optimisera l'allocation de mémoire. Dans la fonctionnalité d'allocation différée, si une fonction écrit des données sur un disque plutôt que de les allouer immédiatement, les données seront stockées dans le cache. L'allocation différée écrira toutes les données dans le cache uniquement après avoir " vidé " le cache. Cette technique s'appelle " allocate-on-flush. "
  • Défragmentation en ligne et vitesse fsck : Le taux de fragmentation est moindre dans les systèmes ext4 en raison des techniques que nous avons mentionnées ci-dessus. Cependant, cela ne signifie pas 0% de fragmentation. La défragmentation, si nécessaire, peut être effectuée en ligne à l'aide de l'outil « e4defrag ».
  • Somme de contrôle du journal : Ext4 utilise la somme de contrôle du journal pour connaître la santé des blocs du journal. Cette fonctionnalité est utilisée pour éviter la corruption des données. Vous pouvez désactiver le mode de journalisation dans ext4 s'il entraîne une surcharge.
  • Inodes/horodatages : le système de fichiers ext4 a une grande taille d'inode de 256 octets par défaut, alors que ext3 a seulement 128 octets pour les inodes. La précision de l'horodatage est stockée en nanosecondes au lieu de secondes dans le cas de ext3.
  • Compatibilité descendante : les systèmes de fichiers Ext3 peuvent être facilement migrés vers ext4 sans formater ni réinstaller le système d'exploitation, à condition que le noyau se charge du système de fichiers ext4.

Partie 4. Avantages et inconvénients de Ext4

Avantages

Vous pouvez utiliser différents disques/LUN et obtenir des performances plus satisfaisantes. Cela peut augmenter les performances des bases de données car vous pouvez avoir le journal des transactions sur un stockage et les fichiers de données sur un autre. Comparable aux applications Web intensives en E/S de disque

Vous pouvez utiliser diverses options de montage qui augmentent la protection ou influencent les performances ou la stabilité de manière plus granulaire

Vous gérez l'espace séparément. Ainsi, vous pouvez avoir une application malveillante qui remplit l'espace qui n'affecte pas les autres applications

La fragmentation d'une partition spécifique est distincte de l'autre

Vous pouvez capturer, monter, démonter, formater, défragmenter et surveiller les performances des systèmes de fichiers sans assistance

Vous pouvez avoir un chiffrement sur des volumes spécifiques

Vous pouvez monter des volumes à la demande

Inconvénients

Le système de fichiers augmente les frais généraux d'administration

Vous aurez plus de cas d'avoir gaspillé plus d'espace disque que nécessaire

Vous aurez plus d'incidents impliquant que votre disque soit plein

Il est plus difficile de créer un instantané cohérent d'une application s'exécutant sur différents volumes

Il utilise un peu plus de ressources

Selon le type de volume (étiquette MS-DOS, LVM, btrfs...), vous ne pourrez peut-être pas allouer efficacement l'espace d'un volume en réduisant un autre volume

Partie 5. Travailler avec Ext4

  • Création de fichiers sur le système de fichiers Ext4

Pour créer des fichiers sur Ext4, vous devez formater la partition avec le système de fichiers Ext4 à l'aide de la commande mkfs.ext4 :

~]# mke4fs -t périphérique bloc ext4

Sortie de la commande mkfs.ext4

Dans cette ligne de commande, le périphérique bloc est une partition qui contiendra le système de fichiers ext4 que vous allez créer.

Étiquetage de la partition à l'aide de la commande e4label :

~]# e4label <block_device> nouvelle étiquette

Création d'un point de montage et montage du nouveau système de fichiers sur ce point de montage :

~]# mkdir /montage/point

~]# mount block_device /mount/point

  • Montage du système de fichiers Ext4 et définition des paramètres

Les utilisateurs ont deux manières de monter des systèmes de fichiers Ext4 : en utilisant les options par défaut et en définissant des paramètres. La ligne de commande pour utiliser les paramètres par défaut est la suivante :

~]# mount block_device /mount/point

Pour définir les paramètres de votre fichier, utilisez la commande tune2fs. Certains paramètres que vous pouvez définir avec cette commande sont les suivants :

Définition de l'étiquette de volume : utilisez l'option -L avec tune2fs similaire à cette ligne de commande : sudo tune2fs -L Label_Name /dev/sda2

Liste des paramètres du système de fichiers : encore une fois, utilisez l'option -L avec tune2fs identique à la ligne de commande suivante : sudo tune2fs -l /dev/sda2

  • Redimensionner le système de fichiers Ext4

Les utilisateurs doivent s'assurer que le périphérique bloc sous-jacent a une taille suffisante pour le système de fichiers Ext4 que la ligne de commande redimensionnera. Utilisez la commande resize4fs pour changer la taille de vos fichiers :

~]# resize4fs block_devicenew_size

  • Défragmentation du système de fichiers Ext4

Certains fichiers Ext4 sont créés avec l'option extent, ce qui signifie que vous pouvez utiliser e4defrag pour effectuer la défragmentation. Pour vérifier les niveaux de fragmentation, utilisez cette ligne de commande :

sudo e4defrag -c /chemin/vers/mesfichiers

Dans certains cas, le score de fragmentation est égal à zéro, ce qui signifie qu'une défragmentation n'est pas nécessaire. Cependant, si vous voulez le faire, utilisez la ligne de commande suivante :

e4 defrag /chemin/vers/mesfichiers

Partie 6. Ext4 vs autres systèmes de fichiers Linux

Linux se charge de divers systèmes de fichiers tels que Ext4, XFS, Btfrs, ZFS, JFS et NTFS. Chaque type de système de fichiers résout différents problèmes et a ses limites.

Systèmes de fichiers Linux
Date de sortie
Développeur
Utilisation idéale
limites
Ext4 Décembre 2008 Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp, ​​Theodore Ts'o, Eric Sandeen, Sam Naghshineh Utilisation pour les applications qui utilisent un seul thread de lecture ou d'écriture N'a pas de fonction de suppression sécurisée
XFS Mai 2000 Graphiques en silicone, chapeau rouge Idéal lorsqu'il est utilisé pour les grands systèmes informatiques et les systèmes nécessitant des performances élevées Opérations de métadonnées plus lentes
Btrfs Mars 2009 Facebook, Fujitsu, Fusion-IO, Intel, Linux Foundation, Netgear, Oracle Corporation, Red Hat, STRATO AG et openSUSE Idéal lorsqu'il est utilisé pour contrer des obstacles tels que la tolérance aux pannes, la gestion et la protection des données Haut niveau de fragmentation des données
ZFS Juin 2006 Microsystèmes solaires créer un système de fichiers qui s'étend sur une série de lecteurs ou un pool Défaut de vérifier l'état de la RAM en cas d'erreurs de données
JFS Juin 2001 IBM et al. Garder les métadonnées cohérentes lors de leur journalisation Ne pas pouvoir réduire une partition JFS
NTFS 1993 Microsoft Prévention de la perte de données en cas de coupure de courant Problèmes de compatibilité avec Android et macOS

Vous pouvez apprendre quel système de fichiers Linux devez-vous utiliser pour votre ordinateur dans le guide vidéo ci-dessous :

Téléchargement Gratuit

Pour Windows XP/Vista/7/8/10/11

Téléchargement Gratuit

Pour macOS X 10.10 - macOS 13

Les gens demandent aussi

Divers benchmarks ont conclu que le système de fichiers ext4 peut effectuer plusieurs opérations de lecture-écriture plus rapidement qu'une partition NTFS. Notez que bien que ces tests n'indiquent pas les performances réelles, nous pouvons extrapoler ces résultats et les utiliser comme une raison.

Le format du système de fichiers Ext4 est natif de Linux et le système d'exploitation Windows ne s'en charge pas par défaut, mais il y a des moyens de le contourner.

La principale raison de l'incapacité de Windows à lire Ext4 est qu'il n'est pas créé avec des pilotes conçus pour ce système de fichiers.

Il y a plusieurs références sur Internet indiquant que le format du système de fichiers Ext4 est beaucoup plus rapide que FAT32 (et même NTFS).