Los discos fallan, siendo la media de vida aceptada por la industria, para los discos giratorios o HDD, de unos 6 años. Normalmente no fallan de forma súbita, sino que empiezan a dar diferentes síntomas de no estar en estado óptimo.
No voy a entrar de lleno en esto porque daría para mucho (puede darse el típico «click» que indica un problema en la pinza, fallos catastróficos en la controladora, fallos del software del sistema operativo que ni siquiera sean del disco…) pero podemos decir que un síntoma muy común es la reubicación de sectores (sector reallocation) por parte del sistema operativo, si es que este tiene tal capacidad.
El setor de un disco es la unidad de información más pequeña con la que este puede trabajar. Un sector de disco tiene tradicionalmente 512 bytes de tamaño, aunque ciertos discos aceptan 4096 bytes. Un bloque es un conjunto de sectores, que pueden contener información de forma contigua, su tamaño es variable.
Un sector o bloque defectuoso es una sección o conjunto de secciones del disco que no pueden ya ser utilizadas porque dan fallo al leerse o escribirse por la controladora. Puede ser un fallo a nivel de transistores o un pequeño daño producido en la superficie del disco.
Normalmente, hasta que no tenemos un mínimo de 4 o más bloques reasignados (esto es, descartados por el disco para su uso futuro) no podemos ejecutar la garantía del mismo, ni tampoco deberíamos necesariamente preocuparnos, aunque sí hacer un seguimiento para reaccionar ante una degradación mayor.
En caso de no tomar medidas, eventualmente podrían reproducirse más fallos en sectores de disco, llevando a su vez a destrucción de información o incluso incapacidad de usar el disco en absoluto.
Usando Badblocks para encontrar sectores o bloques defectuosos
Un programa como badblocks nos permite analizar un dispositivo de almacenamiento en buca de sectores o bloques dañados. Puede ser una memoria o disco externo, o interno.
Para localizar nuestro disco, antes podemos utilizar la herramienta fdisk.
- sudo fdisk -l
Ahora que tenemos claro qué disco interesa, lanzaremos el comando para analizar el disco y volcar los resultados en un archivo, además podemos lanzarlo de forma no interactiva con &. y en varios discos al mismos tiempo. O podemos usar | tee para que el listado se muestre a la vez por pantalla.
sudo badblocks /dev/sdb -v > badblocks.txt &
Esta comprobación demora mucho tiempo en discos grandes. En mi caso tengo entre manos un disco por el que hay que preocuparse, ya que presenta varias decenas de sectores marcados como inutilizables.
Veremos un resultado final, con el recuento de sectores dañados.
Pass completed, 3213 bad blocks found. (3213/0/0 errors)
¿Qué hacer si encontramos sectores defectuosos?
Con nuestro detalle de sectores guardado, lo que haremos ahora es desmontar (umount) el dispositivo de disco y decirle al sistema que no se deben utilizar en adelante.
Para ello usaremos la herramienta correcta según nuestro sistema de archivos dentro del disco.
Tipos de filesystem y herramienta necesaria
Es decir, para un sistema de archivos diferente a ext*.
sudo fsck -l hddcomprobado.txt /dev/sdb1
Mientras que para el caso contrario.
-
sudo e2fsck -l hddcomprobado.txt /dev/sdb1
Con la opción -l, le estamos diciendo a la utilidad que tome como referencia de sectores aquellos contenidos en el archivo de texto referido.
Otra opción es lanzar el siguiente comando:
sudo e2fsck -cfpv /dev/<dispositivo>
Este comando tiene la siguiente función. Requiere de un sistema basado en extN.
- C busca sectores defectuosos y los añade a la lista
- F fuerza un chequeo del sistema de archivos
- P reparará los sectores si puede hacerse con seguridad
- V es modo «verbose» para ver el progreso del comando
Aislar sectores defectuosos de disco
Si lo que deseamos es aislar -marcar como no utilizables- aquellos sectores del disco identificados como dañados, también se puede utilizar la utilidad fsck.
Es recomendable utilizarla en conjunto con badblocks, para realizar un análisis preventivo de fallos en unidades de almacenamiento en equipos Linux. Antes de continuar, si el dispositivo está montado, lo desmontaremos.
sudo umount /dev/<dispositivo>
Ahora, desde el terminal, lanzaremos este comando:
sudo fsck -cfvr /dev/<dispositivo>
Sintaxis
- C para comprobar los bloques de disco
- F para forzar el chequeo
- V para mostrar más información
- R para modo interactivo (espera a nuestra respuesta)
Para acabar, quisiera recordarte de que debes tener un sistema de copias de seguridad fiable (probado) y sustituir el disco cuando tengas más que unos pocos sectores afectados.
Si tienes cualquier duda me la puedes dejar en los comentarios e intentaré resolvértela lo antes posible. También decirte que he creado los ranking más completos sobre los mejores antivirus gratis del mercado, y, por si quieres la protección más completa, también tengo rankings de sus versiones premium. ¡Cuídate!.
Descubre el mejor antivirus para 2024
Accede a nuestro comparador gratuito y encuentra el antivirus que mejor se adapte a lo que necesitas y con mejor valoración de los expertos.
Ir al comparador