Diagnóstico y sustitución de un disco duro defectuoso (Servidor Dedicado o Bare Metal Linux con software RAID)
Artículo traducido por máquina
Este texto es una traducción automática. Está prevista una versión revisada.
Utilice la función «Imprimir» al final de la página para crear un PDF.
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.
Nota
Este artículo requiere conocimientos básicos de administración de servidores Linux. Si tienes preguntas sobre la sustitución de un disco duro defectuoso o necesitas ayuda, ponte en contacto con Atención al Cliente. Encontrarás la información de contacto en la siguiente página: Atención al Cliente
Para garantizar la máxima disponibilidad frente a fallos, es necesario que monitorices 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 afectado. A continuación, ponte en contacto con Atención al Cliente para tramitar el cambio del disco duro.
Advertencia
Los sistemas RAID permiten una mayor disponibilidad frente a fallos 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. Asimismo, asegúrate de crear una copia de seguridad antes de ejecutar los pasos que se indican 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
Establece una conexión SSH con tu servidor e inicia sesión en él con tu cuenta de root. Encontrarás las instrucciones correspondientes en los siguientes artículos:
Establecer una conexión SSH con tu servidor Linux desde un ordenador con Microsoft Windows
Establecer una conexión SSH con tu servidor Linux desde un ordenador con LinuxPara comprobar el estado del RAID de software, introduce el siguiente comando en el shell:
cat /proc/mdstat
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 de disco duro
Para detectar errores de disco duro, te recomendamos proceder de la siguiente manera:
Instala el programa smartctl. smartctl, que se trata de un programa de línea de comandos que permite monitorizar discos mediante la tecnología SMART (Self-Monitoring, Analysis and Reporting Technology). Con este programa podrás comprobar si un disco duro está defectuoso. Forma parte de Smartmontools. Esta herramienta está disponible en forma de paquetes para numerosas 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 pueda detectar un fallo de disco duro mediante los valores SMART. Por ello, te recomendamos analizar adicionalmente 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]
Nota
Las interfaces de los dispositivos deben indicarse en el siguiente formato:
Dispositivos SCSI / SATA:
smartctl -iHAl error /dev/sd[a-z]
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 7 de mayo de 2016 r4318 [x86_64-linux-3.10.0-862.14.4.el7.x86_64] (compilación local)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== INICIO DE LA SECCIÓN DE INFORMACIÓN ===
Modelo del dispositivo: HGST HUS722T1TALA604
Número de serie: WMC6N0K2RW66
Identificador de dispositivo LU WWN: 5 0014ee 004722db0
Versión de firmware: RAGNWA07
Capacidad útil: 1 000 204 886 016 bytes [1,00 TB]
Tamaño del sector: 512 bytes lógicos/físicos
Velocidad de rotación: 7200 rpm
Formato: 3,5 pulgadas
El dispositivo: no figura en la base de datos de smartctl [para más detalles, utiliza: -P showall]
La versión ATA es: ACS-3 T13/2161-D revisión 5
La versión SATA es: SATA 3.1, 6,0 Gb/s (actual: 6,0 Gb/s)
La hora local es: viernes, 3 de mayo, 07:45:14 de 2019 UTC
Compatibilidad con SMART: Disponible; el dispositivo cuenta con capacidad SMART.
Compatibilidad con SMART: Activada
=== INICIO DE LA SECCIÓN DE DATOS SMART DE LECTURA ===
Resultado de la prueba de autoevaluación del estado general de SMART: APROBADO
Número de revisión de la estructura de datos de los atributos SMART: 16
Atributos SMART específicos del fabricante con umbrales:
N.º ID NOMBRE_ATRIBUTO INDICADOR VALOR MÁXIMO UMBRAL TIPO ACTUALIZADO CUÁNDO FALLÓ VALOR_BRUTO
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fallo Siempre 0
3 Spin_Up_Time 0x0027 183 183 021 Pre-fail Siempre 3833
4 Start_Stop_Count 0x0032 100 100 000 Antigüedad Siempre 9
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Siempre 0
7 Tasa de errores de búsqueda 0x002e 200 200 000 Antigüedad Siempre 0
9 Horas de funcionamiento 0x0032 097 097 000 Antigüedad Siempre 2560
10 Spin_Retry_Count 0x0032 100 253 000 Antigüedad Siempre 0
11 Recuento de reintentos de calibración 0x0032 100 253 000 Antigüedad Siempre 0
12 Power_Cycle_Count 0x0032 100 100 000 Antigüedad Siempre 9
16 Atributo desconocido 0x0022 000 200 000 Antigüedad Siempre 26802171994
183 Bloque_defectuoso_en_tiempo_de_ejecución 0x0032 100 100 000 Antigüedad Siempre 0
192 Recuento de retracción al apagado 0x0032 200 200 000 Antigüedad Siempre 4
193 Load_Cycle_Count 0x0032 200 200 000 Antigüedad Siempre 67
194 Temperatura_en_grados_Celsius 0x0022 116 111 000 Antigüedad Siempre 31
196 Recuento de eventos de reasignación 0x0032 200 200 000 Antigüedad Siempre 0
197 Sector_pendiente_actual 0x0032 200 200 000 Antigüedad Siempre 0
198 Errores_incorregibles_fuera_de_línea 0x0030 100 253 000 Antigüedad Fuera de línea 0
199 Recuento de errores UDMA_CRC 0x0032 200 200 000 Antigüedad Siempre 0
200 Tasa de error multizona 0x0008 100 253 000 Antigüedad Fuera de línea 0
Versión del registro de errores SMART: 1
No hay errores registrados
Interpretación de los parámetros y diagnóstico de errores
Analice la información detallada que ha obtenido mediante el comando
smartctl -iHAl error [NOMBRE DEL DISCO DURO] ha obtenido. En la primera sección se muestra información que le permitirá identificar el disco duro:
=== INICIO DE LA SECCIÓN DE INFORMACIÓN ===
Modelo del dispositivo: HGST HUS722T1TALA604
Número de serie: WMC6N0K2RW66
Identificador de dispositivo LU WWN: 5 0014ee 004722db0
Versión de firmware: RAGNWA07
Capacidad útil: 1 000 204 886 016 bytes [1,00 TB]
Tamaño del sector: 512 bytes lógicos/físicos
Velocidad de rotación: 7200 rpm
Formato: 3,5 pulgadas
El dispositivo: no figura en la base de datos de smartctl [para más detalles, utiliza: -P showall]
Versión ATA: ACS-3 T13/2161-D revisión 5
Versión SATA: SATA 3.1, 6,0 Gb/s (actual: 6,0 Gb/s)
La hora local es: viernes, 3 de mayo, 07:45:14 de 2019 UTC
Compatibilidad con SMART: Disponible; el dispositivo es compatible con SMART.
Compatibilidad con SMART: Activada
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 no aparece el valor «PASSED», sino, por ejemplo, «Failed» o «UNKNOWN», debe solicitar la sustitución del disco duro en cuestión lo antes posible.
=== INICIO DE LA SECCIÓN DE DATOS DE READ SMART ===
Resultado de la autoevaluación general de salud de SMART: APROBADO
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) y el 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).
Número de revisión de la estructura de datos de los atributos SMART: 16
Atributos SMART específicos del fabricante con umbrales:
N.º ID NOMBRE_ATRIBUTO INDICADOR VALOR MÁXIMO UMBRAL TIPO ACTUALIZADO CUANDO FALLÓ VALOR_BRUTO
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fallo Siempre 0
3 Spin_Up_Time 0x0027 183 183 021 Pre-fail Siempre 3833
4 Start_Stop_Count 0x0032 100 100 000 Antigüedad Siempre 9
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Siempre 0
7 Tasa de errores de búsqueda 0x002e 200 200 000 Antigüedad Siempre 0
9 Horas_de_funcionamiento 0x0032 097 097 000 Antigüedad Siempre 2560
10 Spin_Retry_Count 0x0032 100 253 000 Antigüedad Siempre 0
11 Recuento de reintentos de calibración 0x0032 100 253 000 Antigüedad Siempre 0
12 Power_Cycle_Count 0x0032 100 100 000 Antigüedad Siempre 9
16 Atributo desconocido 0x0022 000 200 000 Antigüedad Siempre 26802171994
183 Bloque_defectuoso_en_tiempo_de_ejecución 0x0032 100 100 000 Antigüedad Siempre 0
192 Recuento de retracción al apagado 0x0032 200 200 000 Antigüedad Siempre 4
193 Load_Cycle_Count 0x0032 200 200 000 Antigüedad Siempre 67
194 Temperatura_en_grados_Celsius 0x0022 116 111 000 Antigüedad Siempre 31
196 Recuento de eventos de reasignación 0x0032 200 200 000 Antigüedad Siempre 0
197 Sector_pendiente_actual 0x0032 200 200 000 Antigüedad Siempre 0
198 Errores_incorregibles_fuera_de_línea 0x0030 100 253 000 Antigüedad Fuera de línea 0
199 Recuento de errores UDMA_CRC 0x0032 200 200 000 Antigüedad Siempre 0
200 Tasa_de_errores_multizona 0x0008 100 253 000 Antigüedad Fuera de línea 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 periodo 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, debe 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. 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, debe solicitar la sustitución del disco duro lo antes posible.
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]
Ejemplo:
[root@localhost ~]# smartctl -x /dev/sda
Si ya no es posible acceder al disco duro mediante smartctl, puede 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, puede solicitar la sustitución del disco duro defectuoso. Para ello, póngase en contacto con el servicio de atención al cliente.
Si no puede consultar el número de serie del disco duro defectuoso mediante smartctl, también puede facilitar al servicio de atención al cliente el número de serie del disco duro 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 su 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 bloques super 1.0 [2/1] [UU]
md1 : activo raid1 sdb1[2] sda1[0]
19 529 600 bloques super 1.0 [2/1] [UU]
Dispositivos no utilizados: <ninguno>
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árquelo como «faulty». Para ello, introduzca 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: se ha marcado /dev/sdb3 como defectuoso en /dev/md3
[root@localhost ~]# mdadm /dev/md1 -f /dev/sdb1
mdadm: se ha marcado /dev/sdb1 como defectuoso en /dev/md1
Tras introducir el comando, el RAID presenta el siguiente estado:
[root@localhost ~]# cat /proc/mdstat
Personalidades: [raid1]
md3 : activo raid1 sda3[0] sdb3[2](F)
439553856 bloques super 1.0 [2/1] [U_]
md1 : activo raid1 sdb1[2](F) sda1[0]
19 529 600 bloques super 1.0 [2/1] [U_]
Dispositivos no utilizados: <ninguno>
Eliminar una partición del RAID
Para eliminar una partición del RAID, introduzca 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, compruebe 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
Personalidades: [raid1]
md3 : raid1 activo sda3[0]
439553856 bloques super 1.0 [2/1] [U_]
md1 : activo raid1 sda1[0]
19 529 600 bloques super 1.0 [2/1] [U_]
Dispositivos no utilizados: <ninguno>
Comprobar las particiones de swap utilizadas
Compruebe qué particiones de intercambio utiliza el sistema operativo. Para ello, introduzca el siguiente comando:
[root@localhost ~]# cat /proc/swaps
Nombre de archivo Tipo Tamaño Usado Prioridad
/dev/sda2 partición 9765884 0 -1
/dev/sdb2 partición 9765884 0 -2
Como alternativa, puede 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
Desactive la partición de swap del disco duro defectuoso para que pueda ser sustituido. Para ello, introduzca el siguiente comando:
[root@localhost ~]# swapoff RUTA_DE_LA_PARTICIÓN
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á más información sobre cómo reconstruir un RAID de software en el siguiente artículo: Reconstruir un RAID de software (Linux)
Contenido
- Comprobar el estado del software RAID
- Interpretación de los resultados
- Diagnóstico de errores de disco duro
- Interpretación de los parámetros y diagnóstico de errores
- Consultar información detallada sobre la sustitución del disco duro
- Crear un registro SMART
- Preparar el servidor para la sustitución del disco duro
- Solicitar la sustitución del disco duro
- Pasos necesarios tras la sustitución del disco duro
- Arriba