Un système de fichiers est une structure de données qui permet de contrôler la manière dont les données sont stockées et récupérées sur un système informatique. Un système de fichiers peut également être considéré comme une partition physique (ou étendue) sur un disque. S'il n'est pas bien entretenu et surveillé régulièrement, il peut être endommagé ou corrompu à long terme, de tant de manières différentes.
Il y a plusieurs facteurs qui peuvent rendre un système de fichiers défectueux: plantages du système, matériel ou logiciel dysfonctionnements, pilotes et programmes bogués, réglage incorrect, surcharge de données excessives et autres mineurs Défaillance.
N'importe lequel de ces problèmes peut empêcher Linux de monter (ou de démonter) un système de fichiers correctement, entraînant ainsi une défaillance du système.
Lire aussi: 7 façons de déterminer le type de système de fichiers sous Linux (Ext2, Ext3 ou Ext4)
De plus, l'exécution de votre système avec un système de fichiers altéré peut entraîner d'autres erreurs d'exécution dans les composants du système d'exploitation ou dans les applications utilisateur, qui peuvent dégénérer en une perte de données grave. Pour éviter de subir une corruption ou des dommages du système de fichiers, vous devez garder un œil sur sa santé.
Dans cet article, nous couvrirons les outils pour surveiller et maintenir la santé des systèmes de fichiers ext2, ext3 et ext4. Tous les outils décrits ici nécessitent des privilèges d'utilisateur root, utilisez donc le commande sudo pour les exécuter.
dumpe2fs est un outil de ligne de commande utilisé pour vider les informations du système de fichiers ext2/ext3/ext4, ce qui signifie qu'il affiche les informations de super bloc et de groupe de blocs pour le système de fichiers sur le périphérique.
Avant de courir dumpe2fs, assurez-vous d'exécuter df -hT commande pour connaître les noms des périphériques du système de fichiers.
$ sudo dumpe2fs /dev/sda10.
dumpe2fs 1.42.13 (17-mai-2015) Nom du volume du système de fichiers: Dernier montage sur: / UUID du système de fichiers: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b. Numéro magique du système de fichiers: 0xEF53. Révision du système de fichiers n°: 1 (dynamique) Fonctionnalités du système de fichiers: has_journal ext_attr resize_inode dir_index type de fichier need_recovery étendue flex_bg sparse_super large_file énorme_fichier uninit_bg dir_nlink extra_isize. Indicateurs du système de fichiers :signed_directory_hash Options de montage par défaut: user_xattr acl. État du système de fichiers: propre. Comportement des erreurs: Continuez. Type de système d'exploitation du système de fichiers: Linux. Nombre d'inodes: 21544960. Nombre de blocs: 86154752. Nombre de blocs réservés: 4307737. Blocs gratuits: 22387732. Inodes libres: 21026406. Premier bloc: 0. Taille de bloc: 4096. Taille des fragments: 4096. Blocs GDT réservés: 1003. Blocs par groupe: 32768. Fragments par groupe: 32768. Inodes par groupe: 8192. Blocs d'inodes par groupe: 512. Taille du groupe de blocs Flex: 16. Système de fichiers créé: 31 juil. 16:19:36 2016. Heure du dernier montage: lun 6 novembre 10:25:28 2017. Dernière heure d'écriture: lun 6 novembre 10:25:19 2017. Nombre de montures: 432. Nombre maximal de montures: -1. Dernière vérification: dim 31 juil. 16:19:36 2016. Intervalle de vérification: 0 () Durée de vie en écriture: 2834 Go. Uid des blocs réservés: 0 (utilisateur root) Gid des blocs réservés: 0 (racine du groupe) Premier inode: 11. Taille des inodes: 256. Taille supplémentaire requise: 28. Taille supplémentaire souhaitée: 28. Inode de journal: 8. Premier inode orphelin: 6947324. Hachage du répertoire par défaut: half_md4. Répertoire de graines de hachage: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805. Sauvegarde du journal: blocs d'inodes. Fonctionnalités du journal: journal_incompat_revoke. Taille du journal: 128 M. Longueur du journal: 32 768. Séquence de journal: 0x00580f0c. Début du journal: 12055.
Vous pouvez passer le -b
flag pour afficher tous les blocs réservés comme mauvais dans le système de fichiers (aucune sortie n'implique les badblocks):
$ dumpe2fs -b.
e2fsck est utilisé pour examiner les systèmes de fichiers ext2/ext3/ext4 pour les erreurs et fsck chèques et peut éventuellement réparer un système de fichiers Linux; il s'agit essentiellement d'une interface pour une gamme de vérificateurs de système de fichiers (fsck.fstype par exemple fsck.ext3, fsck.sfx etc) proposé sous Linux.
N'oubliez pas que Linux fonctionne e2fack/fsck automatiquement au démarrage du système sur les partitions étiquetées pour l'archivage /etc/fstab fichier de configuration. Cela se fait normalement après qu'un système de fichiers n'a pas été démonté proprement.
Attention: Ne cours pas e2fsck ou alors fsck sur les systèmes de fichiers montés, démontez toujours une partition avant de pouvoir exécuter ces outils dessus, comme indiqué ci-dessous.
$ sudo démonter /dev/sda10. $ sudo fsck /dev/sda10.
Vous pouvez également activer la sortie détaillée avec le -V
interrupteur et utilisez le -t
pour spécifier un type de système de fichiers comme celui-ci :
$ sudo fsck -Vt ext4 /dev/sda10.
Nous avons mentionné dès le début que l'une des causes des dommages au système de fichiers est un réglage incorrect. Vous pouvez utiliser le tune2fs utilitaire pour modifier les paramètres réglables des systèmes de fichiers ext2/ext3/ext4 comme expliqué ci-dessous.
Pour voir le contenu du superbloc du système de fichiers, y compris les valeurs actuelles des paramètres, utilisez le -l
option comme indiqué.
$ sudo tune2fs -l /dev/sda10.
tune2fs 1.42.13 (17-mai-2015) Nom du volume du système de fichiers: Dernier montage sur: / UUID du système de fichiers: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b. Numéro magique du système de fichiers: 0xEF53. Révision du système de fichiers n°: 1 (dynamique) Fonctionnalités du système de fichiers: has_journal ext_attr resize_inode dir_index type de fichier need_recovery étendue flex_bg sparse_super large_file énorme_fichier uninit_bg dir_nlink extra_isize. Indicateurs du système de fichiers :signed_directory_hash Options de montage par défaut: user_xattr acl. État du système de fichiers: propre. Comportement des erreurs: Continuez. Type de système d'exploitation du système de fichiers: Linux. Nombre d'inodes: 21544960. Nombre de blocs: 86154752. Nombre de blocs réservés: 4307737. Blocs gratuits: 22387732. Inodes libres: 21026406. Premier bloc: 0. Taille de bloc: 4096. Taille des fragments: 4096. Blocs GDT réservés: 1003. Blocs par groupe: 32768. Fragments par groupe: 32768. Inodes par groupe: 8192. Blocs d'inodes par groupe: 512. Taille du groupe de blocs Flex: 16. Système de fichiers créé: 31 juil. 16:19:36 2016. Heure du dernier montage: lun 6 novembre 10:25:28 2017. Dernière heure d'écriture: lun 6 novembre 10:25:19 2017. Nombre de montures: 432. Nombre maximal de montures: -1. Dernière vérification: dim 31 juil. 16:19:36 2016. Intervalle de vérification: 0 () Durée de vie en écriture: 2834 Go. Uid des blocs réservés: 0 (utilisateur root) Gid des blocs réservés: 0 (racine du groupe) Premier inode: 11. Taille des inodes: 256. Taille supplémentaire requise: 28. Taille supplémentaire souhaitée: 28. Inode de journal: 8. Premier inode orphelin: 6947324. Hachage du répertoire par défaut: half_md4. Répertoire de graines de hachage: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805. Sauvegarde du journal: blocs d'inodes.
Ensuite, en utilisant le -c
flag, vous pouvez définir le nombre de montages après lequel le système de fichiers sera vérifié par e2fsck. Cette commande demande au système d'exécuter e2fsck sur /dev/sda10
après chaque 4 monte.
$ sudo tune2fs -c 4 /dev/sda10tune2fs 1.42.13 (17-mai-2015) Définir le nombre maximal de montages sur 4.
Vous pouvez également définir le temps entre deux vérifications du système de fichiers avec le -je
option. La commande suivante définit un intervalle de 2 jours entre les vérifications du système de fichiers.
$ sudo tune2fs -i 2d /dev/sda10tune2fs 1.42.13 (17-mai-2015) Réglage de l'intervalle entre les vérifications à 172800 secondes.
Maintenant, si vous exécutez cette commande ci-dessous, l'intervalle de vérification du système de fichiers pour /dev/sda10
est maintenant réglé.
$ sudo tune2fs -l /dev/sda10.
Système de fichiers créé: 31 juil. 16:19:36 2016. Heure du dernier montage: lun 6 novembre 10:25:28 2017. Dernière heure d'écriture: lun 6 novembre 13:49:50 2017. Nombre de montures: 432. Nombre maximal de montures: 4. Dernière vérification: dim 31 juil. 16:19:36 2016. Intervalle de contrôle: 172 800 (2 jours)Prochaine vérification après: mar. 2 août 16:19:36 2016. Durée de vie en écriture: 2834 Go. Uid des blocs réservés: 0 (utilisateur root) Gid des blocs réservés: 0 (racine du groupe) Premier inode: 11. Taille des inodes: 256. Taille supplémentaire requise: 28. Taille supplémentaire souhaitée: 28. Inode de journal: 8. Premier inode orphelin: 6947324. Hachage du répertoire par défaut: half_md4. Répertoire de graines de hachage: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805. Sauvegarde du journal: blocs d'inodes.
Pour modifier les paramètres de journalisation par défaut, utilisez le -J
option. Cette option a également des sous-options: taille=taille du journal (définit la taille du journal), appareil=journal-externe (spécifie l'appareil sur lequel il est stocké) et emplacement=emplacement-journal (définit l'emplacement de la revue).
Notez qu'une seule des options de taille ou de périphérique peut être définie pour un système de fichiers :
$ sudo tune2fs -J taille=4 Mo /dev/sda10.
Enfin et surtout, le nom de volume d'un système de fichiers peut être défini à l'aide de la -L
option comme ci-dessous.
$ sudo tune2fs -L "RACINE" /dev/sda10.
debugfs est un débogueur de systèmes de fichiers ext2/ext3/ext4 basé sur une ligne de commande simple et interactive. Il vous permet de modifier les paramètres du système de fichiers de manière interactive. Pour afficher les sous-commandes ou les requêtes, tapez "?"
.
$ sudo debugfs /dev/sda10.
Par défaut, le système de fichiers doit être ouvert en mode lecture-écriture, utilisez le -w
flag pour l'ouvrir en mode lecture-écriture. Pour l'ouvrir en mode catastrophique, utilisez le -c
option.
debugfs 1.42.13 (17-mai-2015) debugfs: ? Requêtes debugfs disponibles: show_debugfs_params, params Affiche les paramètres de debugfs. open_filesys, open Ouvrir un système de fichiers. close_filesys, close Ferme le système de fichiers. freefrag, e2freefrag Signaler une fragmentation de l'espace libre. fonctionnalité, fonctionnalités Définir/imprimer des fonctionnalités de superbloc. dirty_filesys, dirty Marque le système de fichiers comme sale. init_filesys Initialiser un système de fichiers (DÉTRUIRE LES DONNÉES) show_super_stats, stats Affiche les statistiques du superbloc. ncheck Faire la traduction inode->nom. icheck Faire la traduction bloc->inode. change_root_directory, chroot...
Pour afficher la fragmentation de l'espace libre, utilisez le freefrag demande, comme ça.
debugfs: freefrag
Périphérique: /dev/sda10. Taille de bloc: 4096 octets. Blocs totaux: 86154752. Blocs gratuits: 22387732 (26,0%) Min. étendue libre: 4 Ko Max. étendue libre: 2064256 Ko. Moy. étendue libre: 2664 Ko. Num. étendue libre: 33625 HISTOGRAMME DES TAILLES D'EXTENSION LIBRE: Plage de taille d'étendue: étendues libres Pourcentage de blocs libres 4K... 8K-: 4883 4883 0,02% 8K... 16K-: 4029 9357 0,04% 16K... 32K-: 3172 15824 0,07% 32K... 64K-: 2523 27916 0,12% 64K... 128K-: 2041 45142 0,20% 128K... 256K-: 2088 95442 0,43% 256K... 512K-: 2462 218526 0,98% 512K... 1024K-: 3175 571055 2,55% 1M... 2M-: 4551 1609188 7,19% 2M... 4M-: 2870 1942177 8,68% 4M... 8M-: 1065 1448374 6,47% 8M... 16M-: 364 891633 3,98% 16M... 32M-: 194 984448 4,40% 32M... 64M-: 86 873181 3,90% 64M... 128M-: 77 1733629 7,74 % 128M... 256M-: 11 490445 2.19% 256M... 512M-: 10 889448 3,97% 512M... 1024M-: 2 343904 1,54% 1G... 2G-: 22 10217801 45,64% debugfs :
Vous pouvez explorer de nombreuses autres demandes telles que la création ou la suppression de fichiers ou de répertoires, la modification du répertoire de travail actuel et bien plus encore, en lisant simplement la brève description fournie. Pour quitter debugfs, utilisez le q
demande.
C'est tout pour le moment! Nous avons une collection d'articles connexes dans différentes catégories ci-dessous, que vous trouverez utiles.
Le maintien d'un système de fichiers sain améliore toujours les performances globales de votre système Linux. Si vous avez des questions ou des idées supplémentaires à partager, utilisez le formulaire de commentaire ci-dessous.