Le système de fichiers ext4 est aujourd’hui le plus utilisé sur les distributions Linux. Il combine stabilité, performance et large compatibilité, ce qui en fait un choix par défaut pour de nombreux serveurs et postes de travail.
Dans ce guide, on va apprendre à créer, monter et administrer un système de fichiers ext4 de manière propre et efficace. Si tu n’as pas encore lu le guide d’introduction aux systèmes de fichiers Linux, je te recommande de le parcourir pour bien comprendre les bases (blocs, inodes, journalisation…).
Kezako ext4 ?
Section intitulée « Kezako ext4 ? »Le système de fichiers ext4 (fourth extended filesystem) est l’évolution naturelle de ext3, lui-même dérivé de ext2. Il est aujourd’hui le standard sur la majorité des distributions Linux, notamment Debian, Ubuntu, CentOS, Fedora, etc.
Mais pourquoi est-il si populaire ? Voici un aperçu de ses caractéristiques techniques, de son fonctionnement interne et de ses forces.
Un système de fichiers journalisé
Section intitulée « Un système de fichiers journalisé »ext4 utilise un journal pour enregistrer les métadonnées avant de les
appliquer sur le disque. Cela permet de retrouver un état cohérent après un
crash. Le journal n’inclut pas les données utilisateur, sauf si l’on active le
mode data=journal.
Trois modes de fonctionnement sont disponibles :
journal: journalisation complète (métadonnées + données),ordered(par défaut) : journalisation des métadonnées, écriture des données avant,writeback: performance maximale, mais sécurité réduite.
Caractéristiques techniques principales
Section intitulée « Caractéristiques techniques principales »- Taille maximale d’un fichier : jusqu’à 16 To
- Taille maximale d’un système de fichiers : 1 exaoctet (théorique)
- Taille de bloc : configurable entre 1K et 4K
- Nombre d’inodes : défini à la création, dépend de la taille
- Support des timestamps sur 64 bits (limite repoussée à l’an 2446)
- Allocation différée (delayed allocation) : améliore les performances en regroupant les écritures
- Extent-based allocation : remplace le système de blocs classiques par des “extents”, plus efficaces
- Multiblock allocator : allocation optimisée en grappes de blocs
- Journal en arrière-plan : réduit les latences
Compatibilité et stabilité
Section intitulée « Compatibilité et stabilité »L’un des grands avantages de ext4, c’est sa compatibilité avec ext3. On peut monter un système ext3 en ext4 sans conversion et inversement (avec certaines limitations).
C’est aussi un système stable et mature, supporté par tous les outils
standard de Linux : fsck, tune2fs, e2label, e2fsck, etc.
Inconvénients de ext4
Section intitulée « Inconvénients de ext4 »Aucune technologie n’est parfaite. Voici quelques limites :
- Pas de compression intégrée (contrairement à Btrfs ou ZFS),
- Pas de snapshots natifs,
- Fonctionnalités limitées pour les environnements très dynamiques ou de très grande échelle (où XFS ou Btrfs peuvent mieux s’adapter).
Pour quels usages ?
Section intitulée « Pour quels usages ? »ext4 est idéal pour :
- les serveurs classiques,
- les stations de travail,
- les conteneurs,
- les volumes de données sans besoin de fonctionnalités avancées comme les snapshots ou la réplication.
En résumé, ext4 est un système de fichiers rapide, fiable et bien documenté. C’est souvent le choix le plus simple et le plus efficace pour une très grande majorité des usages Linux. Passons maintenant à sa mise en œuvre concrète avec la création d’un système ext4.
Création d’un système de fichiers ext4
Section intitulée « Création d’un système de fichiers ext4 »Avant d’utiliser un disque ou une partition, il faut le préparer pour qu’il puisse accueillir des fichiers. Avec ext4, cette préparation se fait en deux grandes étapes : la création de la structure de stockage (partition ou volume logique), puis le formatage avec le bon système de fichiers. Voyons comment procéder pas à pas.
Préparer le support de stockage
Section intitulée « Préparer le support de stockage »On peut créer un système ext4 sur :
- un disque brut (
/dev/sdb), - une partition (
/dev/sdb1), - un volume logique LVM (
/dev/mapper/vg_data-lv_home).
L’important, c’est d’avoir un espace reconnu par le système. Pour visualiser les disques :
lsblkS’il s’agit d’un disque neuf, on peut créer une table de partitions avec
fdisk, parted ou gdisk :
sudo fdisk /dev/sdbPuis on crée une partition (par exemple /dev/sdb1) qu’on utilisera ensuite.
Formater en ext4 avec mkfs.ext4
Section intitulée « Formater en ext4 avec mkfs.ext4 »Une fois le support prêt, on utilise la commande suivante :
sudo mkfs.ext4 /dev/sdb1Quelques options utiles :
-L nom: attribue un label à la partition.-m 0: désactive la réserve d’espace pour root (utile pour les disques de données).-E lazy_itable_init=1: accélère la création du FS.-O ^has_journal: permet de désactiver la journalisation (rarement conseillé).
Exemple complet :
sudo mkfs.ext4 -L data_disk -m 0 /dev/sdb1Après la commande, le système de fichiers est prêt à être monté.
Vérification post-création
Section intitulée « Vérification post-création »Pour confirmer que le FS est bien créé :
sudo file -s /dev/sdb1Pour afficher les caractéristiques du FS :
sudo tune2fs -l /dev/sdb1Créer un système de fichiers ext4, c’est simple, mais quelques options bien choisies peuvent vraiment faire la différence entre un disque bien optimisé et un autre source de problèmes. Dans le prochain chapitre, on verra comment monter proprement ce FS et automatiser son utilisation.
Montage d’un système de fichiers ext4
Section intitulée « Montage d’un système de fichiers ext4 »Une fois le système de fichiers ext4 créé, il faut le monter pour
pouvoir l’utiliser. Le montage consiste à rattacher la partition formatée à un
point de montage dans l’arborescence Linux, comme /mnt/data ou /home.
Voici comment procéder manuellement, puis comment automatiser ce montage au démarrage de la machine.
Monter temporairement un système ext4
Section intitulée « Monter temporairement un système ext4 »Pour monter manuellement un système de fichiers ext4 :
- Créer un point de montage :
sudo mkdir -p /mnt/data- Monter le système de fichiers :
sudo mount /dev/sdb1 /mnt/data- Vérifier le résultat :
mount | grep /mnt/dataou
df -h /mnt/dataCe montage est temporaire : il sera perdu au prochain redémarrage si on ne le rend pas persistant.
Utiliser un label ou un UUID
Section intitulée « Utiliser un label ou un UUID »Utiliser un identifiant stable permet d’éviter les erreurs si l’ordre des disques change. On peut monter un système ext4 en utilisant :
- le label :
sudo mount -L data_disk /mnt/data- l’UUID :
sudo mount UUID=xxxx-xxxx /mnt/dataPour obtenir ces informations :
sudo blkid/dev/sdd: UUID="f3c5ec06-c60b-40f8-9717-55fc44cbeaef" BLOCK_SIZE="4096" TYPE="ext4"/dev/sdb: UUID="9b34f3f3-e2ae-41ea-9143-642edfd89671" TYPE="swap"/dev/sdc: UUID="17c85290-9b0c-42d5-9fbf-166cc94b8b82" BLOCK_SIZE="4096" TYPE="ext4"/dev/sda: BLOCK_SIZE="4096" TYPE="ext4"Configurer le montage automatique avec /etc/fstab
Section intitulée « Configurer le montage automatique avec /etc/fstab »Pour rendre un montage permanent, on ajoute une ligne dans /etc/fstab. Exemple
avec un UUID :
UUID=f3c5ec06-c60b-40f8-9717-55fc44cbeaef /mnt/data ext4 defaults 0 2Explication :
- UUID : identifiant unique du système de fichiers,
- /mnt/data : point de montage,
- ext4 : type de FS,
- defaults : options par défaut,
- 0 : pas de dump,
- 2 : ordre de vérification (1 pour
/, 2 pour les autres FS).
Tester sans redémarrer :
sudo mount -aOptions de montage spécifiques à ext4
Section intitulée « Options de montage spécifiques à ext4 »Le système de fichiers ext4 propose plusieurs options de montage qui
permettent d’en ajuster le comportement selon les besoins : performance,
intégrité des données, ou sécurité. Ces options peuvent être spécifiées
à la commande mount, ou ajoutées dans /etc/fstab pour qu’elles s’appliquent
automatiquement.
Voyons les plus courantes et leur utilité.
Options de performance
Section intitulée « Options de performance »noatime: Cette option désactive la mise à jour de l’heure d’accès (atime) à chaque lecture de fichier. Cela réduit les écritures inutiles et améliore les performances, surtout pour les systèmes de fichiers très sollicités.
UUID=xxxx /mnt/data ext4 defaults,noatime 0 2data=writeback | ordered | journal: Contrôle le mode de journalisation des données :ordered(par défaut) : les données sont écrites avant les métadonnées (équilibre sécurité/performance),writeback: performance maximale mais risque de corruption,journal: journalisation complète, plus sûre mais plus lente.
Exemple pour un disque de test :
UUID=xxxx /mnt/test ext4 defaults,data=writeback 0 2Options de sécurité
Section intitulée « Options de sécurité »nodev: Interdit la création de fichiers spéciaux (périphériques) sur ce système de fichiersnosuid: Empêche l’exécution de fichiers avec le bit SUID/SGID, limitant l’élévation de privilèges.noexec: Interdit l’exécution de tout binaire présent sur la partition.
Ces options sont utiles sur des points de montage comme /tmp, /home ou des
disques externes.
UUID=xxxx /tmp ext4 defaults,nodev,nosuid,noexec 0 2Options de gestion des erreurs
Section intitulée « Options de gestion des erreurs »errors=remount-ro: Si une erreur est détectée sur le système de fichiers, il est automatiquement remonté en lecture seule, ce qui évite une corruption supplémentaire.
UUID=xxxx /mnt/data ext4 defaults,errors=remount-ro 0 2Autres options utiles
Section intitulée « Autres options utiles »discard: Active la commande TRIM pour les disques SSD, libérant l’espace effacé.
UUID=xxxx /mnt/ssd ext4 defaults,discard 0 2barrier=0: Désactive les barrières d’écriture (à éviter sauf cas spécifiques, car cela peut compromettre l’intégrité des données).
Résumé pratique
Section intitulée « Résumé pratique »Les options de montage ext4 sont puissantes : bien choisies, elles améliorent la performance, renforcent la sécurité et limitent les conséquences des incidents. Adapter ces options selon l’usage de chaque point de montage est une habitude que tout bon administrateur système devrait adopter.
| Option | Objectif | Recommandé pour |
|---|---|---|
noatime | Réduire les écritures | Systèmes à forte lecture |
data=ordered | Équilibre perf/sécurité | Par défaut, suffisant |
nodev | Sécuriser le montage | /home, /tmp, USB |
nosuid | Éviter l’élévation de privilèges | Points de montage utilisateurs |
noexec | Interdire l’exécution | Partitions non-systèmes |
errors=remount-ro | Prévenir la corruption | Tous les systèmes critiques |
Vérification et réparation avec fsck
Section intitulée « Vérification et réparation avec fsck »Même si ext4 est un système de fichiers robuste et journalisé, il peut
arriver qu’une erreur se produise : coupure brutale, corruption de blocs, ou
disque défectueux. Dans ces cas, l’outil à connaître absolument, c’est
fsck, pour file system check. Il permet de détecter, vérifier et
réparer les erreurs dans un système ext4.
Quand utiliser fsck ?
Section intitulée « Quand utiliser fsck ? »On utilise fsck :
- après un arrêt brutal ou une coupure d’alimentation,
- si le système signale une erreur de lecture ou d’écriture,
- si un système est monté en lecture seule automatiquement,
- ou de manière préventive, selon un calendrier défini.
Important : fsck s’utilise uniquement sur un système de fichiers
démonté. Ne jamais l’utiliser sur une partition montée en écriture.
Vérifier un système ext4
Section intitulée « Vérifier un système ext4 »Pour lancer une vérification :
sudo fsck /dev/sdb1Pour forcer une vérification même si le journal semble propre :
sudo fsck -f /dev/sdb1En ajoutant l’option -y, on demande à fsck de réparer automatiquement
tout ce qui peut l’être, sans confirmation manuelle :
sudo fsck -y /dev/sdb1Utile en script ou lors d’une maintenance non interactive.
Le système peut être configuré pour lancer fsck à intervalles réguliers.
Afficher les paramètres :
sudo tune2fs -l /dev/sdb1 | grep -i 'mount count\|check interval'Modifier ces paramètres :
- Tous les 30 montages :
sudo tune2fs -c 30 /dev/sdb1- Tous les 3 mois :
sudo tune2fs -i 3m /dev/sdb1Récupération d’un système corrompu
Section intitulée « Récupération d’un système corrompu »- Démarrer sur un live CD.
- Identifier la partition corrompue avec
lsblk. - Lancer :
sudo fsck -y /dev/sda1- Redémarrer normalement.
Surveillance et tuning du système de fichiers ext4
Section intitulée « Surveillance et tuning du système de fichiers ext4 »Un système de fichiers, ce n’est pas une simple boîte de stockage. Même après sa création, il mérite qu’on le surveille, qu’on l’ajuste et qu’on le tune au besoin. Avec ext4, plusieurs outils permettent de suivre son état et d’optimiser son comportement selon l’usage réel du disque.
Afficher les paramètres du système de fichiers avec tune2fs
Section intitulée « Afficher les paramètres du système de fichiers avec tune2fs »La commande tune2fs permet de consulter et modifier de nombreux réglages
d’un système ext4.
Pour voir tous les paramètres :
sudo tune2fs -l /dev/sdatune2fs 1.47.0 (5-Feb-2023)Filesystem volume name: <none>Last mounted on: <not available>Filesystem UUID: <none>Filesystem magic number: 0xEF53Filesystem revision #: 1 (dynamic)Filesystem features: ext_attr sparse_super2 filetype extent flex_bg large_file huge_file extra_isize read-onlyDefault mount options: (none)Filesystem state: cleanErrors behavior: ContinueFilesystem OS type: LinuxInode count: 12800Block count: 99438Reserved block count: 0Free blocks: 0Free inodes: 1First block: 0Block size: 4096Fragment size: 4096Blocks per group: 32768Fragments per group: 32768Inodes per group: 3200Inode blocks per group: 200Flex block group size: 2147483648Last mount time: n/aLast write time: Thu Jan 1 01:00:00 1970Mount count: 0Maximum mount count: 0Last checked: Thu Jan 1 01:00:00 1970Check interval: 0 (<none>)Reserved blocks uid: 0 (user root)Reserved blocks gid: 0 (group root)First inode: 11Inode size: 256Required extra isize: 24Desired extra isize: 24Parmi les infos utiles :
- nombre de montages avant vérification (
Mount count,Max mount count), - intervalle de vérification (
Check interval), - nombre total d’inodes,
- pourcentage réservé au superutilisateur,
- présence ou non du journal.
Modifier le pourcentage réservé à root
Section intitulée « Modifier le pourcentage réservé à root »Par défaut, ext4 réserve 5% de l’espace au superutilisateur (root). Sur un disque de données, ce n’est pas nécessaire.
Réduire ce pourcentage à 1% :
sudo tune2fs -m 1 /dev/sdb1Ou le supprimer complètement :
sudo tune2fs -m 0 /dev/sdb1Modifier les intervalles de vérification
Section intitulée « Modifier les intervalles de vérification »Changer le nombre de montages entre chaque vérification automatique :
sudo tune2fs -c 30 /dev/sdb1Changer la durée entre deux vérifications forcées :
sudo tune2fs -i 6m /dev/sdb1(ici, tous les 6 mois)
Observer les performances et l’espace utilisé
Section intitulée « Observer les performances et l’espace utilisé »- Espace disque global :
df -h- Utilisation des inodes :
df -i- Répertoires les plus volumineux :
du -sh /var/*Accéder aux informations du système de fichiers avec dumpe2fs
Section intitulée « Accéder aux informations du système de fichiers avec dumpe2fs »Cette commande donne des informations détaillées sur la structure interne du système ext4 :
dumpe2fs 1.47.0 (5-Feb-2023)Filesystem volume name: <none>Last mounted on: <not available>Filesystem UUID: <none>Filesystem magic number: 0xEF53Filesystem revision #: 1 (dynamic)Filesystem features: ext_attr sparse_super2 filetype extent flex_bg large_file huge_file extra_isize read-onlyDefault mount options: (none)Filesystem state: cleanErrors behavior: ContinueFilesystem OS type: LinuxInode count: 12800Block count: 99438Reserved block count: 0Free blocks: 0Free inodes: 1First block: 0Block size: 4096Fragment size: 4096Blocks per group: 32768Fragments per group: 32768Inodes per group: 3200Inode blocks per group: 200Flex block group size: 2147483648Last mount time: n/aLast write time: Thu Jan 1 01:00:00 1970Mount count: 0Maximum mount count: 0Last checked: Thu Jan 1 01:00:00 1970Check interval: 0 (<none>)Reserved blocks uid: 0 (user root)Reserved blocks gid: 0 (group root)First inode: 11Inode size: 256Required extra isize: 24Desired extra isize: 24
Groupe 0 : (Blocs 0-32767) superbloc Primaire à 0, Descripteurs de groupes à 1-1 Bitmap de blocs à 99430 (bg #3 + 1126) Bitmap d'i-noeuds à 99431 (bg #3 + 1127) Table d'i-noeuds à 98630-98829 (bg #3 + 326) 0 blocs libres, 0 i-noeuds libres, 339 répertoires Blocs libres : I-noeuds libres :Groupe 1 : (Blocs 32768-65535) Bitmap de blocs à 99432 (bg #3 + 1128) Bitmap d'i-noeuds à 99433 (bg #3 + 1129) Table d'i-noeuds à 98830-99029 (bg #3 + 526) 0 blocs libres, 0 i-noeuds libres, 357 répertoires Blocs libres : I-noeuds libres :Groupe 2 : (Blocs 65536-98303) Bitmap de blocs à 99434 (bg #3 + 1130) Bitmap d'i-noeuds à 99435 (bg #3 + 1131) Table d'i-noeuds à 99030-99229 (bg #3 + 726) 0 blocs libres, 0 i-noeuds libres, 498 répertoires Blocs libres : I-noeuds libres :Groupe 3 : (Blocs 98304-99437) Bitmap de blocs à 99436 (+1132) Bitmap d'i-noeuds à 99437 (+1133) Table d'i-noeuds à 99230-99429 (+926) 0 blocs libres, 1 i-noeuds libres, 259 répertoires Blocs libres : I-noeuds libres : 12800On peut y voir :
- les emplacements des superblocs de secours,
- les blocs de journalisation,
- la configuration des groupes de blocs,
- etc.
Ajuster dynamiquement le comportement du FS
Section intitulée « Ajuster dynamiquement le comportement du FS »Certains réglages peuvent être modifiés sans reformater :
- activer ou désactiver certaines options ext4 (
has_journal,extents,dir_index, etc.), - changer le label :
sudo e2label /dev/sdb1 nouvelle_etiquetteSurveiller les erreurs et journaux système
Section intitulée « Surveiller les erreurs et journaux système »Ext4 journalise les erreurs dans dmesg et /var/log/syslog.
Pour détecter les soucis :
dmesg | grep ext4Ou :
journalctl -k | grep ext4Bonnes pratiques spécifiques à ext4
Section intitulée « Bonnes pratiques spécifiques à ext4 »Même si ext4 est un système de fichiers fiable et simple à prendre en main, il y a plusieurs bonnes pratiques à adopter pour tirer le meilleur parti de ses fonctionnalités. Ces pratiques permettent d’éviter les problèmes, d’optimiser les performances et de garantir une maintenance fluide dans le temps.
1. Choisir intelligemment la taille des blocs
Section intitulée « 1. Choisir intelligemment la taille des blocs »Par défaut, mkfs.ext4 utilise des blocs de 4 Ko, ce qui convient à la
plupart des cas. Mais si on sait que le disque va contenir beaucoup de petits
fichiers ou à l’inverse de très gros fichiers, on peut ajuster :
- blocs plus petits = gain d’espace pour des millions de petits fichiers,
- blocs plus grands = meilleures performances pour des fichiers volumineux.
À définir au moment du formatage :
sudo mkfs.ext4 -b 4096 /dev/sdb12. Réduire l’espace réservé pour root
Section intitulée « 2. Réduire l’espace réservé pour root »Par défaut, ext4 réserve 5 % de l’espace disque au superutilisateur. Cela
peut être utile sur / pour éviter un plantage si un utilisateur remplit le
disque, mais sur une partition de données, c’est souvent superflu.
On peut le désactiver :
sudo tune2fs -m 0 /dev/sdb1Ou le réduire :
sudo tune2fs -m 1 /dev/sdb13. Activer des options de montage adaptées
Section intitulée « 3. Activer des options de montage adaptées »On peut améliorer les performances ou renforcer la sécurité avec des options comme :
noatime: évite d’écrire à chaque lecture de fichier,data=ordered: mode par défaut, bon compromis sécurité/performance,errors=remount-ro: empêche la corruption en cas de problème.
Exemple dans /etc/fstab :
UUID=xxxx /mnt/data ext4 defaults,noatime,errors=remount-ro 0 24. Sauvegarder les superblocs de secours
Section intitulée « 4. Sauvegarder les superblocs de secours »Ext4 stocke automatiquement plusieurs copies du superbloc à différents emplacements du disque. En cas de corruption du principal, ces copies permettent une récupération.
On peut les visualiser avec :
sudo dumpe2fs /dev/sdb1 | grep -i superblockEt les utiliser en cas de problème avec fsck :
sudo fsck -b 32768 /dev/sdb15. Prévoir une vérification périodique
Section intitulée « 5. Prévoir une vérification périodique »Même si le journal réduit le besoin de fsck, il reste utile de programmer une
vérification complète périodique.
Exemple : tous les 30 montages ou tous les 6 mois :
sudo tune2fs -c 30 -i 6m /dev/sdb16. Surveiller la fragmentation
Section intitulée « 6. Surveiller la fragmentation »Ext4 gère bien la fragmentation, mais dans certains cas (volumes très remplis ou
fichiers souvent modifiés), cela peut devenir un souci. L’outil e4defrag
permet d’analyser et de défragmenter :
sudo e4defrag -c /mnt/datasudo e4defrag /mnt/data7. Documenter la configuration
Section intitulée « 7. Documenter la configuration »Comme pour tout élément critique d’un système, il est bon de documenter :
- les UUID et labels utilisés,
- les options de montage choisies,
- les points de sauvegarde,
- les paramètres modifiés avec
tune2fs.
Un simple fichier texte dans /root ou /etc peut suffire pour ne pas chercher
en urgence le jour où un problème survient.
En appliquant ces bonnes pratiques spécifiques à ext4, on renforce la fiabilité, la performance et la résilience de l’environnement. Ext4 ne demande pas de supervision constante, mais il mérite une configuration soignée. Un peu d’attention à l’installation évite bien des complications plus tard.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
Conclusion
Section intitulée « Conclusion »Le système de fichiers ext4 reste aujourd’hui une valeur sûre pour toute administration Linux. Facile à mettre en place, robuste, bien documenté et compatible avec tous les outils standards, il offre un excellent compromis entre performance, fiabilité et simplicité de gestion.
On a vu dans ce guide comment :
- comprendre ses fonctionnalités internes (journalisation, extents, options de montage),
- le créer proprement sur une partition ou un volume logique,
- le monter manuellement ou automatiquement avec les bonnes options,
- le vérifier, le réparer et même le tuner finement selon les usages.
Ext4 n’offre peut-être pas toutes les fonctionnalités avancées de Btrfs ou ZFS, mais pour la grande majorité des cas, c’est un choix solide et pragmatique. Dans les chapitres suivants, on explorera d’autres systèmes de fichiers comme XFS et Btrfs, afin de comparer leurs comportements, leurs cas d’usage et leurs outils d’administration spécifiques.