Systèmes de fichiers sous Linux : commandes pour gérer EXT4, XFS et BTRFS
Table des matières
Cet article récapitule quelques infos sur les systèmes de fichiers sous Linux.
Je vais traiter les systèmes de fichiers EXT4, XFS et BTRFS.
Pour EXT4 et XFS, nous serons dans un contexte LVM.
Pour créer le système de fichiers :
On peut utiliser les arguments -L pour préciser un LABEL et -U pour spécifier un UUID.
Pour voir les infos sur le système de fichiers, on va utiliser :
Pour vérifier le système de fichiers et le réparer, il faut qu'il soit démonté.
On peut procéder de deux façons :
ou
Pour agrandir le système de fichiers, on va utiliser :
Exemple :
Si on ne précise pas la taille, la place maximum sera prise. Ces opérations se font à à chaud (système de fichiers monté).
La réduction par contre se fait à froid (système de fichiers démonté). Il est nécessaire de faire une vérification avant.
Pour réduire :
Exemple :
Si on veut réduite au maximum le système de fichiers :
Il peut être utile sur de grosses partitions de défragmenter ses partitions, notamment sur les disques durs mécaniques.
Cela se fait via la commande e4defrag.
Pour changer le label du système de fichiers :
Pour changer le UUID du système de fichiers, il faut qu'il soit démonté et il faut un UUID valide.
Il est possible de générer un UUID aléatoire avec :
Ensuite :
Par défaut, 5% des blocs du système de fichiers sont réservés et ne peuvent être écrits. Ils sont réservés en "secours" et utilisables uniquement par root.
Si le système de fichier est grand (j'ai un disque de 1To) ça fait quand même 50Go, surtout si on stocke des données c'est pas utile.
Mettre à 0% c'est pas l'idéal, mais on peut mettre cette valeur à 1% via tune2fs :
Pour créer le système de fichiers :
On peut utiliser les arguments -L pour préciser un LABEL et -U pour spécifier un UUID.
Pour voir les infos sur le système de fichiers, on va utiliser :
Pour vérifier le système de fichiers et le réparer, il faut qu'il soit démonté.
On peut procéder de deux façons :
ou
Pour agrandir le système de fichiers, on va utiliser :
La TAILLE c'est en nombre de blocs (généralement 4ko, cf xfs_info)
Exemple pour agrandir à 15G :
Si on ne précise pas la taille, la place maximum sera prise. Ces opérations se font à à chaud (système de fichiers monté).
La réduction est impossible.
Il peut être utile sur de grosses partitions de défragmenter ses partitions, notamment sur les disques durs mécaniques.
Cela se fait via la commande xfs_fsr.
Pour changer le label du système de fichiers :
Pour changer le UUID du système de fichiers, il faut qu'il soit démonté et il faut un UUID valide.
Il est possible de générer un UUID aléatoire avec :
Ensuite :
Le système de fichiers racine ( / ) ne peut être démonté, donc comment le vérifier ?
Il suffit de créer le fichier forcefsck à la racine :
Cela aura pour but de vérifier le système de fichier racine au prochain redémarrage, puis des systèmes de fichiers qui ont le chiffre 2 indiqué en bout de ligne du fichier fstab (Voir fstab : Explications sur le fichier et sa structure )
Parfois lors du démontage du système de fichiers, on a une erreur :
Pour diagnostiquer, on va utiliser la commande fuser en spécifiant le point de montage concerné :
Le processus en cause est le 3614.
On recherche le processus concerné :
La réponse de la console :
Ici c'est squid qui est en cause, mais dans votre cas adaptez.
Moi j'ai donc arrêté squid3 :
Puis démonté ma partition home avec succès
Puis faire ma vérification de système de fichiers.
Introduction
Cet article récapitule quelques infos sur les systèmes de fichiers sous Linux.
Je vais traiter les systèmes de fichiers EXT4, XFS et BTRFS.
Pour EXT4 et XFS, nous serons dans un contexte LVM.
EXT4
Création
Pour créer le système de fichiers :
Code BASH :
mkfs.ext4 /dev/XXX
On peut utiliser les arguments -L pour préciser un LABEL et -U pour spécifier un UUID.
Informations
Pour voir les infos sur le système de fichiers, on va utiliser :
Code BASH :
tune2fs -l /dev/XXX
Vérifier et réparer
Pour vérifier le système de fichiers et le réparer, il faut qu'il soit démonté.
On peut procéder de deux façons :
Code BASH :
e2fsck /dev/XXX
ou
Code BASH :
fsck.ext4 /dev/XXX
Agrandir et réduire
Pour agrandir le système de fichiers, on va utiliser :
Code BASH :
resize2fs /dev/XXX TAILLE
Exemple :
Code BASH :
resize2fs /dev/datavg/adrienlv 15G
Si on ne précise pas la taille, la place maximum sera prise. Ces opérations se font à à chaud (système de fichiers monté).
La réduction par contre se fait à froid (système de fichiers démonté). Il est nécessaire de faire une vérification avant.
Pour réduire :
Code BASH :
e2fsck -f /dev/XXX resize2fs /dev/XXX TAILLE
Exemple :
Code BASH :
e2fsck -f /dev/datavg/adrienlv resize2fs /dev/datavg/adrienlv 10G
Si on veut réduite au maximum le système de fichiers :
Code BASH :
e2fsck -f /dev/datavg/adrienlv resize2fs -M /dev/datavg/adrienlv
Défragmenter
Il peut être utile sur de grosses partitions de défragmenter ses partitions, notamment sur les disques durs mécaniques.
Cela se fait via la commande e4defrag.
Code BASH :
e4defrag -v /dev/XXX
Modifier le système de fichiers
Changer le label
Pour changer le label du système de fichiers :
Code BASH :
tune2fs -L NEWLABEL /dev/XXX
Changer le UUID
Pour changer le UUID du système de fichiers, il faut qu'il soit démonté et il faut un UUID valide.
Il est possible de générer un UUID aléatoire avec :
Code BASH :
uuidgen
Ensuite :
Code BASH :
tune2fs -U UUU-UUUU-UUUU.... /dev/XXX
Changer le pourcentage de blocs réservés
Par défaut, 5% des blocs du système de fichiers sont réservés et ne peuvent être écrits. Ils sont réservés en "secours" et utilisables uniquement par root.
Si le système de fichier est grand (j'ai un disque de 1To) ça fait quand même 50Go, surtout si on stocke des données c'est pas utile.
Mettre à 0% c'est pas l'idéal, mais on peut mettre cette valeur à 1% via tune2fs :
Code BASH :
tune2fs -m 1 /dev/XXX
XFS
Création
Pour créer le système de fichiers :
Code BASH :
mkfs.xfs /dev/XXX
On peut utiliser les arguments -L pour préciser un LABEL et -U pour spécifier un UUID.
Informations
Pour voir les infos sur le système de fichiers, on va utiliser :
Code BASH :
xfs_info /dev/XXX
Vérifier et réparer
Pour vérifier le système de fichiers et le réparer, il faut qu'il soit démonté.
On peut procéder de deux façons :
Code BASH :
xfs_repair /dev/XXX
ou
Code BASH :
fsck.xfs /dev/XXX
Agrandir et réduire
Pour agrandir le système de fichiers, on va utiliser :
Code BASH :
xfs_growfs -D TAILLE /dev/XXX
La TAILLE c'est en nombre de blocs (généralement 4ko, cf xfs_info)
Exemple pour agrandir à 15G :
Code BASH :
resize2fs -D 3662109 /dev/datavg/adrienlv
Si on ne précise pas la taille, la place maximum sera prise. Ces opérations se font à à chaud (système de fichiers monté).
La réduction est impossible.
Défragmenter
Il peut être utile sur de grosses partitions de défragmenter ses partitions, notamment sur les disques durs mécaniques.
Cela se fait via la commande xfs_fsr.
Code BASH :
xfs_fsr -v /dev/XXX
Modifier le système de fichiers
Changer le label
Pour changer le label du système de fichiers :
Code BASH :
xfs_admin -L NEWLABEL /dev/XXX
Changer le UUID
Pour changer le UUID du système de fichiers, il faut qu'il soit démonté et il faut un UUID valide.
Il est possible de générer un UUID aléatoire avec :
Code BASH :
uuidgen
Ensuite :
Code BASH :
xfs_admin -U UUU-UUUU-UUUU.... /dev/XXX
Divers ...
Vérifier le système de fichiers racine
Le système de fichiers racine ( / ) ne peut être démonté, donc comment le vérifier ?
Il suffit de créer le fichier forcefsck à la racine :
Code BASH :
touch /forcefsck
Cela aura pour but de vérifier le système de fichier racine au prochain redémarrage, puis des systèmes de fichiers qui ont le chiffre 2 indiqué en bout de ligne du fichier fstab (Voir fstab : Explications sur le fichier et sa structure )
Comment démonter un système de fichiers occupé ?
Parfois lors du démontage du système de fichiers, on a une erreur :
Code BASH :
umount /home
Code TEXT :
démontage : /home : périphérique occupé. (Dans certains cas, des infos sur les processus l'utilisant sont récupérables par lsof(8) ou fuser(1))
Pour diagnostiquer, on va utiliser la commande fuser en spécifiant le point de montage concerné :
Code BASH :
fuser -m /home /home: 3614
Le processus en cause est le 3614.
On recherche le processus concerné :
Code BASH :
ps -ef | grep 3614
La réponse de la console :
Code TEXT :
proxy 3614 1 0 11:20 ? 00:00:00 /usr/sbin/squid3 -N -YC -f /etc/squid3/squid.conf proxy 3615 3614 0 11:20 ? 00:00:00 (unlinkd) root 3621 1963 0 11:21 pts/1 00:00:00 grep --color=auto 3614
Ici c'est squid qui est en cause, mais dans votre cas adaptez.
Moi j'ai donc arrêté squid3 :
Code BASH :
/etc/init.d/squid3 stop
Puis démonté ma partition home avec succès
Code BASH :
umount /home
Puis faire ma vérification de système de fichiers.
Code BASH :
fsck -f /dev/sda1