Guía de tecnologías

8 Pruebas — Sustituir un disco fallido en RAID1

4 min read Administración de Sistemas Actualizado 30 Sep 2025
Reemplazar disco fallido en RAID1
Reemplazar disco fallido en RAID1

Objetivo y variantes de búsqueda

  • Intento principal: reemplazar un disco fallido en RAID1 usando mdadm.
  • Variantes relacionadas: simular fallo de disco, clonar tabla de particiones con sfdisk, limpiar superbloques RAID, sincronizar RAID1, reinstalar GRUB en discos.

Antes de empezar

Breve definición: RAID1 es un espejo de discos: dos (o más) discos contienen los mismos datos para tolerar fallos. mdadm es la herramienta de gestión de RAID por software en Linux.

Notas importantes:

  • Asegúrate de tener backups recientes antes de manipular particiones o arreglos RAID.
  • Ejecuta estos pasos como root o con privilegios sudo.

1) Simular la falla de un disco

No importa si falla /dev/sda o /dev/sdb; en este ejemplo asumimos que /dev/sdb ha fallado. Puedes simular la falla apagando y retirando el disco físicamente, o retirándolo por software:

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

Luego elimina las particiones del array:

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

Apaga el sistema para cambiar el disco si trabajas físicamente:

shutdown -h now

Instala el disco nuevo en la bahía correspondiente (si simulaste /dev/sda, intercambia las posiciones físicas de los discos según corresponda) y arranca de nuevo. El sistema debería arrancar aunque el array esté degradado.

2) Comprobar el estado del RAID degradado

Verifica el estado del array:

cat /proc/mdstat

Ejemplo de salida esperada:

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

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

unused devices: 
[root@server1 ~]#

También puedes listar discos y particiones:

fdisk -l

(En el ejemplo la salida muestra que /dev/sdb no contiene tabla de particiones válida tras la simulación de fallo.)

3) Copiar la tabla de particiones del disco sano al nuevo

Clona la tabla de particiones de /dev/sda a /dev/sdb con sfdisk:

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

Si sfdisk se queja de la firma, puedes forzar la operación:

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

Salida esperada (ejemplo):

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

Disk /dev/sdb: 652 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  10474379   10072755  fd  Linux raid autodetect
/dev/sdb3             0         -         0   0  Empty
/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 ~]#

4) Borrar cualquier rastro de un array RAID antiguo

Antes de volver a añadir las particiones nuevas al array, elimina metadatos RAID antiguos en las particiones del nuevo disco:

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

5) Añadir el nuevo disco al array y sincronizar

Añade las particiones al array con mdadm:

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

Consulta el progreso de la reconstrucción:

cat /proc/mdstat

Salida de ejemplo durante la recuperación:

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

md1 : active raid1 sdb2[2] sda2[0]
      5036288 blocks [2/1] [U_]
      [=====>...............]  recovery = 29.8% (1502656/5036288) finish=18.8min speed=3116K/sec

unused devices: 
[root@server1 ~]#

Espera a que la sincronización termine. Cuando termine, ambas entradas deberían mostrar [UU]:

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

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

unused devices: 
[root@server1 ~]#

6) Reinstalar GRUB en ambos discos

Para asegurar que el sistema pueda arrancar si falla cualquiera de los discos, instala GRUB en los dos discos. Ejecuta el comando grub y, dentro del prompt de GRUB, ejecuta:

grub

Dentro del intérprete de grub:

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

Esto instala el cargador de arranque en ambos dispositivos físicos.

7) Comprobaciones finales

  • Vuelve a inspeccionar /proc/mdstat para confirmar que los arrays están en estado [UU].
  • Revisa dmesg y /var/log/messages (o el sistema de logs que uses) por errores relacionados con discos o RAID.
  • Si todo está correcto, registra el incidente y marca la unidad reemplazada para su reciclaje o análisis.

Alternativas y cuándo falla este procedimiento

  • Si los discos tienen tamaños distintos o el nuevo disco es más pequeño, sfdisk puede fallar al clonar la tabla de particiones. Solución: crear manualmente las particiones con las mismas dimensiones o usar parted para ajustar sectores.
  • Si usas LVM encima del RAID, asegúrate de que los nombres de dispositivos lógicos vuelvan a activarse; puede ser necesario ejecutar pvscan/ vgchange -ay.
  • En arrays más complejos (RAID5/6), el proceso de reconstrucción puede tardar mucho más; planifica ventana de mantenimiento.

Mini-metodología (resumen paso a paso)

  1. Simular o retirar el disco fallido.
  2. Comprobar estado con cat /proc/mdstat y fdisk -l.
  3. Clonar tabla de particiones: sfdisk -d /dev/sda | sfdisk /dev/sdb.
  4. Borrar superbloques RAID: mdadm –zero-superblock /dev/sdbX.
  5. Añadir particiones al array: mdadm -a /dev/mdY /dev/sdbX.
  6. Esperar sincronización y verificar [UU].
  7. Reinstalar GRUB en ambos discos.

Checklist por roles

  • Administrador de sistemas:
    • Verificar backups antes de empezar.
    • Clonar particiones y añadir al array.
    • Reinstalar GRUB.
  • Operador de mantenimiento:
    • Sustituir físicamente el disco.
    • Etiquetar y almacenar el disco defectuoso.
  • Responsable de seguridad:
    • Asegurar que el disco retirado se trata según política de datos.

Glosario (una línea cada término)

  • mdadm: utilidad para gestionar arrays RAID por software en Linux.
  • sfdisk: herramienta para manipular tablas de particiones en dispositivos de bloque.
  • superblock: metadatos que identifica una partición como miembro de un array RAID.
  • GRUB: cargador de arranque común en sistemas Linux.

Recursos

Resumen: siguiendo estos pasos puedes reemplazar de forma segura un disco fallido en un RAID1, restaurar la redundancia del array y asegurar que el sistema vuelva a arrancar desde cualquiera de los discos.

Autor
Edición

Materiales similares

Cómo bloquear apps en iPhone — guía rápida
Guía

Cómo bloquear apps en iPhone — guía rápida

Ver publicaciones que te gustaron en Instagram
Social Media

Ver publicaciones que te gustaron en Instagram

Elegir el mejor mini PC: guía práctica
Hardware

Elegir el mejor mini PC: guía práctica

Ver y administrar publicaciones que te gustaron en Instagram
Redes sociales

Ver y administrar publicaciones que te gustaron en Instagram

Reemplazar disco fallido en RAID1
Administración de Sistemas

Reemplazar disco fallido en RAID1

Error 43 en GPU NVIDIA/Intel: guía completa
Soporte técnico

Error 43 en GPU NVIDIA/Intel: guía completa