Qu'est-ce que ext3 (troisième système de fichiers étendu) ?

8 avril 2024

Le troisième système de fichiers étendu (ext3) est un système de journalisation système de fichiers qui a été largement utilisé par les noyau Linux. Il a été conçu pour être une extension du Second Extended File System (ext2), offrant une compatibilité ascendante tout en ajoutant de nouvelles fonctionnalités importantes. L'un des ajouts les plus importants a été l'introduction de la journalisation, qui a considérablement amélioré la fiabilité et l'intégrité du système de fichiers, en particulier dans les situations où le système pourrait ne pas être arrêté proprement, comme lors d'une panne de courant ou d'une panne du système.

Fonctionnalités ext3

Voici un aperçu plus approfondi de certaines des fonctionnalités principales d'ext3 :

Journaling

La fonctionnalité la plus importante d'ext3 est sa capacité de journalisation, qui améliore considérablement la fiabilité du système de fichiers et réduit le temps requis pour la récupération après un crash. Dans un système de fichiers journalisé, les modifications sont d'abord enregistrées dans une zone dédiée appelée journal avant d'être appliquées au système de fichiers principal. Ce processus garantit que même en cas de panne du système, le système de fichiers peut être rapidement ramené à un état cohérent en rejouant ou en ignorant les transactions incomplètes enregistrées dans le journal.

Croissance du système de fichiers en ligne

ext3 prend en charge le redimensionnement du système de fichiers lorsqu'il est monté et utilisé, une fonctionnalité connue sous le nom de croissance du système de fichiers en ligne. Ceci est particulièrement utile pour les administrateurs système qui ont besoin d'augmenter la capacité de stockage sans les temps d'arrêt.

Indexation Htree pour les répertoires

Pour améliorer les performances des opérations dans les répertoires contenant un grand nombre de fichiers, ext3 implémente l'indexation Htree, une méthode qui utilise un haché Structure B-tree pour indexer les entrées du répertoire. Ce mécanisme réduit le temps nécessaire pour rechercher des fichiers dans des répertoires volumineux, améliorant ainsi les performances globales du système.

Compatibilité descendante avec ext2

ext3 est rétrocompatible avec ext2, ce qui signifie qu'un système de fichiers ext3 peut être monté et utilisé comme système de fichiers ext2. Cette fonctionnalité facilite les mises à niveau faciles d'ext2 vers ext3 sans avoir besoin de migration de données. À l'inverse, les systèmes de fichiers ext3 peuvent être montés en tant qu'ext2, mais sans prise en charge de la journalisation.

Prise en charge des fichiers volumineux et des systèmes de fichiers

ext3 peut prendre en charge des fichiers jusqu'à 2 To et des systèmes de fichiers jusqu'à 32 To. Il s'agissait d'une amélioration significative par rapport à ext2 et répondait aux exigences de la plupart des applications et systèmes au moment de son développement.

Listes de contrôle d'accès (ACL) et attributs étendus

ext3 prend en charge les listes de contrôle d'accès (ACL), qui fournissent une flexmécanisme d'autorisation ible que le traditionnel UNIX autorisations de fichiers. De plus, les attributs étendus permettent aux utilisateurs et applications associer des compléments métadonnées avec des fichiers et des répertoires au-delà des attributs de fichier standard.

Modes de journalisation

ext3 propose différents modes de journalisation qui permettent aux utilisateurs d'équilibrer entre performances et intégrité des données. Ces modes incluent :

  • Journal. Les données et les métadonnées sont journalisées, ce qui garantit le plus haut niveau d'intégrité, mais peut avoir un impact sur les performances.
  • Commandé. Seules les métadonnées sont journalisées, mais les blocs de données sont écrits avant que les métadonnées associées ne soient validées dans le journal. Il s'agit du mode par défaut, offrant un bon équilibre entre performances et fiabilité.
  • Réécriture. Seules les métadonnées sont journalisées et rien ne garantit que les blocs de données soient écrits avant les métadonnées. Ce mode offre les meilleures performances mais la moindre garantie d'intégrité des données.

ext3 Avantages et inconvénients

Le système de fichiers ext3 a introduit des améliorations significatives dans la technologie du système de fichiers par rapport à son prédécesseur, ext2. Cependant, il présentait un ensemble d'inconvénients qui se sont révélés au fil du temps, tels que la fragmentation, des problèmes de performances et le manque de prise en charge de très gros volumes de stockage. Ci-dessous, nous examinons ces avantages et inconvénients d’ext3.

Avantages

Voici les avantages d’ext3 :

  • Fiabilité améliorée. La fonction de journalisation améliore considérablement la fiabilité du système de fichiers en conservant une trace des modifications sur le point d'être apportées. En cas de panne du système ou de panne de courant, cela permet au système de fichiers de récupérer rapidement en rejouant les modifications de ce journal, minimisant ainsi le risque de corruption des données.
  • Temps de récupération plus rapides. Contrairement à ext2, qui pourrait nécessiter des vérifications approfondies du système de fichiers (fsck) après un crash, la journalisation d'ext3 réduit le besoin de telles vérifications, conduisant à des temps de récupération beaucoup plus rapides.
  • Facilité de mise à niveau. L'un des principaux avantages d'ext3 était sa rétrocompatibilité avec ext2. Cela a permis aux utilisateurs de mettre à niveau leurs systèmes de fichiers d'ext2 vers ext3 sans avoir besoin de formater ou de migrer les données, ce qui représente un gain de temps et de commodité considérable.
  • Flexibilité. Les systèmes pourraient monter un système de fichiers ext3 en tant qu'ext2 si nécessaire (bien que sans avantages de journalisation), fournissant flexabilité dans la façon dont le système de fichiers a été utilisé et maintenu.
  • Prise en charge de gros volumes et fichiers. ext3 prenait en charge des systèmes de fichiers jusqu'à 32 To et des tailles de fichiers jusqu'à 2 To, ce qui était suffisant pour répondre aux besoins des utilisateurs disposant de bases de données et de fichiers volumineux à l'époque.
  • Intégrité des données améliorée. Les modes de journalisation (journal, ordonné et écriture) offraient des choix entre les niveaux de performances et d'intégrité des données, permettant aux administrateurs de choisir le mode le plus approprié à leurs besoins. Ce flexLa fiabilité a aidé à optimiser les systèmes en fonction de la priorité de l'intégrité des données par rapport aux performances.
  • Listes de contrôle d'accès (ACL) et attributs étendus. La prise en charge des ACL a permis un contrôle plus granulaire sur les autorisations de fichiers, améliorant ainsi la sécurité et les capacités de collaboration. Les attributs étendus permettent de stocker des métadonnées supplémentaires, ce qui est bénéfique pour certaines applications et services.

Inconvénients

Voici une liste des inconvénients d'ext3, surtout par rapport aux systèmes plus récents :

  • Fragmentation. ext3 peut souffrir de fragmentation au fil du temps, en particulier dans les environnements contenant un grand nombre de petits fichiers ou avec des systèmes de fichiers fréquemment écrits et supprimés. La fragmentation peut dégrader les performances car elle augmente le temps nécessaire à la lecture ou à l'écriture des fichiers, car les têtes d'un disque dur doivent se déplacer vers différents emplacements pour accéder aux fragments de fichiers.
  • Journalisation limitée flexabilité. Même si ext3 a introduit la journalisation, qui a considérablement amélioré l'intégrité des données et le temps de récupération après un crash, sa mise en œuvre n'est pas aussi efficace. flexible ou efficace comme dans les systèmes de fichiers plus récents. Par exemple, la journalisation d'ext4 est plus efficace et offre une fonctionnalité d'allocation différée qui améliore les performances et réduit la fragmentation.
  • Limites de taille de fichier et de taille du système de fichiers. ext3 prend en charge des tailles de fichiers allant jusqu'à 2 To et des tailles de système de fichiers jusqu'à 32 To, ce qui, bien que suffisant au moment de son développement, est limitant pour les applications modernes qui traitent des ensembles de données plus volumineux. Les systèmes de fichiers plus récents comme ext4 et Btrfs prennent en charge des fichiers et des systèmes de fichiers beaucoup plus volumineux, ce qui les rend plus adaptés aux besoins de stockage à grande échelle.
  • Manque de prise en charge intégrée des instantanés et de la compression. ext3 n'offre pas de prise en charge intégrée des instantanés ou de la compression des données, fonctionnalités qui sont de plus en plus importantes pour backup, la récupération des données et la gestion efficace du stockage. Instantanés enregistre l'état du système de fichiers à un moment donné, tandis que la compression réduit considérablement la quantité d'espace disque utilisée. Les deux fonctionnalités sont disponibles dans les systèmes de fichiers plus récents tels que Btrfs et ZFS.
  • Limitation de la taille des groupes de blocs uniques. La taille d'un groupe de blocs dans ext3 est fixe, limitant le nombre maximum de blocs et, par conséquent, la taille totale du système de fichiers. Cette architecture impacte le évolutivité du système de fichiers, ce qui le rend moins adapté aux très gros volumes de stockage par rapport aux solutions plus récentes.
  • Efficacité dans la gestion de grands répertoires. Bien que l'indexation Htree ait amélioré l'efficacité de la gestion des répertoires volumineux par rapport à ext2, ext3 peut toujours subir une dégradation des performances lors de la gestion de répertoires contenant des dizaines de milliers de fichiers ou plus. Les systèmes de fichiers les plus récents ont encore optimisé la gestion et l'indexation des répertoires, réduisant ainsi les temps de recherche et améliorant les performances globales dans ces scénarios.
  • L’allocation différée n’est pas prise en charge. L'allocation différée, une fonctionnalité introduite avec ext4, permet au système de fichiers de retarder l'allocation des blocs de disque jusqu'à ce que les données soient écrites sur le disque. Cela améliore les performances et réduit la fragmentation, mais n'est pas disponible dans ext3.

Comment créer un système de fichiers ext3 ?

La création d'un système de fichiers ext3 implique le formatage d'une partition avec le type de système de fichiers ext3. Ce processus peut être effectué sur n'importe quel périphérique bloc, tel que des disques durs, SSD, ou espace partitionné, et est généralement exécuté via le ligne de commande sous Linux. Avant de continuer, assurez-vous que toutes les données importantes de la partition à formater sont sauvegardées, car ce processus effacera les données existantes.

Voici comment créer un système de fichiers ext3 étape par étape :

Étape 1 : Identifiez la partition

Tout d’abord, vous devez identifier le périphérique bloc que vous souhaitez formater avec le système de fichiers ext3. Vous pouvez lister tous les périphériques de bloc disponibles et leurs partitions à l'aide du lsblk or fdisk -l commander.

lsblk

or

sudo fdisk -l

Recherchez l'identifiant de périphérique qui correspond à la partition que vous souhaitez formater, tel que / dev / sdb1.

Étape 2 : Démontez la partition (si nécessaire)

Si la partition est montée, vous devez la démonter avant de la formater. Utilisez le umount commande suivie de l'identifiant de l'appareil :

sudo umount /dev/sdb1

Si la partition n'est pas montée, vous pouvez ignorer cette étape.

Étape 3 : Créer le système de fichiers ext3

Pour formater la partition avec le système de fichiers ext3, utilisez le mkfs.ext3 commande suivie de l'identifiant de l'appareil :

sudo mkfs.ext3 /dev/sdb1

Cette commande créera un système de fichiers ext3 sur la partition spécifiée. Vous pouvez ajouter le -L option pour attribuer une étiquette au système de fichiers :

sudo mkfs.ext3 -L MyExt3Partition /dev/sdb1

Étape 4 : Monter le système de fichiers

Après le formatage, vous pouvez monter le nouveau système de fichiers ext3 dans un répertoire de la hiérarchie de votre système de fichiers. Tout d'abord, créez un point de montage s'il n'existe pas déjà :

sudo mkdir /mnt/myext3

Ensuite, montez le système de fichiers ext3 dans le répertoire nouvellement créé :

sudo mount /dev/sdb1 /mnt/myext3

Étape 5 : vérifier le système de fichiers

Enfin, vous pouvez vérifier que le système de fichiers est monté et vérifier son type à l'aide du df or monter commander:

df -Th /mnt/myext3

or

mount | grep /mnt/myext3

Ces commandes afficheront des informations sur le système de fichiers monté, y compris son type (ext3 dans ce cas).

Considérations importantes

  • Perte de données. Le formatage d'une partition effacera toutes les données existantes. Assurez-vous d'avoir backups avant de continuer.
  • Identifiant de l'appareil. Soyez absolument certain de l'identifiant de périphérique de la partition (/ dev / sdb1 dans l'exemple). Formater une mauvaise partition peut entraîner une perte de données.
  • Privilèges racine. Ces commandes nécessitent les privilèges root, elles sont donc préfixées par sudo. En fonction de la configuration de votre système, vous devrez peut-être saisir votre mot de passe.

Anastasie
Spasojevic
Anastazija est une rédactrice de contenu expérimentée avec des connaissances et une passion pour cloud l'informatique, les technologies de l'information et la sécurité en ligne. À phoenixNAP, elle se concentre sur la réponse à des questions brûlantes concernant la garantie de la robustesse et de la sécurité des données pour tous les acteurs du paysage numérique.