Login Logout

Astuces FileSystem Ext

ext3/4

Journalisation

La journalisation est présente dans ext3/4 elle permet de … blabla … Cela permet notamment de garantir une intégrité du système de fichiers alors que celui-ci à subit une opération brute, comme un hard reboot.

Il peut être intéressent de la désactiver ou de changer la méthode pour augmenter les performances du FS.

Changer la méthode de journalisation

data=ordered

Le mode ordered permet de…

Dans le fstab :

data=ordered,noatime,nodiratime
data=writeback

Le mode writeback permet de…

Dans le fstab :

data=writeback,noatime,nodiratime
# tune2fs -o journal_data_writeback /dev/sdXY

Réduire le nombres de commits

Le commit est la période à laquelle le kernel va effectuer l’écriture du journal.

Dans le fstab, la valeur par défaut est de 4 secondes.

commit=60

Désactiver la journalisation

Pour ext4 seulement :

# tune2fs -O ^has_journal /dev/sdXY
# e2fsck -f /dev/sdXY

Pour ext3, désactiver la journalisation revient à monter le FS en ext2.

Redimensionner/Resize une partition

Faites un backup de la table de partition avec sfdisk.

Selon la position de votre partition (espace libre avant ou après), plusieurs cas.

Cas partition toute seule

Supprimer-la avec cfdisk, puis la recréer avec sa nouvelle taille. Ensuite il faut faire un fsck, et lancer l’utilitaire resize2fs.

# e2fsck -f /dev/sdxY
# resize2fs /dev/sdxY

Autres cas

TODO

Vérification du FS

Lister les valeurs du superblock du système de fichier

# tune2fs -l /dev/sdxY

fsck sera exécuté au prochain reboot lorsque les valeurs Maximum mount count et Next check after seront atteintes. Pour modifier ces seuils on exécutera :

# tune2fs -c <maximum_mount_count> -i <interval_between_check> /dev/sdxY

Avoir des infos sur une partition

# dumpe2fs -h /dev/sda1 | less

L’option -h permettant d’avoir rapidement les infos importantes.

Ajuster la place réservée

Réduire à 1% la place réservée sur une partition ext3 :

# tune2fs -m 1 /dev/sda1
Setting reserved blocks percentage to 1% (328560 blocks)

FSCK au démarrage

Un éventuel fsck au démarrage s’active dans la dernière colonne du fstab (mettre 0 pour le désactiver).

Par défaut, un “check” est programmé tous les 6 mois ou à partir d’environ 30 montages sans vérification. Ces paramètres peuvent bien sûr être changé via :

# tune2fs -c 140 -i 1000d /dev/sda1
tune2fs 1.42.12 (29-Aug-2014)
Setting maximal mount count to 140
Setting interval between checks to 86400000 seconds

Cela évite des reboots trop longs dès que l’on dépasse 6 mois d’uptime. En complément, on pourra utiliser un script avertissant qu’un fsck est conseillé…

Benchmark

Se reporter à HowtoBenchmarks.

FAQ

Erreur too many links ?

Cela signifie que vous avez plus de 215 (~= 32k) répertoires dans un répertoire. Il faut envisager de structurer le répertoire différemment pour obtenir une hiérarchie plus profonde, avec moins d’éléments dans chaque répertoire.

Chercher le répertoire contenant le plus de répertoires = + de inodes/inode : TipsShell#lister-les-répertoires-ayant-le-plus-de-fichiers-max-inode