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 se puede considerar como una partición física (o extendida) en un disco. Si no se mantiene bien y se monitorea regularmente, puede dañarse o corromperse a largo plazo, de muchas maneras diferentes.
Hay varios factores que pueden hacer que un sistema de archivos se vuelva insalubre: fallas del sistema, hardware o software mal funcionamiento, controladores y programas defectuosos, sintonizarlo incorrectamente, sobrecargarlo con datos excesivos y otros menores fallas.
Cualquiera de estos problemas puede hacer que Linux no monte (o desmonte) un sistema de archivos correctamente, provocando así una falla en el sistema.
Leer 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 tiempo de ejecución en los componentes del sistema operativo o en las aplicaciones del usuario, lo que podría escalar a una pérdida de datos grave. Para evitar sufrir daños o corrupción del sistema de archivos, debe vigilar su salud.
En este artículo, cubriremos las herramientas para monitorear y mantener el estado de los sistemas de archivos ext2, ext3 y ext4. Todas las herramientas descritas aquí requieren privilegios de usuario root, por lo tanto, utilice la comando sudo para ejecutarlos.
dumpe2fs es una herramienta de línea de comandos utilizada 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 correr dumpe2fs, asegúrate de correr df -hT comando para conocer los nombres de los dispositivos del sistema de archivos.
$ sudo dumpe2fs / dev / sda10.
dumpe2fs 1.42.13 (17-mayo-2015) Nombre del volumen del sistema de archivos: último montaje en: / UUID del sistema de archivos: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b. Número mágico del sistema de archivos: 0xEF53. Revisión del sistema de archivos #: 1 (dinámico) Características del sistema de archivos: has_journal ext_attr resize_inode dir_index filetype needs_recovery extension flex_bg sparse_super large_file enorme_file uninit_bg dir_nlink extra_isize. Indicadores del sistema de archivos :igned_directory_hash Opciones de montaje predeterminadas: user_xattr acl. Estado del sistema de archivos: limpio. Comportamiento de errores: Continuar. Tipo de sistema operativo del sistema de archivos: Linux. Recuento de inodos: 21544960. Número de bloques: 86154752. Número de bloques reservados: 4307737. Bloques libres: 22387732. Inodos libres: 21026406. Primer bloque: 0. Tamaño del bloque: 4096. Tamaño del fragmento: 4096. Bloques GDT reservados: 1003. Bloques por grupo: 32768. Fragmentos por grupo: 32768. Inodos por grupo: 8192. Bloques de inodo por grupo: 512. Tamaño del grupo de bloques flexibles: 16. Sistema de archivos creado: dom 31 de julio 16:19:36 2016. Última hora de montaje: lun 6 de noviembre a las 10:25:28 de 2017. Hora de la última escritura: lunes 6 de noviembre a las 10:25:19 de 2017. Cantidad de monturas: 432. Número máximo de monturas: -1. Última comprobación: dom 31 de julio 16:19:36 2016. Intervalo de verificación: 0 () Escrituras de por vida: 2834 GB. Bloques reservados uid: 0 (usuario root) Bloques reservados gid: 0 (raíz del grupo) Primer inodo: 11. Tamaño de inodo: 256. Tamaño adicional requerido: 28. Tamaño extra deseado: 28. Inodo de diario: 8. Primer inodo huérfano: 6947324. Hash de directorio predeterminado: half_md4. Directory Hash Seed: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805. Copia de seguridad de diario: bloques de inodo. Características de la revista: journal_incompat_revoke. Tamaño del diario: 128M. Longitud del diario: 32768. Secuencia de diario: 0x00580f0c. Inicio del diario: 12055.
Puedes pasar el -B
bandera para mostrar cualquier bloque reservado como malo en el sistema de archivos (ninguna salida implica a badblocks):
$ dumpe2fs -b.
e2fsck se utiliza para examinar los sistemas de archivos ext2 / ext3 / ext4 en busca de errores y fsck cheques y opcionalmente reparar un sistema de archivos Linux; es básicamente un front-end para una variedad de verificadores del sistema de archivos (fsck.fstype por ejemplo fsck.ext3, fsck.sfx etc) ofrecidos bajo Linux.
Recuerda que Linux se ejecuta e2fack / fsck automáticamente al arrancar el sistema en particiones que están etiquetadas para registrarse /etc/fstab archivo de configuración. Esto normalmente se hace después de que un sistema de archivos no se haya desmontado limpiamente.
Atención: No corra e2fsck o fsck en sistemas de archivos montados, siempre desmonte una partición antes de poder ejecutar estas herramientas en ella, como se muestra a continuación.
$ sudo unmount / dev / sda10. $ sudo fsck / dev / sda10.
Alternativamente, habilite la salida detallada con el -V
cambiar y usar el -t
para especificar un tipo de sistema de archivos como este:
$ sudo fsck -Vt ext4 / dev / sda10.
Mencionamos desde el principio que una de las causas del daño del sistema de archivos es el ajuste incorrecto. Puedes usar el tune2fs utilidad 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, utilice el -l
opción como se muestra.
$ sudo tune2fs -l / dev / sda10.
tune2fs 1.42.13 (17 de mayo de 2015) Nombre del volumen del sistema de archivos: último montaje en: / UUID del sistema de archivos: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b. Número mágico del sistema de archivos: 0xEF53. Revisión del sistema de archivos #: 1 (dinámico) Características del sistema de archivos: has_journal ext_attr resize_inode dir_index filetype needs_recovery extension flex_bg sparse_super large_file enorme_file uninit_bg dir_nlink extra_isize. Indicadores del sistema de archivos :igned_directory_hash Opciones de montaje predeterminadas: user_xattr acl. Estado del sistema de archivos: limpio. Comportamiento de errores: Continuar. Tipo de sistema operativo del sistema de archivos: Linux. Recuento de inodos: 21544960. Número de bloques: 86154752. Número de bloques reservados: 4307737. Bloques libres: 22387732. Inodos libres: 21026406. Primer bloque: 0. Tamaño del bloque: 4096. Tamaño del fragmento: 4096. Bloques GDT reservados: 1003. Bloques por grupo: 32768. Fragmentos por grupo: 32768. Inodos por grupo: 8192. Bloques de inodo por grupo: 512. Tamaño del grupo de bloques flexibles: 16. Sistema de archivos creado: dom 31 de julio 16:19:36 2016. Última hora de montaje: lun 6 de noviembre a las 10:25:28 de 2017. Hora de la última escritura: lunes 6 de noviembre a las 10:25:19 de 2017. Cantidad de monturas: 432. Número máximo de monturas: -1. Última comprobación: dom 31 de julio 16:19:36 2016. Intervalo de verificación: 0 () Escrituras de por vida: 2834 GB. Bloques reservados uid: 0 (usuario root) Bloques reservados gid: 0 (raíz del grupo) Primer inodo: 11. Tamaño de inodo: 256. Tamaño adicional requerido: 28. Tamaño extra deseado: 28. Inodo de diario: 8. Primer inodo huérfano: 6947324. Hash de directorio predeterminado: half_md4. Directory Hash Seed: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805. Copia de seguridad de diario: bloques de inodo.
A continuación, usando el -C
bandera, puede establecer el número de montajes después de los cuales el sistema de archivos será verificado por e2fsck. Este comando indica al sistema que ejecute e2fsck contra /dev/sda10
después de cada 4 montajes.
$ sudo tune2fs -c 4 / dev / sda10tune2fs 1.42.13 (17 de mayo de 2015) Estableciendo el recuento máximo de monturas en 4.
También puede definir el tiempo entre dos comprobaciones del sistema de archivos con el -I
opción. El siguiente comando establece un intervalo de 2 días entre comprobaciones del sistema de archivos.
$ sudo tune2fs -i 2d / dev / sda10tune2fs 1.42.13 (17 de mayo de 2015) Estableciendo el intervalo entre comprobaciones en 172800 segundos.
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.
Sistema de archivos creado: dom 31 de julio 16:19:36 2016. Última hora de montaje: lun 6 de noviembre a las 10:25:28 de 2017. Hora de la última escritura: lun 6 de noviembre 13:49:50 2017. Cantidad de monturas: 432. Cantidad máxima de monturas: 4. Última comprobación: dom 31 de julio 16:19:36 2016. Intervalo de verificación: 172800 (2 días)Próxima comprobación después del martes 2 de agosto de 2016 a las 16:19:36. Escrituras de por vida: 2834 GB. Bloques reservados uid: 0 (usuario root) Bloques reservados gid: 0 (raíz del grupo) Primer inodo: 11. Tamaño de inodo: 256. Tamaño adicional requerido: 28. Tamaño extra deseado: 28. Inodo de diario: 8. Primer inodo huérfano: 6947324. Hash de directorio predeterminado: half_md4. Directory Hash Seed: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805. Copia de seguridad de diario: bloques de inodo.
Para cambiar los parámetros predeterminados de registro en diario, utilice el -J
opción. Esta opción también tiene subopciones: size = tamaño de la revista (establece el tamaño de la revista), dispositivo = diario-externo (especifica el dispositivo en el que está almacenado) y location = journal-location (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 tamaño = 4MB / dev / sda10.
Por último, pero no menos importante, la etiqueta de volumen de un sistema de archivos se puede configurar utilizando el -L
opción como se muestra a continuación.
$ sudo tune2fs -L "ROOT" / dev / sda10.
debugfs es un depurador de sistemas de archivos ext2 / ext3 / ext4 simple e interactivo basado en la 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.
Por defecto, el sistema de archivos debe abrirse en modo lectura-escritura, use el -w
bandera para abrirlo en modo lectura-escritura. Para abrirlo en modo catastrófico, use el -C
opción.
debugfs 1.42.13 (17 de mayo de 2015) debugfs:? Solicitudes de depuración disponibles: show_debugfs_params, params Muestra los parámetros de depuración. open_filesys, abre Abre un sistema de archivos. close_filesys, cerrar Cierra el sistema de archivos. freefrag, e2freefrag Informar sobre la fragmentación del espacio libre. característica, características Establecer / imprimir características de superbloque. dirty_filesys, dirty Marca el sistema de archivos como sucio. init_filesys Inicializa un sistema de archivos (DESTRUYE DATOS) show_super_stats, stats Muestra las estadísticas del superbloque. nmarque Do inode-> name translation. icheck Do block-> traducción de inodo. change_root_directory, chroot ...
Para mostrar la fragmentación del espacio libre, utilice el freefrag solicitud, como tal.
debugfs: freefrag
Dispositivo: / dev / sda10. Tamaño de bloque: 4096 bytes. Bloques totales: 86154752. Bloques libres: 22387732 (26,0%) Mín. extensión libre: 4 KB Max. extensión libre: 2064256 KB. Promedio extensión libre: 2664 KB. Num. extensión libre: 33625 HISTOGRAMA DE TAMAÑOS DE EXTENSIÓN LIBRE: Rango de tamaño de extensión: Extensión libre Bloques libres Porcentaje 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 tantas 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, use el q
solicitar.
¡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.
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.