En este artículo, aprenderás cómo identificar un disco duro defectuoso en un Servidor Dedicado Linux con software RAID y cómo preparar el servidor para reemplazar el soporte de datos defectuoso.

Nota

Para seguir correctamente los pasos descritos en este artículo se necesitan conocimientos básicos de la administración de servidores Linux. Si tienes alguna pregunta o necesita ayuda con respecto a la sustitución de un disco duro defectuoso, ponte en contacto con la Atención al Cliente.

Para asegurar la mayor fiabilidad posible, es necesario que monitorees el software RAID de tu Servidor Dedicado. Si te das cuenta de que un disco duro está defectuoso o recibes una notificación por correo electrónico sobre un disco duro defectuoso, debes ponerte en contacto con el servicio de atención al cliente para proeceder con la sustitución del disco duro. Esto requiere que antes identifiques el disco duro defectuoso y prepares el servidor para reemplazarlo.

Atención

Los sistemas RAID ofrecen una mayor fiabilidad y/o una mayor velocidad. Sin embargo, no pueden sustituir la realización de copias de seguridad regulares. Para evitar la pérdida de datos, te recomendamos que realices copias de seguridad de tus datos con regularidad. Asegúrate de realizar una copia de seguridad de tus datos antes de realizar los siguientes pasos para garantizar la seguridad de sus datos. Para obtener más información sobre la creación de copias de seguridad, haz clic aquí:

Hacer una copia de seguridad de datos en el servidor de backup (Linux)

Comprobar el estado del software RAID

Para comprobar el estado del software RAID, introduce el siguiente comando en el shell:

[root@host ~]: cat /proc/mdstat

Si ambos discos duros están disponibles y montados correctamente, aparecerá el siguiente mensaje:

root@localhost ~]# cat /proc/mdstat

Personalidades :[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 unidades lógicas (md0, md1, md2). Para cada una de estas unidades lógicas, se especifica de que particiones están compuestas y en que unidades se encuentran estas particiones.

Ejemplo: La unidad lógica md0 consta de las particiones sda1 y sdb1.

En la línea que aparece debajo de la unidad lógica, el estado de las particiones individuales se muestra entre corchetes al final de la línea. Una U significa que el disco duro respectivo está integrado en el RAID (up).

En el siguiente ejemplo, todas las unidades lógicas tienen sólo una partición montada que se encuentra en el disco duro sda. La partición respectiva localizada en el segundo disco duro sdb no está incluida. Esto puede reconocerse también por la entrada [_U]. Las particiones desmontadas del disco duro sdb indican que hay un error o un defecto en este disco duro.

[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 ejemplo siguiente, un disco duro defectuoso todavía está incluido en el RAID:

[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>

La entrada (F) en este ejemplo muestra que la partición está marcada como defectuosa.

Identificar fallos y determinar los datos necesarios para la sustitución del disco duro

Para detectar errores en el disco duro, te recomendamos que procedas de la siguiente manera:

Instala el programa Smartctl, un programa de línea de comandos para monitorear volúmenes utilizando SMART (Self-Monitoring, Analysis and Reporting Technology). Con este programa puedes comprobar si un disco duro está defectuoso. Es un componente de los Smartmontools. Los Smartmontools están disponibles como paquetes para muchas distribuciones de Linux.

Nota

En algunos casos puede ocurrir que un defecto del disco duro no pueda ser detectado por los valores SMART. Por lo tanto, recomendamos que también analices el archivo de registro /var/log/messages.

Instalar Smartctl

Para instalar Smartctl, escribe el siguiente comando:

CentOS

yum install smartmontools

Ubuntu

sudo apt-get install smartmontools

 
Visualización de la información del disco duro

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

smartctl --scan

Ejemplo:

[root@8E8885C ~]# smartctl --scan

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

Para ver información detallada para la resolución de problemas, escribe el siguiente comando:

smartctl -iHAl error [NOMBREDELDISCODURO]

Nota

Ten en cuenta que las interfaces de los dispositivos deben especificarse en el siguiente formato:

Dispositivos SCSI / SATA:

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

Ejemplo:

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

Después de introducir el comando, se muestra, por ejemplo, la siguiente información:

[root@8E8885C ~]# 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 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 May  3 07:45:14 2019 UTC
SMART support is: Available - 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

Interpretar los parámetros e identificar los fallos

Analiza la información detallada que recibiste utilizando el comando smartctl -iHAl error[NOMBREDELDISCODURO]. La primera sección enumera la información para 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 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 May  3 07:45:14 2019 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Esta sección muestra, entre otras cosas, el modelo del dispositivo y el número de serie del disco duro que se está probando.

En la segunda sección se evalúa el estado actual del disco duro mediante Smartctl. Si, por ejemplo, en lugar de «PASSED» aparece el valor «Failed» o «UNKNOWN», deberás sustituir el disco duro lo antes posible.

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

En la tercera sección, se enumeran en detalle los valores SMART. Junto a cada valor porcentual actual (VALUE), se listan el peor valor medido (WORST)y el correspondiente valor límite (THRESH). Si el valor porcentual actual (VALUE) o el peor valor medido (WORST) supera el valor límite (THRESH), aparece una advertencia SMART en la columna WHEN_FAILED (p. ej. 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 se muestre una advertencia SMART:

Reallocated_Sector_Ct: especifica el número de sectores reasignados debido a errores de lectura. Si un sector ya no se puede leer, escribir o verificar correctamente, se le asigna automáticamente un sector de reemplazo. El sector defectuoso se marca permanentemente como ilegible. Esta es una clara señal de advertencia para problemas incipientes en la superficie. Si este valor no es igual a cero, un fallo del disco duro es a menudo inminente. Este valor es el indicador más importante para el reemplazo de un disco duro.

Current_Pending_Sector_Ct: especifica el número de sectores inestables que esperan una redistribución. Si un sector no se puede leer y escribir correctamente, recibe primero el status Sector pendiente actual. El sector no se reasigna en este estado, ya que se desconocen los datos del sector. Sólo después de varios intentos fallidos de lectura o escritura se asigna un sector de reemplazo y el sector defectuoso se marca permanentemente como ilegible. El valor Current_Pending_Sector_Ct es un indicador importante para la sustitución de un disco duro. Si este valor no es igual a cero, un fallo del disco duro es a menudo inminente.

Offline_Uncorrectable: especifica el número de errores de escritura y lectura no corregibles.

La última sección trata del registro interno del disco duro. Los errores se registran aquí si las órdenes de trabajo del servidor no han sido procesadas correctamente por el disco duro. Si el número de errores en esta sección es de al menos dos dígitos, debes reemplazar el disco duro lo antes posible.

SMART Error Log Version: 1
No Errors Logged

Acceder a información detallada para la sustitución del disco

La siguiente información es necesaria para reemplazar el disco duro defectuoso:

  • Designación del disco duro en el RAID (por ejemplo, sda)

  • Número de serie

  • Modelo

  • Archivo log/archivo de registro (opcional)

Crear un SMART log

Para crear un SMART log completo, escribe el siguiente comando:

smartctl -x[NOMBREDELDISCODURO]

Ejemplo:

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

Si ya no se puede acceder al disco duro mediante Smartctl, puedes acceder a la información requerida mediante el programa hdparm. Así se instala hdparm:

CentOS

yum -y install hdparm

Ubuntu/Debian

sudo apt-get update
sudo apt-get install hdparm

A continuación, escribe el siguiente comando para acceder a la información necesaria para la sustitución del disco:

hdparm -i /dev/sda

Notas
  • Si el SMART log se ha creado como se ha descrito anteriormente, dispones de suficiente información. A continuación, podrás proceder con la sustitución el disco duro defectuoso. Ponte en contacto con la Atención al Cliente.

  • Si no puedes acceder al número de serie del disco duro defectuoso utilizando Smartctl, puedes proporcionar al servicio de atención al cliente el número de serie de los discos duros en funcionamiento.

Preparar el servidor para la sustitución del disco duro

En el siguiente ejemplo asumimos que el segundo disco duro (sdb) debe ser reemplazado. Durante la comprobación de estado, por ejemplo, se muestra el siguiente estado del software RAID:

[root@host ~]# 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) todavía está integrado en el RAID y, por lo tanto, todavía está en funcionamiento.

Marcar manualmente Raid Device como «faulty» para eliminarlo del RAID

Para marcar el disco defectuoso como «faulty» (defectuoso) para que pueda ser removido del RAID, ingresa el siguiente comando:

[root@host ~]# mdadm RUTA_DEL_RAID_ARRAY -f RUTA_DEL_DISCO_DURO

En los ejemplos siguientes, los discos duros sdb3 y sdb1 están marcados como defectuosos:

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

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

Después de introducir el comando, el RAID tiene el estado siguiente:

[root@host ~]# 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 la partición/del dispositivo múltiple

Para eliminar una partición del dispositivo múltiple, escribe el siguiente comando:

[root@host ~]# mdadm -r /RUTA_DEL_RAID_ARRAY /RUTA_DEL_DISCO_DURO

En los ejemplos siguientes, los discos duros sdb3 y sdb1 se eliminan del dispositivo múltiple md3 y md1 respectivamente:

root@host ~]# mdadm -r /dev/md3 /dev/sdb3
mdadm: hot removed /dev/sdb3 from /dev/md3

root@host ~]# mdadm -r /dev/md1 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md1

Comprueba ahora el estado del RAID. En este ejemplo, el RAID preparado para la sustitución de disco tiene el siguiente estado final:

[root@host ~]# 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 swap utilizadas

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

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

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

Alternativamente, puedes utilizar el siguiente comando para comprobar qué particiones swap están definidas en fstab:

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

Desactivar la partición swap en el dispositivo defectuoso

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

root@host ~]# swapoff RUTA_DEL_DISCO_DURO

Ejemplo:

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

Nota

Si la partición swap del disco duro defectuoso no está desactivada y el disco duro es reemplazado, la partición swap en /proc/swaps recibe el estado «deleted» (eliminado).

Proceder con la sustitución del disco duro

Ahora, el disco duro defectuoso puede ser reemplazado. Para ello, ponte en contacto con la Atención al Cliente.

Después de reemplazar la unidad de disco duro

Después de reemplazar el disco duro defectuoso, es necesario reconstruir el software RAID. Para obtener más información sobre cómo reconstruir un software RAID, haz clic aquí:

Reconstruir el software RAID (Linux)