Tune2fs

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Réglage des paramètres d'un système de fichiers ext2/ext3/ext4
Commande tune2fs
Contexte Journalisation, planification fsck, conversion ext2/ext3/ext4, label/UUID
Voir aussi Blockdev, Aligner des partitions

tune2fs affiche et modifie les paramètres d'un système de fichiers ext2, ext3 ou ext4 sans avoir à le reformater : activer/désactiver la journalisation, planifier les vérifications automatiques, changer le label ou l'UUID, ou encore convertir un volume d'une variante ext à l'autre. La plupart des options nécessitent que la partition soit démontée (une exception notable : la partition racine, qui demande un redémarrage sur un support de secours).

Lister les caractéristiques d'un volume

tune2fs -l /dev/sda1

Affiche le superbloc : UUID, label, options activées (has_journal, extents, dir_index...), intervalles de vérification, pourcentage réservé au système, etc. Pour une vue encore plus détaillée (répartition des blocs et des inodes), utiliser dumpe2fs.

Planifier les vérifications automatiques (fsck)

Par défaut, ext2/3/4 force une vérification complète au bout d'un certain temps ou d'un certain nombre de montages. Ces seuils se règlent avec -i (intervalle de temps) et -c (nombre de montages) :

tune2fs -i 1w /dev/hda7    # vérification forcée toutes les semaines
tune2fs -c 30 /dev/hda7    # vérification forcée tous les 30 montages

Mettre les deux valeurs à 0 désactive la vérification automatique (utile sur un gros volume de données où un fsck complet est trop long, à condition de surveiller l'état du fs par un autre moyen) :

tune2fs -i 0 -c 0 /dev/hda7

Espace réservé au système

Par défaut, ext2/3/4 réserve 5 % de l'espace aux processus root (pour que le système continue à fonctionner même si un utilisateur remplit le disque). Sur un volume de données géré par ailleurs, ce pourcentage peut être ramené à 0 :

tune2fs -m 0 /dev/sdb1

Activer ou désactiver des fonctionnalités (-O)

tune2fs -O ^has_journal /dev/sda1   # désactiver la journalisation (ext3/ext4 -> ext2)
tune2fs -O has_journal /dev/sda1    # réactiver la journalisation
tune2fs -O dir_index /dev/sda1      # activer l'indexation des répertoires (accélère les gros répertoires)

Le préfixe ^ désactive une fonctionnalité, son absence l'active. Plusieurs fonctionnalités peuvent être passées séparées par une virgule, par exemple extents,uninit_bg,dir_index (voir section suivante).

Convertir un système de fichiers

ext3/ext4 vers ext2 (retirer la journalisation)

umount /dev/sdb1
tune2fs -O ^has_journal /dev/sdb1
fsck /dev/sdb1

ext2 vers ext3 (ajouter la journalisation)

tune2fs -j /dev/sdb1

ext2/ext3 vers ext4

Le volume doit être démonté (pour la partition racine, redémarrer au préalable sur un live CD/support de secours) :

tune2fs -O extents,uninit_bg,dir_index /dev/rootvg/tmplv
fsck.ext4 -fDC0 /dev/rootvg/tmplv

Puis mettre à jour /etc/fstab (type ext3ext4) et, si la partition convertie contient /boot, réinstaller le chargeur de démarrage avant de redémarrer :

grub-install /dev/sdb

Label et UUID

tune2fs -L label_name /dev/sdb1     # changer le label
tune2fs -U $(uuidgen) /dev/sda5     # régénérer l'UUID

⚠️ Changer l'UUID ou le label d'un volume référencé par son ancienne valeur dans /etc/fstab ou la configuration du chargeur de démarrage empêche le système de redémarrer tant que ces références ne sont pas mises à jour.

Voir aussi

  • Blockdev — paramètres bas niveau d'un périphérique bloc (taille, read-ahead)
  • Aligner des partitions — alignement des partitions avant création du système de fichiers