ext2 – Le deuxième système de fichiers
étendu
ext3 – Le troisième système de fichiers
étendu
ext4 – Le quatrième système de fichiers
étendu
Les deuxième, troisième et quatrième
systèmes de fichiers étendus (ou plus communément
connus comme ext2, ext3 et ext4) sont les systèmes de fichiers Linux
qui sont historiquement utilisés par défaut par de nombreuses
distributions Linux. Ce sont des systèmes de fichiers
généralistes qui ont été conçus pour
être extensibles et bénéficier d'une
rétrocompatibilité. En particulier, les systèmes
prévus auparavant pour fonctionner avec les systèmes de
fichiers ext2 et ext3 peuvent être montés avec le pilote de
système de fichiers ext4, et en effet, dans de nombreuses
distributions Linux modernes, le pilote de système de fichiers est
configuré pour prendre en charge les requêtes de montage des
systèmes de fichiers ext2 et ext3.
Un système de fichiers formaté pour ext2, ext3 ou
ext4 peut avoir un sous-ensemble des fonctionnalités suivantes
activé. Suivant la version du noyau Linux utilisé, toutes les
implémentations des systèmes de fichiers ext2, ext3 ou ext4 ne
prennent pas en charge certaines fonctionnalités. Sur d'autres
systèmes d'exploitation tels que GNU/Hurd ou FreeBSD,
l'implémentation d'ext2 ne prend en charge qu'un ensemble très
restreint de ces fonctionnalités
- 64bit
-
Cette fonctionnalité permet au système de fichiers
d'être plus grand que 2^32 blocs. Cette fonctionnalité est
activée automatiquement si besoin, mais il peut être utile
de l'indiquer explicitement s'il est envisagé de redimensionner le
système de fichiers pour atteindre un nombre de blocs
supérieur à 2^32, même si celui-ci était plus
petit que ce seuil lors de sa création. Remarquez que des versions
précédentes du noyau et de e2fsprogs ne prendront pas en
charge les systèmes de fichiers avec cette fonctionnalité
activée pour ext4.
- bigalloc
-
Cette fonctionnalité d'ext4 active l'allocation de blocs par cluster,
de sorte que l'unité d'allocation en nombre de blocs est une
puissance de deux. Cela signifie que chaque bit de ce qui était
traditionnellement connu comme la carte d'allocation de bloc indique
maintenant si un cluster est utilisé ou non, un cluster
étant par défaut composé de 16 blocs. Cette
fonctionnalité peut diminuer le temps passé dans des
allocations de blocs et limite la fragmentation, en particulier pour les
grands fichiers. La taille peut être indiquée par l'option
mke2fs -C.
- Attention : la fonctionnalité bigalloc est encore en
développement et peut ne pas être complètement prise
en charge par le noyau ou peut être boguée. Veuillez
consulter la page web http://ext4.wiki.kernel.org/index.php/Bigalloc pour
plus d'informations. Elle peut entrer en conflit avec l'allocation avec
retard (consultez l'option de montage nodelalloc).
- Cette fonctionnalité nécessite l'activation de la
fonctionnalité extent.
- casefold
-
Cette fonctionnalité d'ext4 fournit la prise en charge de l'encodage
des caractères au niveau du système de fichiers pour les
répertoires avec l'attribut casefold (+F) activé.
Cette fonctionnalité préserve les noms sur le disque, mais
elle permet aux applications de rechercher un fichier dans le
système de fichiers en utilisant une version d'encodage
équivalente à celle du nom du fichier.
- dir_index
-
Utiliser des arbresB hachés (hashed b-trees en anglais) pour
accélérer la recherche de noms dans de grands
répertoires. Cette fonctionnalité est prise en charge par
les systèmes de fichiers ext3 et ext4, et est ignorée par
les systèmes de fichiers ext2.
- dir_nlink
-
Normalement, ext4 n'autorise pas un inœud à avoir plus de
65 000 liens durs. Cela s'applique aussi bien aux fichiers
ordinaires qu'aux répertoires, ce qui signifie qu'il ne peut pas y
avoir plus de 64 998 sous-répertoires dans un
répertoire (parce que chacune des entrées
« . », « .. » et
l'entrée du répertoire dans son répertoire parent
compte comme des liens durs). Cette fonctionnalité lève la
contrainte en faisant qu'ext4 utilise un nombre de liens de 1 pour
indiquer que le nombre de liens durs à un répertoire n'est
pas connu quand le nombre de liens peut excéder la limite
maximale.
- ea_inode
-
Normalement, les attributs étendus d'un fichier et les
métadonnées associées doivent tenir dans
l'inœud ou dans le bloc d'attribut étendu associé
à l'inœud. Cette fonctionnalité permet de placer la
valeur de chaque attribut étendu dans les blocs de données
d'un inœud séparé si nécessaire, augmentant la
taille et le nombre d'attributs étendus par fichier.
- encrypt
-
Activer la prise en charge du chiffrement au niveau du système de
fichiers des blocs de données et des noms de fichiers. Les
métadonnées de l'inœud (horodatage, taille de
fichier, propriété d'utilisateur/de groupe, etc.) ne
sont pas chiffrées.
- Cette fonctionnalité est surtout utile sur les systèmes de
fichiers avec plusieurs utilisateurs ou lorsque tous les fichiers ne
doivent pas être chiffrés. Dans de nombreux cas,
particulièrement sur les systèmes n'ayant qu'un seul
utilisateur, le chiffrement au niveau du périphérique bloc
en utilisant dm-crypt peut offrir une bien meilleure
sécurité.
- ext_attr
-
Cette fonctionnalité active l'utilisation des attributs
étendus. Cette fonctionnalité est prise en charge par ext2,
ext3 et ext4.
- extent
-
Cette fonctionnalité d'ext4 permet la correspondance entre les
numéros de blocs logiques pour un inœud particulier et les
blocs physiques sur le périphérique de stockage qui seront
stockés au moyen d'un arbre étendu, qui est une structure de
données plus efficace que le schéma de bloc indirect
traditionnel utilisé par les systèmes de fichiers ext2 et
ext3. L'utilisation d'arbres étendus diminue le coût
associé aux métadonnées des blocs, améliore
les performances du système de fichiers et diminue le besoin de
lancer e2fsck(8) sur le système de fichiers.
(Remarque : les deux noms extent et extents sont
considérés comme valables pour cette fonctionnalité
pour des raisons historiques et de compatibilité ascendante).
-
Cette fonctionnalité d'ext4 réserve une quantité
précise de place dans chaque inœud pour les
métadonnées étendues telles que les horodatages en
nanosecondes et les temps de création de fichiers, même si
le noyau actuel n'a pas besoin pour le moment de tant de place. Sans cette
fonctionnalité, le noyau va réserver la quantité de
place nécessaire pour les fonctionnalités dont il a besoin
actuellement, et le reste sera utilisé par les attributs
étendus.
Pour que cette fonctionnalité soit utile, la taille des
inœuds doit être d'au moins 256 octets.
- filetype
-
Cette fonctionnalité active le stockage de l'information du type de
fichiers dans les entrées de répertoire. Cette
fonctionnalité est prise en charge par ext2, ext3 et ext4.
- flex_bg
-
Cette fonctionnalité d'ext4 permet au groupe de
métadonnées relatives au bloc (carte des allocations et
table des inœuds) d'être placé n'importe où
sur le périphérique de stockage. De plus, mke2fs
placera ensemble les données de ce groupe, à partir du
premier bloc du groupe de chaque « groupe
flex_bg ». La taille du groupe flex_bg peut être
précisée à l'aide de l'option -G.
- has_journal
-
Créer un journal pour assurer la cohérence du système
de fichiers même après un arrêt brutal. Ajouter cette
fonctionnalité du système de fichiers est équivalent
à utiliser l'option -j avec mke2fs ou tune2fs.
Cette fonctionnalité est prise en charge par ext3 et ext4, et
ignorée par le pilote de système de fichiers ext2.
- huge_file
-
Cette fonctionnalité d'ext4 permet d'avoir des fichiers de plus de
2 téraoctets.
- inline_data
- Permettre le stockage des données dans l'inœud et la zone
d'attributs étendus.
- journal_dev
-
Cette fonctionnalité est activée sur le superbloc
trouvé dans un périphérique de journal externe. La
taille de bloc pour le journal externe doit être la même que
celle du système de fichiers qui l'utilise.
- The external journal device can be used by a file system by specifying the
-J device=<external-device> option to mke2fs(8)
or tune2fs8).
- large_dir
-
Cette fonctionnalité recule la limite du nombre de fichiers par
répertoire en augmentant la taille maximale des répertoires
et, pour les répertoires arbre-B hachés (voir
dir_index), la profondeur maximale de l'arbre-B haché
utilisé pour stocker les entrées de répertoire.
- large_file
-
Cette fonctionnalité est automatiquement activée par les
noyaux récents lorsqu'un fichier de plus de 2 gigaoctets est
créé. Les noyaux très anciens ne pouvaient pas
gérer de si grands fichiers, et cette fonctionnalité
était utilisée pour éviter à ces noyaux de
monter les systèmes de fichiers qu'ils ne pouvaient pas
comprendre.
- metadata_csum
-
Cette fonctionnalité d'ext4 active le calcul de sommes de
contrôle sur les métadonnées. Cette
fonctionnalité stocke les sommes de contrôle pour les types
de métadonnées du système de fichiers (superbloc,
blocs de descripteurs de groupe, cartes des inœuds et des blocs,
répertoires et blocs d'arbre étendu). L'algorithme de somme
de contrôle utilisé pour les blocs de
métadonnées est différent de celui utilisé
pour les descripteurs de groupe avec la fonctionnalité
uninit_bg. Ces deux fonctionnalités sont incompatibles et
metadata_csum sera utilisé de préférence
à la place de uninit_bg.
- metadata_csum_seed
-
Cette fonctionnalité permet au système de fichiers de stocker
la graine de la somme de contrôle dans le superbloc, autorisant
l’administrateur à modifier l’UUID d’un
système de fichiers en utilisant la fonctionnalité
metadata_csum tout en étant monté.
- meta_bg
-
Cette fonctionnalité d'ext4 permet de redimensionner les
systèmes de fichiers à chaud sans avoir besoin explicitement
de réserver de la place pour l'augmentation de la taille des
descripteurs de groupes de blocs. Cette méthode est aussi
utilisée pour redimensionner les systèmes de fichiers qui
font plus de 2^32 blocs. Il n'est pas recommandé d'activer cette
fonctionnalité lors de la création d'un système de
fichiers, étant donné que cette méthode alternative
de stocker les descripteurs de groupe de bloc va augmenter le temps
nécessaire à monter le système de fichiers. Les
noyaux récents peuvent automatiquement activer cette
fonctionnalité si nécessaire pendant un redimensionnement
à chaud pendant lequel il n'y aurait plus de place
réservée disponible dans l'inœud
redimensionné.
- mmp
-
Cette fonctionnalité d'ext4 fournit une protection multiple de
montage (« MMP »). Cette fonctionnalité
contribue à la protection du système de fichiers contre les
montages multiples et est utile dans les environnements de stockage
partagé.
- orphan_file
-
This ext4 feature fixes a potential scalability bottleneck for workloads
that are doing a large number of truncate or file extensions in parallel.
It is supported by Linux kernels starting version 5.15, and by e2fsprogs
starting with version 1.47.0.
- project
-
Cette fonctionnalité d'ext4 fournit la prise en charge du quota de
projet. Avec cette fonctionnalité, l'identifiant de projet de
l'inœud sera géré lors du montage du système
de fichiers.
- quota
-
Créer des inœuds de quota (inœud nº 3
pour le quota utilisateur, inœud nº 4 pour le quota
de groupe) et les positionner dans le superbloc. Avec cette
fonctionnalité, les quotas seront activés automatiquement
lorsque le système de fichiers sera monté.
- Cette fonctionnalité implique que les fichiers de quota
(c'est-à-dire user.quota et group.quota, qui existaient dans la
version plus ancienne des quotas) sont cachés dans les
inœuds.
- resize_inode
-
Cette fonctionnalité du système de fichiers indique que de la
place a été réservée pour que le
système de fichiers puisse étendre la table des descripteurs
de groupe de blocs lors de son redimensionnement alors qu'il est
monté. L'opération de redimensionnement à chaud est
effectuée par le noyau et déclenchée par
resize2fs(8). Par défaut, mke2fs essaie de
réserver de la place pour que le système de fichiers puisse
grossir de 1024 fois sa taille initiale. Cela peut être
changé en utilisant l'option étendue resize.
- Cette fonctionnalité nécessite l'activation de la
fonctionnalité sparse_super ou sparse_super2.
- sparse_super
-
Cette fonctionnalité de système de fichiers est activée
sur tous les systèmes de fichiers ext2, ext3 et ext4
récents. Elle indique que les copies de sauvegarde des descripteurs
de superblocs et de groupes de blocs sont présents seulement sur
quelques groupes de blocs et non sur tous.
- sparse_super2
-
Cette fonctionnalité indique qu'il n'y aura au plus que deux
superblocs de sauvegarde et deux descripteurs de groupes de blocs. Les
groupes de blocs utilisés pour stocker les descripteurs de
superblocs de sauvegarde et des groupes de blocs sont stockés dans
le superbloc, mais typiquement, un sera situé au début du
premier groupe de blocs et un autre dans le dernier groupe de blocs du
système de fichiers. Cette fonctionnalité est
essentiellement une version plus extrême de sparse_super et
est conçue pour permettre qu'un plus grand pourcentage du disque
soit constitué de blocs contigus disponibles pour les fichiers de
données.
- stable_inodes
-
Marquer les numéros d'inœud et les UUID du système de
fichiers comme stable. resize2fs(8) ne permettra pas de
rétrécir un système de fichiers doté de cette
fonctionnalité et tune2fs(8) de changer son UUID. Cette
fonctionnalité permet l'utilisation de configurations de
chiffrement spécialisées qui utilisent les numéros
d'inœud et les UUID. Notez que la fonctionnalité
encrypt nécessite encore d'être activée
séparément. stable_inodes est une
fonctionnalité « compat », aussi les
anciens noyaux l'autorisent.
- uninit_bg
-
Cette fonctionnalité du système de fichiers ext4 indique que
les descripteurs de groupes de blocs seront protégés
à l'aide de sommes de vérification, rendant plus sûre
la création par mke2fs(8) d'un système de fichiers
sans initialisation de tous les groupes de blocs. Le noyau gardera une
trace des inœuds inutilisés, et initialisera les tables
d'inœuds et de blocs en différé. Cette
fonctionnalité réduit le temps mis pour la
vérification du système de fichiers avec e2fsck,
ainsi que le temps nécessaire à mke2fs(8) pour
créer le système de fichiers.
- verity
-
Activer la prise en charge de la protection de fichiers
« verity ». Les fichiers
« verity » sont en lecture seule et leurs
données sont vérifiées de façon transparente
par rapport à une arborescence de Merkle cachée après
la fin du fichier. En utilisant le hachage racine d'une arborescence de
Merkle, un fichier « verity » peut être
authentifié efficacement, indépendamment de la taille du
fichier.
- Cette fonctionnalité est surtout utile pour authentifier des
fichiers importants en lecture seule sur des systèmes de fichiers
accessibles en lecture-écriture. Si le système de fichiers
lui-même est en lecture seule, l'utilisation de dm-verity pour
authentifier le périphérique bloc en entier peut offrir une
bien meilleure sécurité.'
Cette section décrit les options de montages
spécifiques à ext2, ext3 et ext4. D'autres options de montage
génériques peuvent être aussi utilisées.
Consultez mount(8) pour plus de détails.
Le type de système de fichiers
« ext2 » est le type standard pour les
systèmes de fichiers Linux. Depuis Linux 2.5.46, les valeurs
par défaut de la plupart des options de montage sont
déterminées par le superbloc du système de fichiers.
Vous pouvez les configurer avec tune2fs(8).
- acl|noacl
- Prendre en charge (ou non) les listes de contrôle d'accès
(ACL) POSIX. Consultez la page de manuel d'acl(5).
- bsddf|minixdf
- Définir le comportement à adopter pour l'appel
système statfs. Le comportement minixdf consiste
à renvoyer dans le champ f_blocks le nombre total de blocs
du système de fichiers, alors que le comportement bsddf
(comportement par défaut) consiste à soustraire les blocs
utilisés par le système de fichiers ext2 non disponibles
pour le stockage. Ainsi on obtient :
% mount /k -o minixdf; df /k; umount /k
| Système de fichiers |
blocs de 1 K |
Utilisé |
Disponible |
Capacité |
Monté sur |
| /dev/sda6 |
2630655 |
86954 |
2412169 |
3% |
/k |
% mount /k -o bsddf; df /k; umount /k
| Système de fichiers |
blocs de 1 K |
Utilisé |
Disponible |
Capacité |
Monté sur |
| /dev/sda6 |
2543714 |
13 |
2412169 |
0% |
/k |
(Remarquez que cet exemple montre que l'on peut, en ligne de
commande, ajouter des options à celles mentionnées dans
/etc/fstab).
- check=none
ou nocheck
- Aucune vérification n'est faite lors du montage. C'est le
comportement par défaut. C'est rapide. Il est sage de lancer
e2fsck(8) de temps en temps, par exemple à
l'amorçage. Aucun autre comportement que celui par défaut
n'est pris en charge (les options check=normal et check=strict ont
été supprimées). Veuillez remarquer que ces options
de montage n'ont pas besoin d'être prises en charge si le pilote
ext4 du noyau est utilisé pour des systèmes de fichiers ext2
et ext3.
- debug
- Afficher des informations de débogage lors de chaque
(re)montage.
- errors={continue|remount-ro|panic}
- Définir le comportement à adopter en cas d'erreur. L'erreur
peut être ignorée en marquant simplement le système
de fichiers comme étant corrompu, et continuer. Le système
de fichiers peut également être remonté en lecture
seule. Une panique du noyau peut sinon être
déclenchée en forçant l'arrêt du
système. Le comportement par défaut est défini dans
le superbloc du système de fichiers et peut être
configuré avec tune2fs(8).
- grpid|bsdgroups
et nogrpid|sysvgroups
- Ces options définissent le GID que reçoit un nouveau fichier
créé. Quand grpid est positionné, le fichier
reçoit le GID du répertoire dans lequel il est
créé. Sinon (par défaut), il prend le fsgid du
processus appelant, à moins que le répertoire ait son bit
Set-GID positionné, auquel cas il reçoit le GID du
répertoire parent, et s'il s'agit d'un nouveau répertoire,
voit son bit Set-GID positionné.
- grpquota|noquota|quota|usrquota
- L'option de montage usrquota (identique à quota) active la prise en
charge du quota utilisateur sur le système de fichiers. grpquota
active la prise en charge du quota de groupe. Les utilitaires de quota
sont en fait nécessaires pour activer et gérer le
système de quota.
- nouid32
- Désactiver les UID et GID 32 bits. Cela permet
l'interopérabilité avec les noyaux anciens qui ne
gèrent que des valeurs 16 bits.
- oldalloc ou
orlov
- Utiliser l'ancienne allocation ou bien l'allocation Orlov pour les
nouveaux inœuds. La valeur par défaut est l'allocation
Orlov.
- resgid=n
et resuid=n
- Le système de fichiers ext2 réserve un certain pourcentage
de l'espace disponible (par défaut 5 %, consultez
mke2fs(8) et tune2fs(8)). Ces options déterminent qui
peut utiliser ces blocs réservés (en gros, celui qui a l'UID
indiqué ou qui appartient au groupe mentionné).
- sb=n
- Au lieu d'utiliser le superbloc normal, utiliser un autre superbloc
indiqué par n. On se sert de cette option lorsque le
superbloc primaire a été corrompu. L'emplacement des
superblocs de sauvegarde dépend de la taille des blocs du
système de fichiers, du nombre de blocs par groupe et de
fonctionnalités telles que sparse_super.
- Additional backup superblocks can be determined by using the mke2fs
program using the -n option to print out where the superblocks
exist, supposing mke2fs is supplied with arguments that are
consistent with the file system's layout (e.g., blocksize, blocks per
group, sparse_super, etc.).
- Le nombre de blocs utilise dans ce cas 1 Ko comme unité.
Donc, si vous voulez utiliser un bloc logique de 32 178 Ko,
utilisez « sb=131072 ».
- user_xattr|nouser_xattr
- Prendre en charge (ou non) les attributs étendus
« user. ».
Le système de fichiers ext3 est une version du
système de fichiers ext2 à laquelle a été
ajoutée la journalisation. Il prend en charge les mêmes
options que ext2 ainsi que les suivantes :
- journal_dev=num_pér/journal_path=chemin
- Si les numéros majeur et mineur du périphérique de
journal externe ont été modifiés, ces options
permettent à l'utilisateur d'indiquer le nouvel emplacement du
journal. Le périphérique de journal est identifié
soit à l'aide de ses nouveaux numéros majeur et mineur
encodés dans num_pér, soit à l’aide du
chemin vers le périphérique.
- norecovery/noload
- Ne pas charger le journal lors du montage. Remarquez que si le
système de fichiers n'était pas monté proprement,
sauter la relecture du journal entraînera des incohérences
dans le contenu du système de fichiers, pouvant entraîner un
certain nombre de problèmes.
- data={journal|ordered|writeback}
- Indiquer le mode de journalisation pour les données des fichiers.
Les métadonnées sont toujours journalisées. Pour
utiliser un mode autre que ordered sur le système de
fichiers racine, passer le mode au noyau en tant que paramètre
d'amorçage, par exemple :
rootflags=data=journal.
- journal
- Toutes les données sont inscrites dans le journal avant
d'être écrites dans le système de fichiers
principal.
- ordered
- C'est le mode par défaut. Toutes les données sont
envoyées dans le système de fichiers principal avant
d'inscrire les métadonnées dans le journal.
- writeback
- L'ordre des données n'est pas préservé. Les
données peuvent être écrites dans le système
de fichiers après que les métadonnées soient
inscrites dans le journal. C’est probablement l'option à
plus haut débit. Elle garantit l'intégrité interne du
système de fichiers, mais d'anciennes données peuvent
apparaître dans un fichier après un plantage et une
récupération du journal.
- data_err=ignore
- Afficher simplement un message d'erreur si une erreur survient dans un
tampon de données de fichiers en mode ordonné.
- data_err=abort
- Abandonner le journal si une erreur survient dans un tampon de
données de fichiers en mode ordonné.
- barrier=0 /
barrier=1
- Cette option désactive (barrier=0) ou active (barrier=1)
l'utilisation de barrières d'écriture dans le code jbd. Elle
est activée par défaut. Elle nécessite aussi une pile
d'entrée/sortie qui peut prendre en charge les barrières, et
si jbd reçoit une erreur sur une barrière d'écriture,
il désactivera à nouveau les barrières avec un
avertissement. Les barrières d'écriture forcent un ordre
correct sur le disque des écritures du journal, en faisant des
caches d'écriture sur disque volatiles sûrs, avec un impact
négatif sur les performances. Si les disques sont alimentés
par des batteries d'une manière ou d'une autre, désactiver
les barrières peut améliorer les performances en toute
sécurité.
- commit=nsec
- Démarrer une inscription dans le journal toutes les nsec
secondes. La valeur par défaut est 5 secondes. Zéro
signifie la valeur par défaut.
- user_xattr
- Activer les attributs étendus. Consultez la page de manuel
attr(5).
- jqfmt={vfsold|vfsv0|vfsv1}
- En plus de l'ancien système de quota (comme dans ext2,
jqfmt=vfsold, aussi connu sous le nom de quota version 1), ext3
prend en charge aussi des quotas journalisés (quota
version 2). jqfmt=vfsv0 ou jqfmt=vfsv1 active les quotas
journalisés. L'avantage des quotas journalisés est qu'ils ne
nécessitent pas de vérification de quota même
après un plantage. Quand la fonctionnalité de système
de fichiers quota est activée, les quotas journalisés
sont utilisés automatiquement et cette option de montage est
ignorée.
- usrjquota=aquota.user|grpjquota=aquota.group
- Pour les quotas journalisés (jqfmt=vfsv0 ou jqfmt=vfsv1), les
options de montage usrjquota=aquota.user et grpjquota=aquota.group sont
requises pour dire au système de quota quels fichiers de base de
données de quotas utiliser. Quand la fonctionnalité de
système de fichiers quota est activée, les quotas
journalisés sont utilisés automatiquement est cette option
de montage est ignorée.
Le système de fichiers ext4 est un niveau plus
élevé du système de fichiers ext3 intégrant des
améliorations au niveau de l'évolutivité et de la
fiabilité, afin de gérer des systèmes de fichiers de
grande taille.
Les options journal_dev, journal_path,
norecovery, noload, data, commit, orlov,
oldalloc, [no]user_xattr, [no]acl,
bsddf, minixdf, debug, errors, data_err,
grpid, bsdgroups, nogrpid, sysvgroups,
resgid, resuid, sb, quota, noquota,
grpquota, usrquota, usrjquota, grpjquota et
jqfmt sont rétrocompatibles avec ext2 et ext3.
- journal_checksum
| nojournal_checksum
- L'option journal_checksum active les sommes de contrôles pour les
transactions du journal. Cela permet au code de récupération
de e2fsck et au noyau de détecter des corruptions dans le noyau.
C'est un changement compatible qui sera ignoré par les anciens
noyaux.
- journal_async_commit
- Les blocs d'inscription peuvent être écrits sur le disque
sans attendre de descripteur de blocs. Si cela est activé avec un
vieux noyau, le périphérique ne pourra pas être
monté. Cela activera en interne journal_checksum.
- barrier=0
/ barrier=1 / barrier / nobarrier
- Ces options de montage ont le même effet qu'avec ext3. Les options
de montage « barrier » et «
nobarrier » sont ajoutées pour la cohérence
avec les autres options de montage d'ext4.
Le système de fichiers ext4 active les barrières
d'écriture par défaut.
- inode_readahead_blks=n
- Ce paramètre définit le nombre maximal de blocs de table
d'inœuds que l'algorithme « readahead »
de la table d'inœuds d'ext4 va prélire dans la
mémoire cache. La valeur doit être une puissance de 2. La
valeur par défaut est de 32 blocs.
- stripe=n
- Nombre de blocs du système de fichiers que mballoc essayera
d'utiliser pour la taille d'allocation et l'alignement. Pour les
systèmes RAID 5 ou 6, cela devrait être le nombre de
disques de données multiplié par la taille de morceau
(« chunk ») RAID dans les blocs du
système de fichiers.
- delalloc
- Reporter l'allocation des blocs après les écritures.
- nodelalloc
- Désactiver les allocations retardées. Les blocs sont
alloués lorsque les données sont copiées depuis le
cache utilisateur vers le cache de page.
- max_batch_time=usec
- Durée maximale pendant laquelle ext4 devrait attendre des
opérations supplémentaires sur le système de fichiers
afin de les grouper pour une écriture synchrone. Puisque
l'opération d'écriture synchrone va forcer une inscription
des données et attendre la fin des entrées/sorties, qu'elle
est peu coûteuse et peut représenter un gain significatif de
débit, ext4 attend un petit peu pour voir si d'autres transactions
peuvent être englobées dans l'écriture synchrone.
L'algorithme utilisé est conçu pour faire des
réglages automatiquement en fonction de la vitesse du disque, en
mesurant le temps (moyen) d'une inscription complète d'une
transaction. Ce temps est appelé « temps
d'inscription » (« commit
time »). Si le temps pendant lequel une transaction est en
cours est inférieur au temps d'inscription, ext4 essaiera de dormir
pendant une durée égale au temps d'inscription pour voir si
d'autres opérations vont se joindre à la transaction. Le
temps d'inscription est majoré par la valeur max_batch_time, qui
vaut par défaut 15 000 µs (ou 15 ms).
Cette optimisation peut être désactivée
complètement en affectant la valeur 0 à
max_batch_time.
- min_batch_time=usec
- Ce paramètre définit le temps d'inscription des
données (comme décrit ci-dessus) qui doit être au
moins égal à min_batch_time. La valeur par
défaut est zéro microseconde. Augmenter ce paramètre
peut améliorer le débit des charges de travail synchrones
multiprocessus sur les disques très rapides, tout cela augmentant
le temps de latence.
- journal_ioprio=prio
- La priorité d'entrées et sorties (de 0 à 7, où
0 est la priorité la plus haute) qui doit être
utilisée pour les opérations d'entrées et sorties
soumises par kjournald2 durant une opération d'inscription. La
priorité par défaut est 3, ce qui est
légèrement supérieur à la priorité par
défaut.
- abort
- Simuler les effets d'un appel ext4_abort() dans un but de
débogage. C'est normalement utilisé lors du remontage d'un
système de fichiers qui est déjà monté.
- auto_da_alloc|noauto_da_alloc
- Beaucoup d'applications déficientes n'utilisent pas fsync()
lors du remplacement des fichiers existants avec un motif comme
fd = open("toto.new")/write(fd,...)/close(fd)/
rename("toto.new", "toto")
ou pire encore
fd = open("toto",
O_TRUNC)/write(fd,...)/close(fd).
Si auto_da_alloc est activé, ext4 détectera les
motifs de « remplacement par renommage » et
de « remplacement par troncature », et
forcera l'allocation de tout bloc d'allocation retardé tel
qu'à la prochaine inscription dans le journal, en mode
data=ordered par défaut, les blocs de données du
nouveau fichier sont envoyés sur le disque avant que
l'opération rename() ne soit inscrite. Cela fournit
approximativement le même niveau de garantie que ext3, et
évite le problème de « longueur
nulle » qui peut survenir lors d'un arrêt brutal du
système avant que les blocs d'allocation retardés ne
soient envoyés au disque.
- noinit_itable
- Ne pas initialiser les blocs non initialisés de la table des
inœuds en tâche de fond. Cette fonctionnalité peut
être utilisée par les CD d'installation afin que le
processus d'installation termine le plus vite possible. Le processus
d'initialisation de la table des inœuds serait alors reporté
au prochain montage du système de fichiers.
- init_itable=n
- Le code d'initialisation différée de la table
d'inœuds attendra n fois le nombre de millisecondes qu'il a pris
pour mettre à zéro la table d'inœuds du groupe de
blocs précédent. Cela minimise l'impact sur les performances
du système pendant l'initialisation de la table d'inœuds du
système de fichiers.
- discard/nodiscard
- Contrôler si ext4 doit envoyer des commandes discard et TRIM au
périphérique bloc sous-jacent quand les blocs sont
libérés. C'est utile pour les périphériques
SSD et l'allocation fine et dynamique (« thinly-provisioned
LUN »), mais l'option n'est pas activée par
défaut avant des tests suffisants aient été
réalisés.
- block_validity/noblock_validity
- Cette option permet d'activer ou désactiver la fonction interne du
noyau de suivi des blocs de métadonnées de système de
fichiers dans les structures de données internes. Cela permet
à l'allocation multiblocs et à d'autres routines de
localiser rapidement celles qui pourraient se superposer avec des blocs de
métadonnées de système de fichiers. Cette option est
conçue pour le débogage et, puisqu'elle a des effets
négatifs sur les performances, elle est désactivée
par défaut.
- dioread_lock/dioread_nolock
- Contrôler si ext4 devrait ou non utiliser le verrouillage de
lecture DIO. Si l'option dioread_nolock est indiquée, ext4
allouera les extensions non initialisées avant l'écriture du
tampon et initialisera les extensions après la fin des
entrées et sorties. Cette approche permet au code ext4
d'éviter l'utilisation d'inœud mutex, ce qui améliore
l'évolutivité sur les stockages à grande vitesse.
Cependant cela ne fonctionne pas avec la journalisation de données
et l'option dioread_nolock sera ignorée avec des
avertissements du noyau. Remarquez que le chemin du code
dioread_nolock n'est utilisé que pour les fichiers à
base d'extensions. À cause des restrictions accompagnant cette
option, elle est désactivée par défaut
(c'est-à-dire dioread_lock).
- max_dir_size_kb=n
- This limits the size of the directories so that any attempt to expand them
beyond the specified limit in kilobytes will cause an ENOSPC error. This
is useful in memory-constrained environments, where a very large directory
can cause severe performance problems or even provoke the Out Of Memory
killer. (For example, if there is only 512 MiB memory available, a
176 MiB directory may seriously cramp the system's style.)
- i_version
- Activer la prise en charge de version d'inœud 64 bits. Cette
option est désactivée par défaut.
- nombcache
- Cette option désactive l'utilisation de mbcache pour la
déduplication d'attributs étendus. Sur les systèmes
où les attributs sont rarement ou jamais partagés entre les
fichiers, l'utilisation de mbcache pour la déduplication ajoute une
charge de calcul inutile.
- prjquota
- L'option de montage prjquota active la prise en charge du quota de projet
sur le système de fichiers. Les utilitaires de quota sont en fait
nécessaires pour activer et gérer le système de
quota. Cette option de montage nécessite la fonctionnalité
project du système de fichiers.
Les systèmes de fichiers ext2, ext3 et ext4 prennent en
charge la définition des attributs de fichiers suivants sur les
systèmes Linux avec l'outil chattr(1) :
a – ajout à la fin du fichier seulement
A – pas de mise à jour du temps
d'accès (« atime »)
d – pas de sauvegarde par le programme dump
D – mises à jour synchrones des
répertoires
i – immuable
S – mises à jour synchrones
u – ineffaçable
En plus, les systèmes de fichiers ext3 et ext4 prennent en
charge l'attribut suivant :
j – journalisation des données
Enfin, le système de fichiers ext4 prend aussi en charge
l'attribut suivant :
e – format des extensions
(« extents »)
Pour les descriptions de ces attributs, veuillez consulter la page
de manuel de chattr(1).
Cette section liste le pilote du système de fichiers (par
exemple ext2, ext3, ext4) et la version amont du noyau où une
fonctionnalité particulière du système de fichiers a
été prise en charge. Notez que dans certains cas, la
fonctionnalité est présente dans des versions
antérieures du noyau, mais qu'elle y avait des bogues sérieux.
Dans d'autres cas, la fonctionnalité peut encore être
considérée comme étant expérimentale. Enfin,
notez que certaines distributions peuvent avoir rétroporté des
fonctionnalités dans des noyaux plus anciens ; en particulier
les versions du noyau dans certaines « distributions
d'entreprise » peuvent être extrêmement
trompeuses.
- filetype
- ext2, 2.2.0
- sparse_super
- ext2, 2.2.0
- large_file
- ext2, 2.2.0
- has_journal
- ext3, 2.4.15
- ext_attr
- ext2/ext3, 2.6.0
- dir_index
- ext3, 2.6.0
- resize_inode
- ext3, 2.6.10 (redimensionnement à chaud)
- 64bit
- ext4, 2.6.28
- dir_nlink
- ext4, 2.6.28
- extent
- ext4, 2.6.28
- ext4, 2.6.28
- flex_bg
- ext4, 2.6.28
- huge_file
- ext4, 2.6.28
- meta_bg
- ext4, 2.6.28
- uninit_bg
- ext4, 2.6.28
- mmp
- ext4, 3.0
- bigalloc
- ext4, 3.2
- quota
- ext4, 3.6
- inline_data
- ext4, 3.8
- sparse_super2
- ext4, 3.16
- metadata_csum
- ext4, 3.18
- encrypt
- ext4, 4.1
- metadata_csum_seed
- ext4, 4.4
- project
- ext4, 4.5
- ea_inode
- ext4, 4.13
- large_dir
- ext4, 4.13
- casefold
- ext4, 5.2
- verity
- ext4, 5.4
- stable_inodes
- ext4, 5.5
La traduction française de cette page de manuel a
été créée par Gérard Delafond
<gerard@delafond.org>, Frédéric Delanoy
<delanoy_f@yahoo.com>, Thierry Vignaud <tvignaud@mandriva.com>,
Sébastien Blanchet, Emmanuel Araman <Emmanuel@araman.org>,
Éric Piel <eric.piel@tremplin-utc.net>, Nicolas François
<nicolas.francois@centraliens.net>, Romain Doumenc
<rd6137@gmail.com>, David Prévot <david@tilapin.org>,
Cédric Boutillier <cedric.boutillier@gmail.com> et Jean-Pierre
Giraud <jean-pierregiraud@neuf.fr>
Cette traduction est une documentation libre ; veuillez
vous reporter à la
GNU General
Public License version 3 concernant les conditions de copie et de
distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page
de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.