Si recibes una notificación sobre un fallo en el disco duro o detectas anomalías en el sistema, es necesario actuar con rapidez para restablecer la redundancia de tu matriz RAID. En este artículo aprenderás cómo identificar un disco duro defectuoso en un Servidor Dedicado Linux o un Servidor Bare Metal Linux con software RAID, y cómo preparar el servidor para la sustitución del disco defectuoso.

Notas

  • Este artículo presupone conocimientos básicos de administración de servidores con Linux. Si tienes alguna pregunta sobre el reemplazo de un disco duro defectuoso o necesitas ayuda, ponte en contacto con IONOS: Atención al Cliente

  • Los ejemplos mostrados en este artículo se refieren principalmente a discos duros SATA/SAS tradicionales en configuraciones de software RAID con nombres de dispositivo como /dev/sda y /dev/sdb. En el caso de las NVMe, los nombres de dispositivo, las herramientas de diagnóstico y, según la configuración, también los pasos individuales pueden variar.

Para garantizar la máxima disponibilidad, es necesario que supervises el software RAID de tu servidor. Si recibes un correo electrónico de notificación sobre un disco duro defectuoso o detectas un fallo en un disco duro, debes identificar el disco duro defectuoso y preparar el servidor para la sustitución del soporte de datos defectuoso. A continuación, ponte en contacto con Atención al Cliente para solicitar el cambio del disco duro.

Advertencia

Los sistemas RAID permiten obtener una mayor disponibilidad y/o una mayor velocidad. Sin embargo, no sustituyen a las copias de seguridad periódicas. Para evitar la pérdida de datos, te recomendamos crear una copia de seguridad con regularidad. Asegúrate también de crear una copia de seguridad antes de realizar los pasos descritos a continuación para garantizar la seguridad de tus datos.

Encontrarás más información sobre la creación de copias de seguridad en el siguiente índice de nuestro Centro de Ayuda: soluciones de backup
 

Comprobar el estado del software RAID

Interpretación de los resultados

RAID intacto: un RAID que funciona correctamente se indica mediante el estado [UU] (en RAID 1) o [UUUU] (en RAID 5/6 con 4 discos duros). Cada «U» significa «Up» (operativo).

Dispositivo defectuoso o ausente: un [_U] o [U_] indica que falta un disco duro o que no está sincronizado.

Marca de fallo: una (F) detrás de un dispositivo (p. ej.: sdb1[2](F)) significa que el sistema ya ha marcado el disco como defectuoso («faulty») a nivel de software.

En configuraciones con 2 SSD (sistema operativo) y discos duros adicionales (datos), verás varios dispositivos md:

  • md1, md2, md127 o similares (a menudo RAID 1 para el arranque/raíz)
  • md11 o similares (a menudo RAID 5 o 6 para datos)

Comprueba todas las secciones de la salida para ver si faltan marcas «Us» o «(F)». Aquí tienes un ejemplo de un RAID intacto:

[root@localhost ~]# cat /proc/mdstat

Personalities : [raid1]
read_ahead 1024 sectors
md2 : active raid1 sda3[1] sdb3[0]
262016 blocks [2/2] [UU]

md1 : active raid1 sda2[1] sdb2[0]
119684160 blocks [2/2] [UU]

md0 : active raid1 sda1[1] sdb1[0]
102208 blocks [2/2] [UU]

unused devices: <none>

El ejemplo anterior muestra tres dispositivos múltiples o matrices RAID (md0, md1, md2). Para cada una de estas unidades lógicas se indica de qué particiones se compone y en qué unidades se encuentran dichas particiones. La unidad lógica md0 está compuesta por las particiones sda1 y sdb1. En la línea que aparece debajo de cada unidad lógica, al final de la misma, entre corchetes, se muestra el estado de cada una de las particiones.

Si falta un disco duro o está defectuoso, esto suele indicarse con un [_U] o un [U_]. Una (F) detrás de una partición (p. ej.: sdb3[2] (F)) significa que se ha marcado como «faulty» (defectuosa).

En el siguiente ejemplo, todas las unidades lógicas tienen montada una única partición, que se encuentra en el disco duro sda. La partición correspondiente, que se encuentra en el segundo disco duro sdb, no está montada. Esto también se puede reconocer por la entrada [_U]. Las particiones no montadas del disco duro sdb indican que dicho disco duro presenta un error o un fallo.

[root@localhost ~]# cat /proc/mdstat

Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 sda1[1]
102208 blocks [2/1] [_U]

md1 : active raid1 sda2[1]
119684160 blocks [2/1] [_U]

md2 : active raid1 sda3[1]
262016 blocks [2/1] [_U]

unused devices: <none>

En el siguiente ejemplo, un disco duro defectuoso sigue integrado en la matriz RAID. Esto se puede apreciar por la información (F) que se muestra junto a md1.

[root@localhost ~]# cat /proc/mdstat

Personalities : [raid1]
md3 : active raid1 sda3[0] sdb3[2](F)
439553856 blocks super 1.0 [2/1] [U_]
bitmap: 1/4 pages [4KB], 65536KB chunk

md1 : active raid1 sdb1[2](F) sda1[0]
19529600 blocks super 1.0 [2/1] [U_]

unused devices: <none>

Diagnóstico de errores en los discos duros

Para detectar errores en los discos duros, te recomendamos proceder de la siguiente manera:

Instala smartctl. smartctl, un programa de línea de comandos para monitorizar los soportes de datos mediante SMART (Self-Monitoring, Analysis and Reporting Technology). Con este programa puedes comprobar si un disco duro está defectuoso. Forma parte del conjunto de herramientas Smartmontools, las cuales están disponibles como paquetes para muchas distribuciones de Linux. Encontrarás más información en la siguiente página: Paquetes de Smartmontools

Nota

En algunos casos, puede ocurrir que no se detecte un fallo en el disco duro mediante los valores SMART. Por ello, te recomendamos analizar además el archivo de registro /var/log/messages.

Instalar Smartctl

El comando de instalación varía en función del sistema operativo que utilices. Ejecuta el comando adecuado para tu distribución:

  • Para instalar smartctl, inicia sesión en el servidor como persona administradora.

  • Instala los paquetes necesarios según su distribución:

    AlmaLinux 9 y 10, así como Rocky Linux 9 y 10:

    dnf install smartmontools

    Debian 12 y 13, así como Ubuntu 24.04 y 26.04:

    sudo apt-get install smartmontools

 
Consultar la información del disco duro

Para ver una lista de los discos duros, introduce el siguiente comando:

smartctl --scan

Por ejemplo:

[root@localhost ~]# smartctl --scan

/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device

Para obtener información detallada que te ayude a diagnosticar el fallo, introduce el siguiente comando:

smartctl -iHAl error [NOMBRE DEL DISCO DURO]

Notas

  • Las interfaces de los dispositivos deben indicarse en el siguiente formato:

    Dispositivos SCSI / SATA:

    smartctl -iHAl error /dev/sd[a-z]

    Por ejemplo:

    [root@localhost ~] # smartctl -iHAl error /dev/sda

  • Los dispositivos NVMe utilizan denominaciones diferentes, por ejemplo, /dev/nvme0 o /dev/nvme0n1, y, dependiendo de la consulta, requieren herramientas distintas o complementarias.

Tras introducir el comando, se muestra, por ejemplo, la siguiente información:


			[root@localhost ~]# smartctl -iHAl error /dev/sda
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-3.10.0-862.14.4.el7.x86_64] (local build)
Copyright (C) 2002–16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     HGST HUS722T1TALA604
Serial Number:    WMC6N0K2RW66
LU WWN Device Id: 5 0014ee 004722db0
Firmware Version: RAGNWA07
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        Not in the smartctl database [for details, use: -P showall]
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Fri 3 May 07:45:14 2019 UTC
SMART support is: Available – the device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART Attributes Data Structure revision number: 16
Vendor-specific SMART attributes with thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED     WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always      0
  3 Spin_Up_Time            0x0027   183   183   021    Pre-fail  Always      3833
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always      9
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always      0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always      0
  9 Power_On_Hours          0x0032   097   097   000    Old_age   Always      2560
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always      0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always      0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always      9
 16 Unknown_Attribute       0x0022   000   200   000    Old_age   Always      26802171994
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always      0
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always      4
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always      67
194 Temperature_Celsius     0x0022   116   111   000    Old_age   Always      31
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always      0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always      0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline     0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always      0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline     0

SMART Error Log Version: 1
No Errors Logged
		

Interpretación de los parámetros y diagnóstico de errores

Analiza la información detallada que has obtenido mediante el comando
smartctl -iHAl error [NOMBRE DEL DISCO DURO]

En la primera sección se muestra información que te permitirá identificar el disco duro:


			=== START OF INFORMATION SECTION ===
Device Model:     HGST HUS722T1TALA604
Serial Number:    WMC6N0K2RW66
LU WWN Device Id: 5 0014ee 004722db0
Firmware Version: RAGNWA07
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        Not in the smartctl database [for details, use: -P showall]
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Fri 3 May 07:45:14 2019 UTC
SMART support is: Available – device has SMART capability.
SMART support is: Enabled
		

En esta sección se muestran, entre otros datos, el modelo del dispositivo y el número de serie del disco duro comprobado.

En la segunda sección, Smartctl evalúa el estado actual del disco duro. Si en lugar del valor «PASSED», aparecen «Failed» o «UNKNOWN», debes solicitar la sustitución del disco duro en cuestión lo antes posible.


			=== START OF READ SMART DATA SECTION ===
SMART overall health self-assessment test result: PASSED
		

En la tercera sección se detallan los VALORES SMART calculados. Junto a cada valor porcentual actual (VALUE), se indican el peor valor jamás registrado (WORST) yel valor límite correspondiente (THRESH). Si el valor porcentual actual (VALUE) o el peor valor jamás registrado (WORST) supera el valor umbral (THRESH), se muestra una advertencia SMART en la columna WHEN_FAILED (por ejemplo, FAILING_NOW).


			SMART Attributes Data Structure revision number: 16
Vendor-specific SMART attributes with thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED     WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always      0
  3 Spin_Up_Time            0x0027   183   183   021    Pre-fail  Always      3833
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always      9
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always      0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always      0
  9 Power_On_Hours          0x0032   097   097   000    Old_age   Always      2560
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always      0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always      0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always      9
 16 Unknown_Attribute       0x0022   000   200   000    Old_age   Always      26802171994
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always      0
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always      4
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always      67
194 Temperature_Celsius     0x0022   116   111   000    Old_age   Always      31
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always      0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always      0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline     0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always      0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline     0
		

Los siguientes parámetros pueden indicar un fallo inminente del disco duro antes de que aparezca una advertencia SMART:

Reallocated_Sector_Ct: este parámetro indica el número de sectores que ya se han reasignado debido a errores de lectura. Cuando un sector ya no se puede leer, escribir o comprobar correctamente, el controlador le asigna automáticamente un sector de sustitución procedente de la zona de reserva del disco duro. El sector original defectuoso se marca de forma permanente como defectuoso y deja de utilizarse.

Nota

Un valor superior a cero no es necesariamente motivo de preocupación, siempre que se mantenga estable durante un período prolongado. Sin embargo, un indicador crítico de un fallo inminente del disco duro es un número cada vez mayor de sectores reasignados. Por lo tanto, para detectar un defecto a tiempo, debes registrar este valor periódicamente y, en caso de que se produzca un aumento continuo, solicitar inmediatamente la sustitución del disco.

Current_Pending_Sector: indica el número de sectores inestables que están a la espera de un remapeo (Remapping). Cuando un sector no se puede leer ni escribir correctamente, se le asigna inicialmente el estado Current_Pending_Sector. En este estado, el sector no se reasigna, ya que se desconocen los datos que contiene. Solo tras varios intentos fallidos de lectura o escritura se asigna un sector de sustitución y el sector defectuoso se marca de forma permanente como ilegible. El valor Current_Pending_Sector es un indicador importante de que es necesario sustituir el disco duro. Si este valor es distinto de cero, a menudo significa que el disco duro está a punto de fallar.

Offline_Uncorrectable: indica el número de errores no corregibles durante el acceso de lectura y escritura a los sectores.

La última sección se refiere al registro interno del disco duro. Aquí se registran los errores cuando el disco duro no ha procesado correctamente las tareas del servidor. Si en esta sección se muestra un número de errores de al menos dos dígitos, debes solicitar la sustitución del disco duro lo antes posible.

SMART Error Log Version: 1
No Errors Logged

Consultar información detallada sobre la sustitución del disco duro

Para poder tramitar la sustitución del disco duro defectuoso, se necesita la siguiente información:

  • Denominación del disco duro en el RAID (p. ej.: sda)

  • Número de serie

  • Modelo

  • Archivo de registro (opcional)

Crear un registro SMART

Para generar un registro SMART completo, introduce el siguiente comando:

smartctl -x [NOMBRE DEL DISCO DURO]

Por ejemplo:

[root@localhost ~]# smartctl -x /dev/sda

Si ya no es posible acceder al disco duro mediante smartctl, puedes obtener la información necesaria con el programa hdparm. Para instalar hdparm:

AlmaLinux 9 y AlmaLinux 10, Rocky Linux 9 y Rocky Linux 10

dnf -y install hdparm

Debian 12 y 13, así como Ubuntu 24.04 y 26.04:

sudo apt-get update
sudo apt-get install hdparm

A continuación, introduce el siguiente comando para obtener la información necesaria para el cambio de disco duro:

hdparm -i /dev/sda

Notas

  • Si el registro SMART se ha creado tal y como se describe anteriormente, esta información es suficiente. A continuación, puedes solicitar la sustitución del disco duro defectuoso. Para ello, ponte en contacto con nuestro equipo de Atención al Cliente.

  • Si no puedes consultar el número de serie del disco duro defectuoso mediante smartctl, también puedes facilitar al equipo de Atención al Cliente el número de serie del disco o discos duros que funcionan correctamente.

  • hdparm es adecuado principalmente para discos duros SATA/ATA clásicos y no es compatible con dispositivos NVMe. Si en tu sistema se utilizan unidades NVMe, la información necesaria sobre los dispositivos no se puede obtener con hdparm, sino que, por lo general, se debe utilizar herramientas NVMe específicas de la distribución, como nvme-cli. No obstante, este artículo describe la sustitución de discos duros clásicos en configuraciones RAID por software con nombres de dispositivos como /dev/sda y /dev/sdb.

Preparar el servidor para la sustitución del disco duro

En el siguiente ejemplo se supone que hay que sustituir el segundo disco duro (sdb). Durante la comprobación del estado, se muestra, por ejemplo, el siguiente estado del RAID de software:

[root@localhost ~]# cat /proc/mdstat

Personalities : [raid1]
md3 : active raid1 sda3[0] sdb3[2]
      439553856 blocks super 1.0 [2/1] [UU]

md1 : active raid1 sdb1[2] sda1[0]
      19529600 blocks super 1.0 [2/1] [UU]

unused devices: <none>

En este ejemplo, el segundo disco duro (sdb) sigue integrado en el RAID y, por lo tanto, sigue en funcionamiento.

Marcar manualmente el dispositivo RAID como «faulty» para eliminarlo del RAID

Para eliminar el disco duro defectuoso de la matriz RAID, márcalo como «faulty». Para ello, introduce el siguiente comando:

[root@localhost ~]# mdadm RUTA_DEL_ARRAY_RAID -f RUTA_DEL_DISCO_DURO

En los ejemplos que se muestran a continuación, se marcan como «faulty» los discos duros sdb3 y sdb1, respectivamente:

[root@localhost ~]# mdadm /dev/md3 -f /dev/sdb3
mdadm: set /dev/sdb3 faulty in /dev/md3

[root@localhost ~]# mdadm /dev/md1 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md1

Tras introducir el comando, el RAID presenta el siguiente estado:

[root@localhost ~]# cat /proc/mdstat

Personalities : [raid1]
md3 : active raid1 sda3[0] sdb3[2](F)
      439553856 blocks super 1.0 [2/1] [U_]

md1 : active raid1 sdb1[2](F) sda1[0]
      19529600 blocks super 1.0 [2/1] [U_]

unused devices: <none>

Eliminar una partición del RAID

Para eliminar una partición del RAID, introduce el siguiente comando:

[root@localhost ~]# mdadm -r /RUTA_DEL_ARRAY_RAID /RUTA_DEL_DISCO

En los ejemplos que se muestran a continuación, se eliminan los discos duros sdb3 y sdb1 de los RAID md3 y md1, respectivamente:

[root@localhost ~]# mdadm -r/dev/md3 /dev/sdb3
mdadm: se ha eliminado en caliente /dev/sdb3 de /dev/md3

[root@localhost ~]# mdadm -r /dev/md1 /dev/sdb1
mdadm: se ha eliminado en caliente /dev/sdb1 de /dev/md1

A continuación, comprueba el estado del RAID. En este ejemplo, el RAID que se ha preparado para la sustitución de discos duros presenta el siguiente estado final:

[root@localhost ~]# cat /proc/mdstat

Personalities : [raid1] 
md3 : active raid1 sda3[0]
      439553856 blocks super 1.0 [2/1] [U_]

md1 : active raid1 sda1[0]
      19529600 blocks super 1.0 [2/1] [U_]

unused devices: <none>

Comprobar las particiones de swap utilizadas

Comprueba qué particiones de intercambio utiliza el sistema operativo. Para ello, introduce el siguiente comando:

[root@localhost ~]# cat /proc/swaps

Filename                Type        Size      Used   Priority
/dev/sda2               partition   9765884    0    -1
/dev/sdb2               partition   9765884    0    -2

Como alternativa, puedes comprobar qué particiones de swap están definidas en fstab introduciendo el siguiente comando:

[root@localhost ~]# grep swap /etc/fstab
/dev/sda2 none swap sw 
/dev/sdb2 none swap sw

Desactivar la partición de swap en el dispositivo defectuoso

Desactiva la partición de swap del disco duro defectuoso para que pueda ser sustituido. Para ello, introduce el siguiente comando:

[root@localhost ~]# swapoff RUTA_DE_LA_PARTICIÓN

Por ejemplo:

[root@localhost ~]# swapoff /dev/sdb2

Nota

Si no se desactiva la partición de intercambio del disco duro defectuoso y se sustituye dicho disco, la partición de intercambio aparecerá con el estado «deleted» en /proc/swaps.

Solicitar la sustitución del disco duro

Ahora ya puede solicitar la sustitución del disco duro defectuoso. Para ello, póngase en contacto con Atención al Cliente. Encontrará los datos de contacto en la siguiente página: Atención al Cliente

Pasos necesarios tras la sustitución del disco duro

Tras sustituir el disco duro defectuoso, es necesario que reconstruya el RAID de software. Encontrarás más información sobre cómo reconstruir un RAID de software en el siguiente artículo: reconstruir un RAID de software (Linux)