Comprobando el disco en busca de errores de Linux Mint. Comprobando un disco en busca de sectores defectuosos en Linux. Cómo comprobar si hay errores en un sistema de archivos de disco de Linux

por administrador

Veamos formas de verificar y diagnosticar el disco duro en sistemas Linux. La información sobre el funcionamiento del disco duro le ayudará a analizar el estado y, si es necesario, a reemplazar los medios defectuosos, evitando así fallos del sistema o pérdida de datos. Además, agregamos monitoreo de HDD inteligente a nuestro sistema de monitoreo zabbix.

Obtenemos una lista de unidades conectadas en el sistema.

Para determinar qué se monta y dónde, hagamos

Ver el espacio ocupado en una unidad en particular

Si hay una marcha suave, comprobémoslo con el siguiente comando

raíz@grande:~# gato /proc/mdstat
Alusiones personales:
md1: raid1 activo sdb3 sda3
965888832 bloques super 1.2

md0: raid1 activo sdb1 sda1
9756544 bloques súper 1.2
dispositivos no utilizados:
raíz@grande:~#

qué raid está instalado (ensamblado)
md0- nombre del dispositivo de incursión
sda sdb- dispositivos incluidos en esta incursión
- estado de los discos en la matriz RAID

Instalar los paquetes necesarios

aptitud instalar hdpparm sysstat smartmontools

Observamos el estado de la velocidad de lectura del disco.

Con ayuda iostato(como parte de sysstat) analizamos la carga en nuestros HDD

Observamos la salida de datos de todos los discos a intervalos de 10 segundos.

Puede definir la unidad a analizar agregando

Usando esta utilidad, determinaremos la carga en nuestros dispositivos, estadísticas de E/S y porcentaje de utilización.

CPU promedio: %usuario %lindo %sistema %ioespera %robar %inactivo
0,16 0,00 1,89 23,75 0,00 74,21

Comprobación del estado de las unidades

Primero, revisemos nuestro disco duro en busca de bloques defectuosos; si es necesario, selecciónelos y márquelos para ignorarlos.

bloques malos /dev/sda3 -sv > /root/badblockSDA3
Comprobación de bloques defectuosos (prueba de solo lectura): 27,93 % realizado, 36:12 transcurridos. (0/0/0 errores)

/dev/sda3- nombre del dispositivo que se está probando
s- mostrar información porcentual
v- habilitar el modo detallado
> /root/badblockSDA3- escribir sectores defectuosos en un archivo

Marcar bloques defectuosos (en el futuro, el sistema ignorará los bloques marcados):

e2fsck -l /root/badblockSDA3 /dev/sda3

Los bloques defectuosos están marcados y puedes trabajar con el disco.

¡¡¡ATENCIÓN!!! Esta operación debe realizarse en un medio desmontado o en modo de solo lectura.

¡¡¡ATENCIÓN!!! ¡El dispositivo probado y el dispositivo en el que se marcarán los bloques defectuosos deben ser el mismo!

Recibimos datos S.M.A.R.T sobre el funcionamiento del HDD

Donde /dev/sdX es el nombre del dispositivo que debe verificarse.
Obtendrá el resultado de los atributos SMART, cuyo significado está bien descrito en la wiki.

Monitoreo del estado INTELIGENTE de los discos duros en Zabbix

Para cada unidad verificamos el soporte SMART

root@big:~# smartctl -i /dev/sda |grep INTELIGENTE
La compatibilidad con SMART está: Disponible: el dispositivo tiene capacidad SMART.
El soporte SMART está: Habilitado
raíz@grande:~#

Si es compatible pero no está habilitado, habilítelo

smartctl -s en -S en -o en /dev/sda

comprobar el estado con el comando

smartctl -H /dev/sda |grep "prueba"| cortar -f2 -d: |tr -d " "

root@big:/etc/zabbix# smartctl -H /dev/sda |grep "prueba"| cortar -f2 -d: |tr -d " "
APROBADO
raíz@grande:/etc/zabbix#

En el archivo de configuración del agente zabbix, habilite la opción de verificación inteligente para el disco

UserParameter=HDD_smart.[*],sudo smartctl -H /dev/$1 |grep "prueba"| cortar -f2 -d: |tr -d " "

Dónde HDD_inteligente- clave para el elemento zabbix

V sudoers agregar una entrada

zabbix TODOS=NOPASSWD:/usr/sbin/smartctl

reinicie el agente sudo y zabbix.

Para estar seguros de que es correcto, iniciemos sesión como usuario de zabbix y verifiquemos la ejecución de nuestro comando.

root@big:/etc/zabbix# su - zabbix -s /bin/bash
Falta el directorio o es inaccesible, inicie sesión con HOME=/
zabbix@big:/$ sudo smartctl -H /dev/sda |grep "prueba"| cortar -f2 -d: |tr -d " "
APROBADO
zabbix@grande:/$

Creemos un agente zabbix en el servidor zabbix ( Activo) elemento de datos

Nombre- arbitrario
Tipo- Agente Zabbix (activo)
Llave- HDD_inteligente. - para el primer disco, para el segundo, respectivamente...
Tipo- Símbolo

Y después de un tiempo observamos los datos.

También tuve que afrontar este problema. Mi único amigo que ha instalado ubuntu como uno viejo portátil asus, y que a veces simplemente no quiere usar su cerebro, vino a mí con ese problema. El nuevo Ubuntu 12.10 está instalado en su computadora portátil y muy a menudo el sistema simplemente no quiere arrancar, apareciendo en una pantalla negra o congelándose sobre un fondo violeta. Pero recientemente comenzó a aparecer este mensaje, algo así como “El sistema operativo no pudo iniciarse. Seleccione la tecla deseada para realizar más acciones...” Y luego hay una descripción de lo que se debe presionar. No recuerdo exactamente qué teclas sugiere presionar el sistema, pero el significado es que para corregir errores automáticamente, presione tal o cual tecla, para la depuración manual otra, y para ignorar este mensaje se le pedirá que presione un tercer botón. La corrección automática de errores no condujo a nada y la carga del sistema operativo nunca llegó a su conclusión lógica. Entonces decidí probar el famoso equipo. fsck.

Primero debe iniciar desde una unidad flash USB de arranque con Ubuntu (Lubuntu, Xubuntu, Kubuntu, etc.) o desde disco de ubuntu CD en vivo. Ahora necesitamos averiguar qué partición de Ubuntu necesitamos escanear para reparar el sistema de archivos. Inicie Terminal (Ctrl-Alt-T) y ejecute el comando:

sudo fdisk -l

Este comando nos mostrará todos los discos y unidades flash que están montados en el sistema. Daré un ejemplo con mi computadora personal y no con la computadora portátil de un amigo. Esto es lo que obtuve:

ubuntu@ubuntu:~$ sudo fdisk -l

Disco /dev/sda: 640,1 GB, 640135028736 bytes
255 cabezas, 63 sectores/pista, 77825 cilindros, total 1250263728 sectores



Identificador de disco: 0x0009d6f7


/dev/sda1 * 2048 61442047 30720000 83 Linux
/dev/sda2 61442048 73730031 6143992 82 Intercambio de Linux/Solaris
/dev/sda3 73730048 1250263039 588266496 83 Linux

Disco /dev/sdb: 500,1 GB, 500107862016 bytes
255 cabezas, 63 sectores/pista, 60801 cilindros, total 976773168 sectores
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño del sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes/512 bytes
Identificador de disco: 0xb9ff6f01

Dispositivo Arranque Inicio Bloques finales Sistema de identificación
/dev/sdb1 * 16065 100197404 50090670 83 Linux
/dev/sdb2 105322201 976771071 435724435+ 5 Extendido
/dev/sdb3 100197405 105322139 2562367+ 82 Intercambio de Linux/Solaris
/dev/sdb5 105322203 832110591 363394194+ 7 HPFS/NTFS/exFAT
/dev/sdb6 832112640 860755218 14321289+ 83 Linux
/dev/sdb7 860758016 862613503 927744 82 Intercambio de Linux/Solaris
/dev/sdb8 862615552 976771071 57077760 83 Linux

Las entradas de la tabla de particiones no están en el orden del disco

Disco /dev/sdc: 8115 MB, 8115978240 bytes
250 cabezas, 62 sectores/pista, 1022 cilindros, total 15851520 sectores
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño del sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes/512 bytes
Identificador de disco: 0xc3072e18

Dispositivo Arranque Inicio Bloques finales Sistema de identificación
/dev/sdc1 * 32 15847625 7923797 b W95 FAT32

Como puede ver en la salida del comando sudo fdisk -l, Tengo 2 discos duros (sda) de 640 GB y (sdb) de 500 GB, así como una unidad flash (sdc) de 8 GB, desde la que realmente arranqué. Sé que mi sistema base con Ubuntu 12.04 está ubicado en el disco sda y la partición con el sistema operativo se llama sda1.

Ahora que conocemos la partición que necesita ser escaneada, podemos comenzar a verificarla. En la Terminal:

sudo fsck -y -f -c /dev/sda1

Si ve un error, lo más probable es que necesite desmontar esta partición:

sudo desmontar /dev/sda1

Teclas de comando y parámetros fsck:

y- responda siempre afirmativamente a todas las preguntas (existe una alternativa: tecla p - inicia la comprobación en modo totalmente automático);

F- verificación forzada del sistema de archivos (incluso si el sistema de archivos está marcado como completamente funcional)

C- busca bloques defectuosos y luego los marca en consecuencia

/dev/sda1- dispositivo o partición que necesita ser verificado. Aunque el equipo puede tener una apariencia diferente. Por ejemplo:

sudo fsck -p /dev/sda1

En este caso, solo se ha agregado el modificador -p. Acaba de leer sobre todas las claves de comando fsck y agregar exactamente las claves que necesita. Para conocer todas las capacidades del programa ingresa en la Terminal:

hombre fsck

Esto es lo que produjo la Terminal después de verificar:

ubuntu@ubuntu:~$ sudo fsck -y -f -c /dev/sda1
fsck de util-linux 2.20.1
e2fsck 1.42.5 (29 de julio de 2012)
Comprobación de bloques defectuosos (prueba de solo lectura): 0,00% completado, 0:00 transcurrido. (0/0/0 error hecho
/dev/sda1: Actualizando el inodo del bloque defectuoso.
Paso 1: Verificación de inodos, bloques y tamaños
Paso 2: comprobar la estructura del directorio
Paso 3: comprobar la conectividad del directorio
Paso 4: comprobar los recuentos de referencia
Paso 5: Verificación de la información resumida del grupo

Un disco duro defectuoso es uno de los fenómenos más desagradables en el funcionamiento de una computadora. No sólo podemos perder fácilmente una gran cantidad de información y archivos importantes, sino que reemplazar el disco duro pasa factura al presupuesto. Sumemos a esto la pérdida de tiempo y los nervios que, como sabemos, no se recuperan. Para no dejar que el problema nos tome por sorpresa y diagnosticarlo con antelación, conviene saber cómo comprobar si hay errores en el disco duro en el sistema operativo Ubuntu. Existen muchas herramientas de software que brindan dichos servicios.

Cómo probar en Ubuntu disco duro por errores.

No es necesario descargar programas para realizar una verificación de disco en Ubuntu. El sistema operativo ya cuenta con una utilidad diseñada para esta tarea. Se llama badblocks y se controla a través de la terminal.

Abra una terminal e ingrese:

Este comando muestra información sobre todos los discos duros que utiliza el sistema.

Luego de esto ingresamos:

sudo badblocks -sv /dev/sda

El comando ya se utiliza para buscar sectores dañados. En lugar de /dev/sda, ingrese el nombre de su unidad. Los modificadores -s y -v se utilizan para mostrar el progreso de la verificación de los bloques en el orden correcto y para proporcionar un informe sobre todas las acciones (v).

Pulsando Ctrl+C dejamos de comprobar el disco duro.

También puede utilizar otros dos comandos para monitorear el sistema de archivos.

Para desmontar sistema de archivos, ingresar:

Para comprobar y corregir errores:

sudo fsck -f -c /dev/sda

  • “-f” fuerza el proceso, es decir, lo ejecuta incluso si el disco duro está marcado como en buen estado;
  • "-c" busca y marca bloques defectuosos;
  • "-y" es un argumento de entrada adicional que responde inmediatamente Sí a todas las preguntas del sistema. En su lugar, puede ingresar "-p", se verificará automáticamente.

Programas

Adicional software también hace un excelente trabajo con esta función. Y a veces incluso mejor. Además, a algunos usuarios les resulta más fácil trabajar con una interfaz gráfica.

GParted es sólo para aquellos a quienes no les gusta una interfaz de texto. La utilidad realiza una gran cantidad de tareas relacionadas con el funcionamiento del disco duro en Ubuntu. Esto incluye verificar el disco en busca de errores.

Primero, necesitamos descargar e instalar GParted. Ingrese el siguiente comando para descargar desde los repositorios oficiales:

sudo apt-get instalar gparted

  1. Abra la aplicación. Todos los medios se muestran inmediatamente en la pantalla principal. Si alguno de ellos está marcado con un signo de exclamación, entonces algo anda mal.
  2. Haga clic en el disco que desea verificar.
  3. Haga clic en el botón “Sección” ubicado en la parte superior.
  4. Seleccione "Buscar errores".

El programa escaneará el disco. Dependiendo de su volumen, el proceso puede tardar más o menos. Después del escaneo se nos notificará de sus resultados.

Esta es una utilidad más compleja que realiza una verificación más seria del disco duro utilizando varios parámetros. Como resultado, también es más difícil de gestionar. GUI no proporcionado en Smartmontools.

Descarga el programa:

aptitud instalar smartmontools

Veamos qué unidades están conectadas a nuestro sistema. Debes prestar atención a las líneas que terminan en una letra, no en un número. Estas líneas contienen información sobre los discos.

ls -l/dev | grep -E 'sd|hd'

Ingrese el comando para generar información detallada sobre el transportista. Vale la pena mirar el parámetro ATA. El hecho es que al reemplazar un disco nativo, es mejor instalar un dispositivo con el mismo ATA o mayor. De esta manera podrás maximizar sus capacidades. Y también mira y recuerda los parámetros SMART.

smartctl –info /dev/sde

Comencemos la verificación. Si se admite SMART, agregue "-s". Si no es compatible o ya está habilitado, entonces este argumento se puede eliminar.

smartctl -s en -a /dev/sde

Después de eso, mire la información en LEER DATOS INTELIGENTES. El resultado puede tomar dos valores: PASADO o FALLADO. Si surge esto último, puedes empezar a hacer copias de seguridad y busque un disco duro de reemplazo.

Las capacidades del programa no terminan ahí. Pero para una comprobación única del disco duro, esto será suficiente.

copia segura

Éste ya es el tipo de programa ideal para utilizar en un barco que se hunde. Si somos conscientes de que algo anda mal con nuestro disco y pretendemos guardar tantos archivos supervivientes como sea posible, Safecopy vendrá al rescate. Su tarea es precisamente copiar datos de medios dañados. Además, extrae archivos incluso de bloques rotos.

Instalar SafeCopy:

sudo apto instalar copia segura

Transferimos archivos de un directorio a otro. Puedes elegir cualquier otro. En este caso, estamos transfiriendo datos desde la unidad sda a la carpeta de inicio.

sudo copia segura /dev/sda /home/

Bloques malos

Algunos pueden tener preguntas: "¿qué son estos bloques rotos y de dónde vienen en mi HDD si nunca los he tocado?" Los bloques defectuosos, o sectores defectuosos, son secciones del disco duro que ya no se pueden leer. En cualquier caso, así fueron marcados por el sistema de archivos por razones objetivas. Y lo más probable es que realmente haya algún problema con el disco en estos lugares. Los "malos" se encuentran tanto en los discos duros antiguos como en los más modernos, ya que funcionan con casi las mismas tecnologías.

Los sectores malos aparecen por varias razones.

  • Grabación interrumpida debido a un corte de energía. Toda la información que ingresa al disco duro se descompone en forma de unos y ceros en sus distintas partes. Interrumpir este proceso significa confundir enormemente el disco duro.
  • Montaje de mala calidad. No hay nada que decir aquí. Con un dispositivo chino barato, cualquier cosa puede volar.

Ahora ya sabe cómo escanear su disco duro en busca de errores. Comprobar el disco, tanto en Ubuntu como en otros sistemas, es una operación bastante importante que conviene realizar al menos una vez al año.

Si, durante el arranque, el sistema operativo informa que hay errores en el sistema de archivos en una de las particiones, debe verificar inmediatamente los discos y corregir los errores del sistema de archivos.

Cualquier usuario que se precie no debe olvidar que comprobar periódicamente los discos duros en busca de sectores defectuosos y comprobar los discos en busca de errores es un ejemplo de sentido común.

¡Importante! Lanzamiento y ejecución FSCK en un sistema de archivos montado puede causar corrupción de datos, por lo queUtilice este material bajo su propia responsabilidad. El autor no se hace responsable de los daños que pueda causar.

Para protegerse es necesario:

  • Cambie al modo de usuario único y desmonte el sistema de archivos
  • Inicie su computadora en modo de recuperación usando el CD de instalación

Entonces, debe verificar los discos y corregir los errores del sistema de archivos, comencemos.

1) Modo de usuario único

Cambie el nivel de inicialización y desmontar el sistema de archivos:

# inicio 1
# desmontar /home

Buscar particiones conectadas:

#fsck /dev/sda1

2) Modo de recuperación desde el CD de instalación

Inserte el CD de instalación en la unidad y reinicie el sistema:

Espere un momento y después de iniciar desde el CD de instalación, ejecute el comando:

# rescate de Linux sin montar

La directiva NOMOUNT deshabilitará el montaje, por lo que puede utilizar FSCK de forma segura.

Después de esto, ejecute FSCK en la partición con errores:

# fsck -yvf /dev/sda1

LVM (Administrador de volúmenes lógicos)

La situación con LVM (Administrador de volúmenes lógicos) Las secciones son un poco más complicadas. Para empezar FSCK Para LVM Primero se deben encontrar las particiones. PV (volumen físico), VG (grupo de volúmenes), LV (extensión lógica) y activarlos, para ello ejecute los siguientes comandos en secuencia:

#lvm pvscan
#lvmvgscan
# lvm lvchange -ay VolGroup00
# lvm lvscan

# fsck -yfv /dev/VolGroup00/LogVol00

Tras la ejecución, FSCK devolverá el resultado en forma de código, este código es un número único que representa la suma de los siguientes valores:

0 - Sin errores;
1 - Errores del sistema de archivos corregidos;
2 - El sistema debe reiniciarse;
4 - Errores del sistema de archivos que no se corrigen;
8 - Error operativo;
16 - Error de uso o sintaxis;
32 - Fsck cancelado por solicitud del usuario;
128: error de biblioteca compartida.

Cualquier computadora es un dispositivo complejo que consta de muchos componentes y nadie está inmune a fallas en alguno de ellos. En este artículo, veremos cómo reconocer rápidamente uno de los problemas graves con los dispositivos de almacenamiento de información, ya sea un disco duro o una unidad flash, y cómo se verifica si un disco tiene sectores defectuosos en Linux.

Cualquier unidad consta de muchos bloques pequeños (sectores) que almacenan información en forma de ceros o unos (bits). Si por alguna razón el sistema operativo no puede escribir un poco de información en un sector determinado, entonces se puede considerar "roto".

Un sector puede resultar dañado por varios motivos:

  • Defectos de fabricación
  • Apague la computadora mientras graba información.
  • Desgaste físico del disco.

Se encuentra una pequeña cantidad de sectores defectuosos en casi cualquier disco. Pero vale la pena prestar atención si su número aumenta con el tiempo. Esto puede indicar la inminente muerte física de la unidad y es hora de pensar en reemplazarla.

Veamos qué utilidades de Linux podemos usar para verificar si un disco tiene sectores de Linux defectuosos.

Comprobando la unidad en busca de sectores defectuosos utilizando badblocks.

Badblocks es una utilidad estándar de Linux para comprobar si hay sectores defectuosos. Se instala por defecto en casi cualquier distribución y se puede utilizar para comprobar tanto un disco duro como un disco externo.

Primero, veamos qué unidades están conectadas a nuestro sistema y qué particiones tienen. Para hacer esto, necesitamos otra utilidad estándar de Linux: fdisk.

Naturalmente, debes ejecutar comandos con derechos de superusuario:

Parámetro -l Le decimos a fdisk que necesitamos mostrar la lista de particiones y salir.

Ahora que sabemos qué particiones tenemos, podemos comprobar si hay sectores defectuosos. Para ello utilizaremos la utilidad badblocks de la siguiente manera:

$ sudo badblocks -v /dev/sda1 > badsectors.txt

Para comprobarlo, especificamos los siguientes parámetros:

  • -v— salida detallada de información sobre los resultados de la prueba.
  • /dev/sda1- la sección que queremos comprobar en busca de sectores defectuosos.
  • > sectores malos.txt— envía el resultado del comando al archivo badsectors.txt.

Si como resultado se encontraron sectores defectuosos, entonces debemos dar instrucciones. Sistema operativo no registre información en ellos en el futuro. Para hacer esto, necesitamos utilidades de Linux para trabajar con sistemas de archivos:

  • e2fsck. Si arreglamos una partición con sistemas de archivos Linux (ext2,ext3,ext4).
  • fsk. Si parcheamos un sistema de archivos que no sea ext.

Ingrese los siguientes comandos:

$ sudo e2fsck -l badsectors.txt /dev/sda1

O, si nuestro sistema de archivos no es ext:

$ sudo fsck -l badsectors.txt /dev/sda1

Parámetro -l Le decimos a la utilidad que use la lista de sectores defectuosos del archivo badsectors.txt, que obtuvimos anteriormente al verificar con la utilidad badblocks.

Comprobación de una unidad en busca de sectores defectuosos en Linux en smartmontools

Ahora veamos una forma más moderna y confiable de verificar si un disco tiene sectores de Linux defectuosos. Las unidades ATA/SATA, SCSI/SAS y SSD modernas tienen un sistema de autocontrol incorporado S.M.A.R.T (Tecnología de autocontrol, análisis e informes, Tecnología de autocontrol, análisis e informes), que monitorea los parámetros del variador y ayudará a determinar el deterioro de los parámetros del variador en las primeras etapas. Para trabajar con S.M.A.R.T en Linux existe una utilidad smartmontools.

Instalémoslo primero. Si su distribución está basada en Debian\Ubuntu, entonces ingrese:

$ sudo apto instalar smartmontools

Si tiene una distribución basada en RHEL\CentOS, ingrese:

$sudo mmm instalar herramientas inteligentes


Arriba