Guía de tecnologías

Cómo crear una configuración RAID1 en un sistema CentOS/RedHat 6.0 existente

7 min read Sistemas Actualizado 24 Sep 2025
RAID1 en CentOS/RedHat 6: guía práctica
RAID1 en CentOS/RedHat 6: guía práctica

By: Maurice Hilarius - Hard Data Ltd. - 12 de octubre de 2011

Objetivo y contexto

Esta guía está pensada para convertir un sistema CentOS/RedHat 6 que actualmente usa un único disco en un sistema con RAID1 de dos discos. El objetivo es mantener la capacidad de arranque aunque falle cualquiera de las unidades. Se asume acceso root permanente y conocimiento básico de particionamiento y comandos de Linux.

Importante: realiza y verifica una copia de seguridad completa antes de empezar. No procedas sin respaldo.

Requisitos previos

  • Acceso como root (su - o sudo -i)
  • Un segundo disco con al menos el mismo tamaño o ligeramente mayor que el disco original
  • Paquetes: mdadm, dracut, cpio (normalmente disponibles en CentOS/RedHat 6)
  • Conocimiento básico de particiones y GRUB (legacy, 0.97)

Comando para convertirse en root:

su -
# introducir contraseña de root

Disposición de ejemplo (origen y destino)

En este ejemplo el disco original con sistema instalado es /dev/sdb y tiene la siguiente disposición inicial:

Device   Mountpoint  Size

/dev/sdb  ~1002GB
/dev/sdb1 /boot       256MB
/dev/sdb2 /         24GB
/dev/sdb3 swap        4GB
/dev/sdb5 /var        4GB
/dev/sdb6 /home      ~900GB

Añadiremos otro disco: /dev/sda (~1002GB) como disco objetivo.

Resumen del método

  1. Hacer y verificar copias de seguridad.
  2. Duplicar la tabla de particiones del disco original al disco objetivo.
  3. Crear arreglos RAID1 en estado degradado apuntando al disco nuevo (el original permanece activo).
  4. Rebuild initramfs y crear sistemas de archivos en los nuevos /dev/md*.
  5. Copiar datos a los md devices.
  6. Ajustar /etc/fstab y GRUB, instalar GRUB en ambos discos.
  7. Probar y añadir los miembros faltantes al RAID.

Paso 1 — Copia de seguridad

  1. Backup completo (imagen o backups de datos). Opciones: rsync a host externo, dd a fichero o snapshot LVM.
  2. Verifica la integridad del backup antes de continuar.

Paso 2 — Clonar la tabla de particiones

Ejecuta (cuidado con los nombres de dispositivos):

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

Esto replica la tabla de particiones de /dev/sdb a /dev/sda.

Paso 3 — Cargar módulos del kernel (evita reiniciar)

Cargamos módulos necesarios para manejar arreglos software:

modprobe linear
modprobe raid0
modprobe raid1

Verifica el estado de md con:

cat /proc/mdstat

Ejemplo de salida cuando los módulos están cargados pero no hay arreglos:

root@server:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1]
unused devices: 

Paso 4 — Crear los arreglos RAID (degradados)

Creamos los dispositivos RAID en estado degradado (el segundo miembro falta):

mdadm --create /dev/md0 --level=1 --raid-disks=2 /dev/sda1 missing
mdadm --create /dev/md1 --level=1 --raid-disks=2 /dev/sda2 missing
mdadm --create /dev/md2 --level=1 --raid-disks=2 /dev/sda5 missing
mdadm --create /dev/md3 --level=1 --raid-disks=2 /dev/sda6 missing

Estos comandos crean /dev/md0…/dev/md3 como RAID1 con un miembro ausente, lo que permite crear sistemas de archivos y copiar datos sin desmontar el disco original.

Nota sobre metadata y GRUB legacy

Si vas a seguir usando GRUB 0.97 (el predeterminado en CentOS 5/6), especifica un formato de metadata compatible para que GRUB reconozca la partición RAID1:

mdadm --create /dev/md0 --metadata=0.90 --level=1 --raid-devices=2 /dev/sda1 missing

Si no usas –metadata=0.90, la instalación de GRUB puede fallar con mensajes tipo “Filesystem type unknown, partition type 0xfd”. GRUB 2 no tiene esta limitación en la misma medida.

Paso 5 — Verificar arreglos

Vuelve a comprobar /proc/mdstat:

cat /proc/mdstat

Ejemplo (salida típica tras crear los md devices en modo degradado, donde sdb aparece como miembro activo):

#cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb2[1]
        473792 blocks [2/2] [U_]

md2 : active raid1 sdb5[1]
        4980032 blocks [2/2] [U_]

md3 : active raid1 sdb6[1]
        3349440 blocks [2/2] [U_]

md0 : active raid1 sdb1[1]
        80192 blocks [2/2] [U_]

unused devices: 

El indicador [U_] muestra que uno de los miembros está ausente (degradado), mientras que [UU] indica ambos miembros presentes.

Paso 6 — Generar mdadm.conf

Guarda la configuración actual para que arranque y mdadm pueda reconocer los arreglos:

mdadm --detail --scan > /etc/mdadm.conf

Verifica su contenido:

cat /etc/mdadm.conf

Asegúrate de que contiene las líneas ARRAY con los UUIDs de los md devices.

Paso 7 — Reconstruir initramfs con la nueva configuración

Renombra la imagen actual y genera una nueva que incluya /etc/mdadm.conf:

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.old
dracut --mdadmconf --force /boot/initramfs-$(uname -r).img $(uname -r)

Esto asegura que el initramfs pueda ensamblar los arreglos RAID en el arranque.

Paso 8 — Crear sistemas de archivos en /dev/md*

Formatea los md devices acorde a tus necesidades:

mkfs.ext2 /dev/md0   # /boot: ext2 es suficiente y compatible con GRUB
mkfs.ext4 /dev/md1   # /
mkfs.ext4 /dev/md2   # /var
mkfs.ext4 /dev/md3   # /home
mkswap -c /dev/sda2  # Preparar la partición swap del disco nuevo (comprobar también swap del original)

Nota: mkswap -c comprueba bloques defectuosos; ajusta según tus políticas.

Paso 9 — Copiar datos al RAID

Copiamos los datos desde las particiones en uso hacia los md devices. Monta cada md y usa cpio para preservar permisos y enlaces.

mkdir /mnt/raid
mount /dev/md0 /mnt/raid
cd /boot; find . -depth | cpio -pmd /mnt/raid
# Si SELinux está en uso:
# touch /mnt/raid/.autorelabel
sync
umount /mnt/raid

mount /dev/md1 /mnt/raid
cd / ; find . -depth -xdev | grep -v '^\./tmp/' | cpio -pmd /mnt/raid
sync
umount /mnt/raid

# NOTA: evita copiar /tmp y /var/tmp. El comando anterior crea puntos de montaje vacíos como 'proc' o 'dev'.

mount /dev/md2 /mnt/raid
cd /var; find . -depth | cpio -pmd /mnt/raid
sync
umount /mnt/raid

mount /dev/md3 /mnt/raid
cd /home; find . -depth | cpio -pmd /mnt/raid
sync
umount /mnt/raid

Después de estos pasos, los datos están en los md devices. Mantén el sistema original en línea hasta confirmar el arranque desde RAID.

Paso 10 — Actualizar /etc/fstab y GRUB

  1. Edita /etc/fstab para que las entradas apunten a los dispositivos /dev/md* (o mejor, a UUIDs de los md devices).
  2. Actualiza /boot/grub/menu.lst: si usabas dispositivos directos en las entradas de kernel (root=/dev/sdb2), cámbialo por /dev/md1 o por UUID.

Ejemplo de línea en fstab (usar blkid para obtener UUIDs):

# /dev/md1   /   ext4   defaults   1 1

Paso 11 — Instalar GRUB en ambos discos

Para asegurar que el sistema arranque si falla uno de los discos, instala GRUB legacy en el MBR de los dos discos (/dev/sda y /dev/sdb):

Arranca un shell de grub o ejecuta:

grub
> root (hd0,0)   # ajusta según tu mapa de particiones si es necesario
> setup (hd0)
> root (hd1,0)
> setup (hd1)
> quit

Alternativamente instala desde la línea de comandos:

grub-install /dev/sda
grub-install /dev/sdb

Verifica que GRUB se instaló correctamente en ambos MBRs.

Paso 12 — Comprobaciones finales y añadir miembros faltantes

  1. Reinicia y prueba el arranque con ambos discos conectados.
  2. Simula la falla desconectando un disco (si es posible) y verifica que el sistema arranca desde el otro.
  3. Una vez que todo arranque correctamente, añade las particiones originales como miembros del RAID para completar la sincronización:
mdadm --add /dev/md0 /dev/sdb1
mdadm --add /dev/md1 /dev/sdb2
mdadm --add /dev/md2 /dev/sdb5
mdadm --add /dev/md3 /dev/sdb6

Verifica el progreso de sincronización con:

watch -n 5 cat /proc/mdstat

Cuando termine, las líneas deberían mostrar [UU] indicando ambos discos activos.

Posibles fallos y contraejemplos

  • Si usas metadata por defecto (1.2) en GRUB legacy, puede no instalarse en una partición RAID1; por eso se recomienda metadata=0.90 para /boot.
  • Si /dev/sda tiene un tamaño menor que /dev/sdb, sfdisk fallará o las particiones no encajarán exactamente.
  • En sistemas con LVM sobre RAID u otras capas, el orden de pasos cambia: normalmente configuras RAID primero y luego LVM encima.

Alternativas

  • Usar herramientas de clonación en vivo (dd o ddrescue) para copiar disco a disco antes de convertir a RAID.
  • Implementar RAID a nivel de hardware (controladora) si la redundancia debe ser transparente al sistema.
  • Modernizar a GRUB2 y metadata 1.2 si planeas migrar a distribuciones más recientes.

Lista de verificación por rol

Administrador de sistemas:

  • Backup verificado
  • Tabla de particiones clonada
  • mdadm.conf generado
  • initramfs reconstruido
  • GRUB instalado en ambos MBR

Ingeniería de operaciones:

  • Pruebas de arranque con disco desconectado
  • Monitorización de resync de md con alertas

Soporte/QA:

  • Pruebas de integridad de datos después de copiar
  • Verificar permisos y SELinux labels

Plan de reversión (runbook corto)

  1. Si algo falla y no arranca: restaurar /boot/initramfs-$(uname -r).img.old y el /boot/menu.lst anterior desde la copia en /boot.
  2. Si el kernel no encuentra RAID: arrancar desde live-CD o rescue, montar /dev/sdb* y revertir /etc/fstab y /etc/mdadm.conf según copia.
  3. Si hay pérdida de datos, restaurar desde la copia de seguridad verificada.

Glosario (1 línea cada término)

  • mdadm: utilidad para administrar arreglos RAID software en Linux.
  • initramfs: imagen inicial que el kernel usa para montar el sistema raíz en el arranque.
  • GRUB legacy: versión 0.97 del gestor de arranque GRUB ampliamente usado en CentOS 6.

Criterios de aceptación

  • El sistema arranca con ambos discos conectados.
  • El sistema arranca con cualquiera de los discos desconectados (simulación de fallo).
  • /proc/mdstat muestra todos los arreglos en estado [UU] tras la sincronización.
  • /etc/fstab y /boot/grub/menu.lst apuntan correctamente a /dev/md* o a UUIDs de los md devices.

Resumen final

Este procedimiento permite migrar un sistema CentOS/RedHat 6 de un único disco a un arreglo RAID1 sin reinstalar el sistema. Requiere atención a la metadata de mdadm para compatibilidad con GRUB legacy y una verificación exhaustiva de backups y del proceso de arranque. Después de añadir el disco original al arreglo y completar la sincronización, el sistema tendrá redundancia para tolerar la falla de una unidad.

Importante: aunque este procedimiento evita reinstalar, prueba siempre el arranque y la recuperación en un entorno controlado antes de aplicarlo en producción.

Autor
Edición

Materiales similares

Sincronizar contactos del iPhone con iCloud
Guía Apple

Sincronizar contactos del iPhone con iCloud

Trabajar desde el iPhone: guía práctica
Productividad

Trabajar desde el iPhone: guía práctica

Anotar PDFs gratis sin marcas de agua
Productividad

Anotar PDFs gratis sin marcas de agua

Foto de perfil personalizada en Netflix
Tutorial

Foto de perfil personalizada en Netflix

Eliminar tu cuenta de eBay y borrar tus datos
Guías

Eliminar tu cuenta de eBay y borrar tus datos

Solución: No puedo iniciar sesión en Yahoo Mail
Correo electrónico

Solución: No puedo iniciar sesión en Yahoo Mail