Guía de tecnologías

Reemplazo de un disco fallado en RAID1 paso a paso

8 min read Linux RAID Actualizado 10 Oct 2025
Reemplazar disco fallado en RAID1 — guía práctica
Reemplazar disco fallado en RAID1 — guía práctica

Pruebas: simular y reemplazar un disco (antes: sección 9 Testing)

A continuación se muestra un procedimiento probado para manejar un fallo de disco en un RAID1. No importa si el disco fallado es /dev/sda o /dev/sdb; en este ejemplo asumimos que ha fallado /dev/sdb.

Importante: realiza esto desde una cuenta con privilegios root o con sudo. Haz una copia de seguridad de datos críticos antes de probar procedimientos que afectan particiones o arranques.

1) Simular la falla del disco

Puedes apagar la máquina y retirar físicamente /dev/sdb, o simular una extracción “suave” con mdadm:

mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md1 --fail /dev/sdb2
mdadm --manage /dev/md2 --fail /dev/sdb3

mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm --manage /dev/md2 --remove /dev/sdb3

Luego apaga el sistema si vas a reemplazar físicamente el disco:

shutdown -h now

Inserta el disco nuevo como /dev/sdb (si habías fallado /dev/sda, coloca el reemplazo en el lugar correcto y conecta el nuevo disco como /dev/sdb según la topología de tu equipo) y arranca. El sistema debería iniciar aun con un arreglo degradado.

2) Comprobar estado del RAID degradado

Ejecuta:

cat /proc/mdstat

Deberías ver algo similar a esto (ejemplo):

[root@server1 ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sda1[0] 200704 blocks [2/1] [U_]

md1 : active raid1 sda2[0] 522048 blocks [2/1] [U_]

md2 : active raid1 sda3[0] 9759360 blocks [2/1] [U_]

unused devices: [root@server1 ~]#

Este estado indica que uno de los miembros del RAID está ausente y la matriz está degradada.

Ejecuta también:

fdisk -l

Salida de ejemplo (resumida):

[root@server1 ~]# fdisk -l

Disk /dev/sda: 10,7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System /dev/sda1 * 1 25 200781 fd Linux raid autodetect /dev/sda2 26 90 522112+ fd Linux raid autodetect /dev/sda3 91 1305 9759487+ fd Linux raid autodetect

Disk /dev/sdb: 10,7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn’t contain a valid partition table

Disk /dev/md2: 9993 MB, 9993584640 bytes … [root@server1 ~]#

En este ejemplo /dev/sdb no tiene tabla de particiones.

3) Clonar la tabla de particiones de /dev/sda a /dev/sdb

Usa sfdisk para volcar la tabla de particiones y escribirla en el disco nuevo:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Si obtienes un error por la firma MSDOS en el sector 0, puedes intentar forzar la operación:

sfdisk -d /dev/sda | sfdisk --force /dev/sdb

Ejemplo de salida cuando el clon se escribe correctamente:

[root@server1 ~]# sfdisk -d /dev/sda | sfdisk /dev/sdb Checking that no-one is using this disk right now … OK

Disk /dev/sdb: 1305 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature /dev/sdb: unrecognized partition table type Old situation: No partitions found New situation: Units = sectors of 512 bytes, counting from 0

Device Boot Start End #sectors Id System /dev/sdb1 * 63 401624 401562 fd Linux raid autodetect /dev/sdb2 401625 1445849 1044225 fd Linux raid autodetect /dev/sdb3 1445850 20964824 19518975 fd Linux raid autodetect /dev/sdb4 0 - 0 0 Empty Successfully wrote the new partition table

Re-reading the partition table …

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (See fdisk(8).) [root@server1 ~]#

Nota: sfdisk replica offsets y tamaños exactos. Verifica que las particiones resultantes correspondan a las esperadas antes de continuar.

4) Limpiar restos de superbloques RAID del disco nuevo

Es habitual que un disco reciclado contenga metadatos RAID antiguos. Zeréalos:

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3

5) Añadir las particiones al arreglo RAID

Agrega las particiones recién creadas al arreglo con -a (add):

mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb2
mdadm -a /dev/md2 /dev/sdb3

A continuación comprueba el estado:

cat /proc/mdstat

Ejemplo durante la recuperación:

[root@server1 ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdb1[1] sda1[0] 200704 blocks [2/2] [UU]

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

md2 : active raid1 sdb3[2] sda3[0] 9759360 blocks [2/1] [U_] [=======>………….] recovery = 39.4% (3846400/9759360) finish=1.7min speed=55890K/sec

unused devices: [root@server1 ~]#

Espera hasta que la sincronización termine y el estado muestre [UU] en cada conjunto:

[root@server1 ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdb1[1] sda1[0] 200704 blocks [2/2] [UU]

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

md2 : active raid1 sdb3[1] sda3[0] 9759360 blocks [2/2] [UU]

unused devices: [root@server1 ~]#

6) Instalar el cargador de arranque (GRUB) en ambos discos

Para garantizar que la máquina arranque si cualquiera de los discos falla, instala GRUB en ambos discos. Inicia el intérprete de grub y ejecuta:

grub

En la consola de grub usa:

root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit

Con esto el sistema queda preparado: has reemplazado correctamente un disco fallado en un RAID1.


Checklist rápida del operador

  • Hacer backup de datos críticos antes de intervenir.
  • Confirmar qué disco (sda/sdb) fue marcado como fallado.
  • Simular la extracción o apagar para reemplazo físico.
  • Verificar cat /proc/mdstat y fdisk -l antes de cambios.
  • Clonar tabla de particiones y verificar tamaños/offsets.
  • Zerolear superbloques antiguos con mdadm –zero-superblock.
  • Añadir particiones con mdadm -a y comprobar la resync.
  • Esperar a que todas las matrices muestren [UU].
  • Instalar GRUB en ambos discos.
  • Comprobar arranque y registros (dmesg/syslog) después.

Criterios de aceptación (qué comprobar al final)

  • Todas las matrices RAID muestran [UU] en /proc/mdstat.
  • No hay mensajes de error en dmesg relacionados con el RAID o discos.
  • Las particiones en el disco nuevo coinciden en offsets y tipos.
  • GRUB está instalado en ambos discos; el sistema arranca con cualquiera de los discos.

Solución de problemas común

  • sfdisk: “sector 0 does not have an msdos signature”

    • Significa que el disco no tiene tabla DOS. Usar –force puede funcionar. Comprueba con fdisk -l después.
  • mdadm no añade la partición:

    • Asegúrate de que el tipo de partición sea “fd” (Linux raid autodetect). Usa fdisk o parted para ajustar si es necesario.
  • La sincronización es muy lenta:

    • Verifica I/O con iostat o vmstat. Carga del sistema, límites de disco o buses pueden reducir velocidad.
  • Después de clonar la tabla, arranque fallido porque GRUB no está en el nuevo disco:

    • Instala GRUB manualmente en ambos discos como se indica.

Cuándo este método puede fallar y alternativas

  • Si el disco nuevo tiene un tamaño físico menor aunque las particiones matcheen, sfdisk puede escribir particiones que no encajan. Alternativa: crear particiones manualmente con parted y verificar con fdisk -l.
  • Si el RAID usa metadata antigua o versión incompatible de mdadm, pueden aparecer errores de reconocimiento. Alternativa: comprobar versiones de mdadm y ajustar –metadata al crear arrays.
  • En servidores con controladoras RAID hardware, este procedimiento no aplica; usa la utilidad del fabricante.

Modelo mental (heurística rápida)

Piensa en RAID1 como espejo: al retirar un espejo debes preparar el reemplazo con la misma “configuración de espejo” (particiones y metadatos), y luego sincronizar bytes. El arranque requiere copiar el cargador a ambos discos para que cualquiera pueda bootear.

Mini-method: pasos mínimos seguros

  1. Ver estado: cat /proc/mdstat, fdisk -l.
  2. Clonar tabla: sfdisk -d /dev/sda | sfdisk /dev/sdb.
  3. Borrar metadata vieja: mdadm –zero-superblock /dev/sdbN.
  4. Añadir al RAID: mdadm -a /dev/mdX /dev/sdbN.
  5. Esperar resync: cat /proc/mdstat hasta [UU].
  6. Instalar GRUB en ambos discos.

Matriz de riesgos y mitigaciones (resumen)

  • Riesgo: pérdida de particiones si se escribe en el disco equivocado. Mitigación: verificar nombre de dispositivo, usar etiquetas y unplug físico.
  • Riesgo: arranque fallido si GRUB no se instala. Mitigación: instalar GRUB en ambos discos y probar arranque con disco simulado absent.
  • Riesgo: degradación prolongada por baja velocidad de resync. Mitigación: planificar ventanas de mantenimiento y evitar cargas intensas durante resync.

Pruebas / casos de aceptación (tácticos)

  • Caso 1: Simular fallo suave con mdadm –fail y –remove; reemplazo en caliente; array recupera y muestra [UU].
  • Caso 2: Apagar, reemplazar físicamente disco, arrancar; sistema inicia en modo degradado; se restaura correctamente.
  • Caso 3: Reinicio con solo uno de los discos (probar arranque con hd0 y con hd1) — ambos deben arrancar si GRUB fue instalado.

Enlaces (antes: sección 10 Links)

Resumen final

Sigue los pasos descritos para reemplazar un disco en RAID1: clona la tabla de particiones, limpia metadatos previos, añade el disco al arreglo y espera la sincronización completa. No olvides instalar GRUB en ambos discos y validar los criterios de aceptación antes de considerar la tarea finalizada.

Nota: esta guía muestra un flujo común para Linux con mdadm; adapta comandos y nombres de dispositivo a tu entorno y políticas de backup.

Autor
Edición

Materiales similares

Cambiar tamaño de Marcadores Rápidos en Vivaldi
Navegadores

Cambiar tamaño de Marcadores Rápidos en Vivaldi

Google Pay en Android rooteado — Guía práctica
Android

Google Pay en Android rooteado — Guía práctica

Cómo conseguir un joystick en Pokémon GO
Juegos móviles

Cómo conseguir un joystick en Pokémon GO

Crear RAID1 con mdadm y mover LVM a RAID
Sistemas

Crear RAID1 con mdadm y mover LVM a RAID

Solución: error 'datos de su organización no se pueden pegar aquí'
Tecnología

Solución: error 'datos de su organización no se pueden pegar aquí'

Excluir carpetas de la búsqueda de Windows
Windows Privacidad

Excluir carpetas de la búsqueda de Windows