RAID1 mantiene una copia idéntica de los datos en dos dispositivos. Si uno falla, el sistema puede continuar trabajando con el miembro restante mientras se sustituye y reconstruye el disco defectuoso.
La capacidad útil queda limitada por el dispositivo más pequeño. Dos discos de 500 GB proporcionan aproximadamente 500 GB utilizables, no 1 TB.
RAID1 mejora la disponibilidad, pero no reemplaza un backup. Una eliminación accidental, corrupción lógica, ransomware o error administrativo se replica en ambos discos.
Qué se va a construir
La guía creará el array /dev/md0 con dos particiones de ejemplo:
/dev/sdb1 ─┐
├── /dev/md0 ── ext4 ── /srv/datos
/dev/sdc1 ─┘Los nombres /dev/sdb y /dev/sdc son ejemplos. En servidores físicos, virtuales o cloud pueden aparecer como /dev/vdb, /dev/nvme1n1 u otros nombres.
Requisitos previos
- Ubuntu Server 24.04 LTS.
- Dos discos vacíos de tamaño equivalente.
- Acceso mediante
sudoy consola alternativa. - Backup verificado de cualquier información importante.
- Una ventana de mantenimiento.
- Confirmación de que ninguno de los discos contiene
/,/boot, swap, LVM u otro volumen en uso.
Paso 1: identificar los discos
Enumera los dispositivos con información suficiente para distinguirlos:
lsblk -e 7 -o NAME,PATH,SIZE,MODEL,SERIAL,TYPE,FSTYPE,MOUNTPOINTS
sudo blkid
findmnt /
findmnt /boot
findmnt /boot/efiComprueba también las firmas existentes sin modificarlas:
sudo wipefs -n /dev/sdb
sudo wipefs -n /dev/sdcwipefs -n solo inspecciona. No utilices wipefs --all, mklabel ni mdadm --create hasta confirmar por modelo, serie y tamaño que seleccionaste los discos correctos. lsblk y wipefs permiten revisar esta información.
Paso 2: instalar mdadm
sudo apt update
sudo apt install mdadm parted
mdadm --versionAntes de avanzar, confirma que no exista otro array activo con el mismo nombre:
cat /proc/mdstat
sudo mdadm --detail --scanPaso 3: crear las particiones RAID
Los siguientes comandos reemplazan las tablas de particiones de/dev/sdby/dev/sdc. Todo dato o esquema anterior puede quedar inaccesible.
Para discos vacíos y ya verificados:
sudo parted -s /dev/sdb mklabel gpt
sudo parted -s /dev/sdb mkpart primary 1MiB 100%
sudo parted -s /dev/sdb set 1 raid on
sudo parted -s /dev/sdc mklabel gpt
sudo parted -s /dev/sdc mkpart primary 1MiB 100%
sudo parted -s /dev/sdc set 1 raid on
sudo partprobe /dev/sdb /dev/sdcComprueba el resultado:
lsblk -o NAME,PATH,SIZE,TYPE,FSTYPE,MOUNTPOINTS /dev/sdb /dev/sdc
sudo parted /dev/sdb print
sudo parted /dev/sdc printDeben existir /dev/sdb1 y /dev/sdc1, sin montar y con tamaños compatibles.
Si son discos reutilizados, inspecciona primero las particiones:
sudo wipefs -n /dev/sdb1
sudo wipefs -n /dev/sdc1
sudo mdadm --examine /dev/sdb1 /dev/sdc1Elimina firmas antiguas únicamente cuando estés seguro de que no necesitas recuperar su contenido.
Paso 4: crear el RAID1
sudo mdadm --create /dev/md0 \
--verbose \
--level=1 \
--raid-devices=2 \
--metadata=1.2 \
--name=datos \
--bitmap=internal \
/dev/sdb1 /dev/sdc1--level=1 selecciona RAID1, --raid-devices=2 define sus dos miembros y el bitmap interno permite registrar bloques modificados para optimizar determinadas reconstrucciones.
Supervisa la sincronización:
watch -n 2 cat /proc/mdstatSal de watch con Ctrl+C cuando finalice. Después comprueba el array:
sudo mdadm --detail /dev/md0
sudo mdadm --detail --test /dev/md0
echo $?Un RAID1 sano muestra dos miembros activos y el patrón [UU]. Con --test, el código 0 indica funcionamiento normal; 1, al menos un miembro fallado; y 2, un array inutilizable. Manual de mdadm.
Paso 5: crear el sistema de archivos
mkfs.ext4elimina cualquier sistema de archivos reconocible en/dev/md0. Ejecútalo solo sobre el array nuevo.
sudo mkfs.ext4 -L datos_raid1 /dev/md0
sudo install -d -m 0750 /srv/datos
sudo blkid /dev/md0Conserva el UUID informado por blkid. No uses /dev/md0 directamente en fstab, ya que el nombre puede cambiar durante el ensamblado.
Paso 6: configurar el montaje persistente
Respalda /etc/fstab:
sudo cp -a /etc/fstab \
"/etc/fstab.bak.$(date +%Y%m%d%H%M%S)"Agrega una línea con el UUID real:
UUID=TU_UUID /srv/datos ext4 defaults 0 2Valida y monta:
sudo findmnt --verify --verbose
sudo mount /srv/datos
findmnt /srv/datos
df -hT /srv/datosEl montaje mediante UUID es más estable y portable que depender del nombre /dev/md0. Manual de mount.
Paso 7: guardar la configuración de mdadm
Obtén la definición del array:
sudo mdadm --detail --scanComprueba si su UUID ya aparece en /etc/mdadm/mdadm.conf. Si no existe, agrega una sola línea ARRAY con la salida anterior. No dupliques entradas.
Actualiza el entorno de arranque:
sudo update-initramfs -umdadm.conf permite identificar y ensamblar el array mediante su UUID, independientemente del orden en que el kernel detecte los discos. Manual de mdadm.conf.
Paso 8: comprobar datos y persistencia
Crea un archivo de prueba y guarda su checksum:
sudo dd if=/dev/urandom \
of=/srv/datos/prueba.bin \
bs=1M count=32 status=progress
sudo sha256sum /srv/datos/prueba.bin \
| sudo tee /root/prueba-raid1.sha256Antes de reiniciar, confirma:
sudo mdadm --detail /dev/md0
cat /proc/mdstat
findmnt /srv/datosDespués del reinicio:
sudo mdadm --detail /dev/md0
cat /proc/mdstat
findmnt /srv/datos
sudo sha256sum -c /root/prueba-raid1.sha256El resultado esperado es [UU], el punto de montaje activo y un checksum correcto.
Paso 9: probar un estado degradado
Haz esta prueba solo en un entorno aislado o durante una ventana de mantenimiento. Confirma primero cuál es el miembro que retirarás:
sudo mdadm --detail /dev/md0Por ejemplo, para simular el fallo de /dev/sdc1:
sudo mdadm --manage /dev/md0 --fail /dev/sdc1
cat /proc/mdstat
sudo mdadm --detail /dev/md0
sudo sha256sum -c /root/prueba-raid1.sha256El array debe aparecer como [U_] o [_U], según el miembro retirado. Los datos continúan disponibles, pero ya no existe redundancia.
Recupera el miembro de prueba:
sudo mdadm --manage /dev/md0 --remove /dev/sdc1
sudo mdadm --manage /dev/md0 --add /dev/sdc1
watch -n 2 cat /proc/mdstatNo reinicies ni desconectes el miembro sano durante la reconstrucción. El proceso termina cuando vuelve a mostrarse [UU].
Sustituir un disco fallado
- Identifica el miembro fallado mediante
mdadm --detail. - Márcalo como defectuoso si todavía aparece activo.
- Retíralo del array.
- Sustituye el disco y vuelve a identificarlo por modelo y serie.
- Crea una partición RAID de tamaño igual o mayor que el miembro sano.
- Agrega la nueva partición y espera la reconstrucción.
Ejemplo:
sudo mdadm --manage /dev/md0 --fail /dev/sdc1
sudo mdadm --manage /dev/md0 --remove /dev/sdc1
# Tras instalar e identificar el reemplazo:
sudo mdadm --manage /dev/md0 --add /dev/sdc1
watch -n 2 cat /proc/mdstat
sudo mdadm --detail /dev/md0No supongas que el reemplazo conservará el mismo nombre /dev/sdc. Verifica siempre su serie y tamaño antes de particionarlo.
Monitoreo y mantenimiento
sudo systemctl status mdmonitor.service
sudo mdadm --detail --test /dev/md0
cat /proc/mdstat
sudo journalctl -u mdmonitor --since todayConfigura alertas reales mediante MAILADDR o un programa de notificación en mdadm.conf. Una alerta que nunca se prueba equivale a no tener monitoreo.
Problemas frecuentes
mdadm informa que el dispositivo está ocupado
Comprueba montajes, swap, LVM y arrays anteriores:
lsblk -f
findmnt
swapon --show
cat /proc/mdstatNo utilices --force sin comprender qué mantiene abierto el dispositivo.
El array aparece como [U_] o [_U]
Uno de los miembros falta o fue marcado como defectuoso. Consulta mdadm --detail, el journal y los errores del kernel antes de agregar o retirar discos.
El array cambia de nombre después de reiniciar
Revisa el UUID y la línea ARRAY de /etc/mdadm/mdadm.conf, elimina entradas duplicadas y vuelve a ejecutar update-initramfs -u.
El sistema de archivos no se monta
Comprueba que el array esté ensamblado, que el UUID de /etc/fstab sea correcto y que el sistema de archivos no tenga errores:
sudo mdadm --detail /dev/md0
sudo blkid /dev/md0
sudo findmnt --verify --verboseEl reemplazo se agrega como spare pero no reconstruye
El array puede no estar degradado o la partición puede ser demasiado pequeña. Revisa State, Active Devices, Working Devices y Spare Devices en mdadm --detail.
Cómo retirar el RAID de forma segura
Desarmar el array no es un rollback de los datos. Si necesitas conservarlos, cópialos a otro almacenamiento y verifica el backup antes de continuar.
Cuando el volumen esté vacío y fuera de uso:
sudo umount /srv/datos
sudo mdadm --stop /dev/md0
sudo mdadm --zero-superblock /dev/sdb1 /dev/sdc1Elimina también la entrada correspondiente de /etc/fstab y mdadm.conf, y actualiza el initramfs. --zero-superblock destruye los metadatos RAID de los miembros.
Conclusión
Un RAID1 correcto no termina con mdadm --create. También requiere identificar de forma inequívoca los discos, esperar la sincronización, montar mediante UUID, configurar el ensamblado durante el arranque y probar la recuperación ante un miembro fallado.

Mantén backups externos y monitoreo activo: RAID1 permite continuar ante la falla de un disco, pero no protege frente a errores que afecten simultáneamente a ambas copias.