4 eines per gestionar la salut EXT2, EXT3 i EXT4 a Linux
Un sistema de fitxers és una estructura de dades que ajuda a controlar com s'emmagatzemen i es recuperen les dades en un sistema informàtic. Un sistema de fitxers també es pot considerar com una partició física (o estesa) en un disc. Si no es manté bé i es controla regularment, es pot danyar o malmetre a la llarga, de moltes maneres diferents.
Hi ha diversos factors que poden provocar que un sistema de fitxers es torni insalubre: fallades del sistema, mal funcionament del maquinari o del programari, controladors i programes amb errors, ajustar-lo incorrectament, sobrecarregar-lo amb dades excessives i altres errors menors.
Qualsevol d'aquests problemes pot fer que Linux no munti (o desmunti) un sistema de fitxers amb gràcia, provocant així una fallada del sistema.
A més, l'execució del sistema amb un sistema de fitxers deteriorat pot donar lloc a altres errors d'execució en els components del sistema operatiu o en les aplicacions d'usuari, que podrien augmentar fins a una pèrdua greu de dades. Per evitar patir danys o corrupció del sistema de fitxers, heu de vigilar la seva salut.
En aquest article, tractarem les eines per supervisar i mantenir la salut dels sistemes de fitxers ext2, ext3 i ext4. Totes les eines descrites aquí requereixen privilegis d'usuari root, per tant, utilitzeu l'ordre sudo per executar-les.
Com veure la informació del sistema de fitxers EXT2/EXT3/EXT4
dumpe2fs és una eina de línia d'ordres que s'utilitza per abocar la informació del sistema de fitxers ext2/ext3/ext4, és a dir, mostra la informació del súper bloc i bloqueja la informació del grup per al sistema de fitxers del dispositiu.
Abans d'executar dumpe2fs, assegureu-vos d'executar l'ordre df -hT per conèixer els noms dels dispositius del sistema de fitxers.
$ sudo dumpe2fs /dev/sda10
dumpe2fs 1.42.13 (17-May-2015) Filesystem volume name: Last mounted on: / Filesystem UUID: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b 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: 21544960 Block count: 86154752 Reserved block count: 4307737 Free blocks: 22387732 Free inodes: 21026406 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 1003 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Sun Jul 31 16:19:36 2016 Last mount time: Mon Nov 6 10:25:28 2017 Last write time: Mon Nov 6 10:25:19 2017 Mount count: 432 Maximum mount count: -1 Last checked: Sun Jul 31 16:19:36 2016 Check interval: 0 () Lifetime writes: 2834 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 First orphan inode: 6947324 Default directory hash: half_md4 Directory Hash Seed: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805 Journal backup: inode blocks Journal features: journal_incompat_revoke Journal size: 128M Journal length: 32768 Journal sequence: 0x00580f0c Journal start: 12055
Podeu passar el senyalador -b
per mostrar qualsevol bloc reservat com a dolent al sistema de fitxers (cap sortida implica als blocs dolents):
$ dumpe2fs -b
Comprovació d'errors dels sistemes de fitxers EXT2/EXT3/EXT4
e2fsck s'utilitza per examinar els sistemes de fitxers ext2/ext3/ext4 per detectar errors i comprovacions fsck i, opcionalment, pot reparar un sistema de fitxers Linux; és bàsicament un front-end per a una sèrie de verificadors del sistema de fitxers (fsck.fstype, per exemple fsck.ext3, fsck.sfx, etc.) que s'ofereixen a Linux.
Recordeu que Linux executa e2fack/fsck automàticament a l'arrencada del sistema en particions que estan etiquetades per registrar el fitxer de configuració /etc/fstab. Això es fa normalment després que un sistema de fitxers no s'hagi desmuntat netament.
Atenció: no executeu e2fsck o fsck en sistemes de fitxers muntats, desmunteu sempre una partició abans de poder executar-hi aquestes eines, tal com es mostra a continuació.
$ sudo unmount /dev/sda10 $ sudo fsck /dev/sda10
Alternativament, activeu la sortida detallada amb l'interruptor -V
i utilitzeu el -t
per especificar un tipus de sistema de fitxers com aquest:
$ sudo fsck -Vt ext4 /dev/sda10
Ajust dels sistemes de fitxers EXT2/EXT3/EXT4
Hem esmentat des del principi que una de les causes dels danys al sistema de fitxers és l'ajustament incorrecte. Podeu utilitzar la utilitat tune2fs per canviar els paràmetres ajustables dels sistemes de fitxers ext2/ext3/ext4 tal com s'explica a continuació.
Per veure el contingut del superbloc del sistema de fitxers, inclosos els valors actuals dels paràmetres, utilitzeu l'opció -l
tal com es mostra.
$ sudo tune2fs -l /dev/sda10
tune2fs 1.42.13 (17-May-2015) Filesystem volume name: Last mounted on: / Filesystem UUID: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b 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: 21544960 Block count: 86154752 Reserved block count: 4307737 Free blocks: 22387732 Free inodes: 21026406 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 1003 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Sun Jul 31 16:19:36 2016 Last mount time: Mon Nov 6 10:25:28 2017 Last write time: Mon Nov 6 10:25:19 2017 Mount count: 432 Maximum mount count: -1 Last checked: Sun Jul 31 16:19:36 2016 Check interval: 0 () Lifetime writes: 2834 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 First orphan inode: 6947324 Default directory hash: half_md4 Directory Hash Seed: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805 Journal backup: inode blocks
A continuació, utilitzant el senyalador -c
, podeu establir el nombre de muntatges després dels quals el sistema de fitxers serà comprovat per e2fsck. Aquesta ordre indica al sistema que executi e2fsck contra /dev/sda10
després de cada 4 muntatges.
$ sudo tune2fs -c 4 /dev/sda10 tune2fs 1.42.13 (17-May-2015) Setting maximal mount count to 4
També podeu definir el temps entre dues comprovacions del sistema de fitxers amb l'opció -i
. L'ordre següent estableix un interval de 2 dies entre comprovacions del sistema de fitxers.
$ sudo tune2fs -i 2d /dev/sda10 tune2fs 1.42.13 (17-May-2015) Setting interval between checks to 172800 seconds
Ara, si executeu aquesta ordre a continuació, l'interval de comprovació del sistema de fitxers per a /dev/sda10
s'ha establert.
$ sudo tune2fs -l /dev/sda10
Filesystem created: Sun Jul 31 16:19:36 2016 Last mount time: Mon Nov 6 10:25:28 2017 Last write time: Mon Nov 6 13:49:50 2017 Mount count: 432 Maximum mount count: 4 Last checked: Sun Jul 31 16:19:36 2016 Check interval: 172800 (2 days) Next check after: Tue Aug 2 16:19:36 2016 Lifetime writes: 2834 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 First orphan inode: 6947324 Default directory hash: half_md4 Directory Hash Seed: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805 Journal backup: inode blocks
Per canviar els paràmetres de registre per defecte, utilitzeu l'opció -J
. Aquesta opció també té subopcions: size=journal-size (defineix la mida de la revista), device=external-journal (especifica el dispositiu on s'emmagatzema) i location=journal-location (defineix la ubicació de la revista).
Tingueu en compte que només es pot configurar una de les opcions de mida o de dispositiu per a un sistema de fitxers:
$ sudo tune2fs -J size=4MB /dev/sda10
Finalment, però no menys important, l'etiqueta de volum d'un sistema de fitxers es pot establir mitjançant l'opció -L
com a continuació.
$ sudo tune2fs -L "ROOT" /dev/sda10
Depureu els sistemes de fitxers EXT2/EXT3/EXT4
debugfs és un depurador de sistemes de fitxers ext2/ext3/ext4 senzill i interactiu basat en la línia d'ordres. Us permet modificar els paràmetres del sistema de fitxers de manera interactiva. Per veure subordres o sol·licituds, escriviu \?\
.
$ sudo debugfs /dev/sda10
Per defecte, el sistema de fitxers s'hauria d'obrir en mode lectura-escriptura, utilitzeu el senyalador -w
per obrir-lo en mode lectura-escriptura. Per obrir-lo en mode catastròfic, utilitzeu l'opció -c
.
debugfs 1.42.13 (17-May-2015) debugfs: ? Available debugfs requests: show_debugfs_params, params Show debugfs parameters open_filesys, open Open a filesystem close_filesys, close Close the filesystem freefrag, e2freefrag Report free space fragmentation feature, features Set/print superblock features dirty_filesys, dirty Mark the filesystem as dirty init_filesys Initialize a filesystem (DESTROYS DATA) show_super_stats, stats Show superblock statistics ncheck Do inode->name translation icheck Do block->inode translation change_root_directory, chroot ....
Per mostrar la fragmentació de l'espai lliure, utilitzeu la sol·licitud freefrag, així.
debugfs: freefrag
Device: /dev/sda10 Blocksize: 4096 bytes Total blocks: 86154752 Free blocks: 22387732 (26.0%) Min. free extent: 4 KB Max. free extent: 2064256 KB Avg. free extent: 2664 KB Num. free extent: 33625 HISTOGRAM OF FREE EXTENT SIZES: Extent Size Range : Free extents Free Blocks Percent 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:
Podeu explorar tantes altres sol·licituds, com ara crear o eliminar fitxers o directoris, canviar el directori de treball actual i molt més, simplement llegint la breu descripció proporcionada. Per sortir de debugfs, utilitzeu la sol·licitud q
.
Això és tot per ara! Tenim una col·lecció d'articles relacionats sota diferents categories a continuació, que us resultaran útils.
- 12 ordres \df útils per comprovar l'espai en disc a Linux
- Pydf, una ordre alternativa \df per comprovar l'ús del disc en diferents colors
- 10 ordres útils du (ús del disc) per trobar l'ús del disc de fitxers i directoris
- 3 GUI útils i eines d'escaneig de disc de Linux basades en terminals
- Com comprovar sectors defectuosos o blocs defectuosos al disc dur a Linux
- Com reparar i desfragmentar les particions i els directoris del sistema Linux
Mantenir un sistema de fitxers saludable sempre millora el rendiment general del vostre sistema Linux. Si teniu cap pregunta o pensament addicional per compartir, feu servir el formulari de comentaris a continuació.