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.
Pour lister les attributs d'un système de fichiers :
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 :
Le résultat en console :
Parfois quand le système de fichiers est incohérent, il est nécessaire de faire une vérification.
Sous Linux, avec des partitions ext2 ext3 ou ext4 on utilise l'utilitaire fsck.
Par analogie, sous Windows, la commande est chkdsk
La règle d'or pour vérifier un système de fichiers est qu'il doit être démonté.
Puis on lance la vérification du système de fichiers :
Si le système de fichiers est noté comme propre on peut forcer la réparation via l'option -f
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.
tune2fs- Modifier un système de fichiers ext3 ou ext4
Lister les attributs
Pour lister les attributs d'un système de fichiers :
Code BASH :
tune2fs -l /dev/sdb1
Code BASH :
tune2fs 1.42.13 (17-May-2015) Filesystem volume name: DOCUMENTS Last mounted on: /media/DATA Filesystem UUID: 249cbebb-64c8-4d2b-87d8-34f634927fb6 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 61054976 Block count: 244190000 Reserved block count: 2441900 Free blocks: 28492314 Free inodes: 61018209 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 965 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Fri Mar 13 17:16:43 2015 Last mount time: Sat Oct 3 08:36:19 2015 Last write time: Sun Oct 4 17:57:39 2015 Mount count: 438 Maximum mount count: -1 Last checked: Fri Mar 13 17:16:43 2015 Check interval: 0 (<none>) Lifetime writes: 4103 GB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: 71e3aa38-8932-48ea-af00-8bf244e447ce Journal backup: inode blocks
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/sdb1
Le résultat en console :
Code BASH :
tune2fs 1.42.13 (17-May-2015) Définition du pourcentage de blocs réservés à 1% (2441900 blocs)
Vérifier les systèmes de fichiers
Système de fichiers démontable
Parfois quand le système de fichiers est incohérent, il est nécessaire de faire une vérification.
Sous Linux, avec des partitions ext2 ext3 ou ext4 on utilise l'utilitaire fsck.
Par analogie, sous Windows, la commande est chkdsk
La règle d'or pour vérifier un système de fichiers est qu'il doit être démonté.
Code BASH :
umount /home
Puis on lance la vérification du système de fichiers :
Code BASH :
fsck /dev/sda1
Code TEXT :
fsck de util-linux 2.20.1 e2fsck 1.42 (29-Nov-2011) /dev/sda1 : propre, 24000/1250928 fichiers, 1940811/5002231 blocs
Si le système de fichiers est noté comme propre on peut forcer la réparation via l'option -f
Code BASH :
fsck -f /dev/sda1
Code TEXT :
fsck de util-linux 2.20.1 e2fsck 1.42 (29-Nov-2011) Passe 1 : vérification des i-noeuds, des blocs et des tailles Passe 2 : vérification de la structure des répertoires Passe 3 : vérification de la connectivité des répertoires Passe 4 : vérification des compteurs de référence Passe 5 : vérification de l'information du sommaire de groupe /dev/sda1 : 24000/1250928 fichiers (0.7% non contigüs), 1940811/5002231 blocs
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