Búsqueda de sitios web

4 herramientas para administrar la salud de EXT2, EXT3 y EXT4 en Linux


Un sistema de archivos es una estructura de datos que ayuda a controlar cómo se almacenan y recuperan los datos en un sistema informático. Un sistema de archivos también puede considerarse como una partición física (o extendida) de un disco. Si no se mantiene bien y no se controla periódicamente, puede dañarse o corromperse a largo plazo, de muchas maneras diferentes.

Hay varios factores que pueden hacer que un sistema de archivos no funcione correctamente: fallas del sistema, mal funcionamiento del hardware o software, controladores y programas defectuosos, ajuste incorrecto, sobrecarga con datos excesivos y otros fallos menores.

Cualquiera de estos problemas puede hacer que Linux no monte (o desmonte) un sistema de archivos correctamente, provocando así una falla del sistema.

Lea también: 7 formas de determinar el tipo de sistema de archivos en Linux (Ext2, Ext3 o Ext4)

Además, ejecutar su sistema con un sistema de archivos dañado puede dar lugar a otros errores de ejecución en los componentes del sistema operativo o en las aplicaciones del usuario, lo que podría derivar en una pérdida grave de datos. Para evitar sufrir daños o daños en el sistema de archivos, debe vigilar su salud.

En este artículo, cubriremos herramientas para monitorear y mantener la salud de los sistemas de archivos ext2, ext3 y ext4. Todas las herramientas descritas aquí requieren privilegios de usuario root; por lo tanto, utilice el comando sudo para ejecutarlas.

Cómo ver la información del sistema de archivos EXT2/EXT3/EXT4

dumpe2fs es una herramienta de línea de comandos que se utiliza para volcar información del sistema de archivos ext2/ext3/ext4, lo que significa que muestra información de superbloques y grupos de bloques para el sistema de archivos en el dispositivo.

Antes de ejecutar dumpe2fs, asegúrese de ejecutar el comando df -hT para conocer los nombres de los dispositivos del sistema de archivos.

sudo dumpe2fs /dev/sda10
Salida de muestra
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

Puede pasar el indicador -b para mostrar cualquier bloque reservado como incorrecto en el sistema de archivos (ninguna salida implica bloques incorrectos):

dumpe2fs -b

Comprobación de errores en los sistemas de archivos EXT2/EXT3/EXT4

e2fsck se utiliza para examinar los sistemas de archivos ext2/ext3/ext4 en busca de errores y comprobaciones fsck y, opcionalmente, puede reparar un sistema de archivos Linux; es básicamente una interfaz para una variedad de verificadores de sistemas de archivos (fsck.fstype por ejemplo fsck.ext3, fsck.sfx, etc.) que se ofrecen. bajo Linux.

Recuerde que Linux ejecuta e2fack/fsck automáticamente al iniciar el sistema en las particiones etiquetadas para verificar en el archivo de configuración /etc/fstab. Normalmente, esto se hace después de que un sistema de archivos no se ha desmontado limpiamente.

Atención: No ejecute e2fsck o fsck en sistemas de archivos montados, siempre desmonte primero una partición antes de poder ejecutar estas herramientas en él, como se muestra a continuación.

sudo unmount /dev/sda10
sudo fsck /dev/sda10

Alternativamente, habilite la salida detallada con el modificador -V y use -t para especificar un tipo de sistema de archivos como este:

sudo fsck -Vt ext4 /dev/sda10

Ajuste de sistemas de archivos EXT2/EXT3/EXT4

Mencionamos desde el principio que una de las causas del daño del sistema de archivos es el ajuste incorrecto. Puede utilizar la utilidad tune2fs para cambiar los parámetros ajustables de los sistemas de archivos ext2/ext3/ext4 como se explica a continuación.

Para ver el contenido del superbloque del sistema de archivos, incluidos los valores actuales de los parámetros, use la opción -l como se muestra.

sudo tune2fs -l /dev/sda10
Salida de muestra
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ón, utilizando el indicador -c, puede establecer el número de montajes después de los cuales e2fsck comprobará el sistema de archivos. Este comando indica al sistema que ejecute e2fsck en /dev/sda10 después de cada 4 montajes.

sudo tune2fs -c 4 /dev/sda10

tune2fs 1.42.13 (17-May-2015)
Setting maximal mount count to 4

También puede definir el tiempo entre dos comprobaciones del sistema de archivos con la opción -i. El siguiente comando establece un intervalo de 2 días entre comprobaciones del sistema de archivos.

sudo tune2fs  -i  2d  /dev/sda10

tune2fs 1.42.13 (17-May-2015)
Setting interval between checks to 172800 seconds

Ahora, si ejecuta este comando a continuación, el intervalo de verificación del sistema de archivos para /dev/sda10 ahora está configurado.

sudo tune2fs -l /dev/sda10
Salida de muestra
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

Para cambiar los parámetros de registro en diario predeterminados, utilice la opción -J. Esta opción también tiene subopciones: size=diario-tamaño (establece el tamaño del diario), device=external-diario (especifica el dispositivo en el que se almacena) y ubicación=ubicación-revista (define la ubicación de la revista).

Tenga en cuenta que solo se puede configurar una de las opciones de tamaño o dispositivo para un sistema de archivos:

sudo tune2fs -J size=4MB /dev/sda10

Por último, pero no menos importante, la etiqueta de volumen de un sistema de archivos se puede configurar usando la opción -L como se muestra a continuación.

sudo tune2fs -L "ROOT" /dev/sda10

Depurar sistemas de archivos EXT2/EXT3/EXT4

debugfs es un depurador de sistemas de archivos ext2/ext3/ext4, simple e interactivo, basado en una línea de comandos. Le permite modificar los parámetros del sistema de archivos de forma interactiva. Para ver subcomandos o solicitudes, escriba "?".

sudo debugfs /dev/sda10

De forma predeterminada, el sistema de archivos debe abrirse en modo lectura-escritura; utilice el indicador -w para abrirlo en modo lectura-escritura. Para abrirlo en modo catastrófico, use la opción -c.

Salida de muestra
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
....

Para mostrar la fragmentación del espacio libre, utilice la solicitud freefrag, así.

debugfs: freefrag
Salida de muestra
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:  

Puede explorar muchas otras solicitudes, como crear o eliminar archivos o directorios, cambiar el directorio de trabajo actual y mucho más, simplemente leyendo la breve descripción proporcionada. Para salir de debugfs, utilice la solicitud q.

¡Eso es todo por ahora! Tenemos una colección de artículos relacionados en diferentes categorías a continuación, que le resultarán útiles.

Información de uso del sistema de archivos:

  1. 12 comandos “df” útiles para comprobar el espacio en disco en Linux
  2. Pydf, un comando alternativo "df" para verificar el uso del disco en diferentes colores
  3. Diez comandos du (uso de disco) útiles para encontrar el uso de archivos y directorios en disco

Verifique el estado del disco o la partición:

  1. 3 herramientas útiles de escaneo de discos Linux basadas en GUI y terminales
  2. Cómo comprobar sectores defectuosos o bloques defectuosos en el disco duro en Linux
  3. Cómo reparar y desfragmentar particiones y directorios del sistema Linux

Mantener un sistema de archivos saludable siempre mejora el rendimiento general de su sistema Linux. Si tiene alguna pregunta o idea adicional para compartir, utilice el formulario de comentarios a continuación.