M.2

¿Qué es Linux MD y cómo se usa para crear un RAID por software?

octubre 22, 2026 Qué es mejor? 9 min read
¿Qué es Linux MD y cómo se usa para crear un RAID por software?

¿Qué es Linux MD y cómo se usa para crear un RAID por software?

Veredicto rápido: qué nivel de RAID usar y para quién

Si tienes dos discos y quieres seguridad ante fallos, ve a RAID 1: espejas los datos y puedes seguir trabajando si uno muere. Es el caso del 90 % de usuarios domésticos y de la mayoría de servidores de archivos pequeños.

Si tienes un presupuesto holgado y quieres rendimiento además de redundancia, salta a RAID 10: necesitas mínimo 4 discos (2 espejos + 0 entre ellos) y sumas velocidad de lectura/escritura con tolerancia a un fallo por par.

Si andas justo de discos y necesitas más capacidad, un RAID 5 con 3 o más unidades te da el equivalente a N-1 discos útiles y tolera un fallo, pero la reconstrucción es lenta y hay un riesgo real de doble fallo durante el rebuild.

Y si solo quieres juntar espacio sin tolerancia, usa JBOD o una concatenación lineal: no es RAID real, pero mdadm lo gestiona igual y es lo más honesto cuando "te sobra disco y te falta tiempo".

Antes de empezar: requisitos reales

Linux MD (Multiple Devices) es el subsistema del kernel que permite crear arrays RAID por software sin necesitar una controladora hardware. Funciona desde el kernel 2.6 (publicado en 2003) y la herramienta de gestión es mdadm, incluida en cualquier distribución moderna.

Antes de tocar nada, asegúrate de cumplir esto:

  • Distribución Linux con kernel 2.6 o superior y paquete mdadm instalado (apt install mdadm o dnf install mdadm).
  • Mínimo 2 discos (o particiones) dedicadas al array, cada una con tipo Linux raid autodetect (código fd00 con fdisk o gdisk).
  • Acceso como root o con sudo, porque crear arrays toca tablas de particiones y módulos del kernel.
  • Backup previo completo de cualquier disco que vayas a reutilizar: mdadm --create borra los superblocks y los datos del dispositivo.

En la práctica: si tu distro arranca, casi seguro tienes kernel y mdadm; lo que suele faltar es preparar bien las particiones y, sobre todo, el backup.

Niveles de RAID que soporta mdadm comparados

Nivel Mínimo de discos Capacidad útil Tolerancia a fallos Rendimiento lectura/escritura Caso de uso típico
RAID 0 2 Suma total de discos Ninguno (0 discos) Lectura y escritura rápidas (paralelo) Edición de vídeo, scratch temporal
RAID 1 2 Tamaño del disco más pequeño 1 disco por espejo Lectura rápida, escritura igual a un disco Servidor de archivos, sistema de externa Externa
RAID 5 3 (N-1) × tamaño disco 1 disco Lectura rápida, escritura con penalización por paridad Almacenamiento NAS, pequeños servidores
RAID 6 4 (N-2) × tamaño disco 2 discos simultáneos Lectura buena, escritura más lenta que RAID 5 NAS con discos grandes, riesgo de doble fallo
RAID 10 4 Mitad del espacio total 1 disco por sub-espejo Muy rápido en lectura y escritura Bases de datos, virtualización
JBOD / linear 1 Suma total de discos Ninguno Igual a un disco individual Juntar discos heterogéneos sin paridad

Datos verificables desde la documentación de mdadm (man mdadm) y la guía oficial del kernel Linux para drivers/md.

Crear un RAID 1 con mdadm paso a paso

  1. Identifica los discos con lsblk o fdisk -l; en el ejemplo serán /dev/sdb y /dev/sdc.
  2. Crea una partición tipo Linux raid autodetect (fd00) en cada uno con fdisk /dev/sdb y repite en /dev/sdc.
  3. Crea el array: mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1.
  4. Formatea: mkfs.ext4 /dev/md0 (o mkfs.xfs /dev/md0 si prefieres XFS).
  5. Crea el punto de montaje: mkdir -p /mnt/raid1 && mount /dev/md0 /mnt/raid1.
  6. Genera el fichero de configuración: mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf.
  7. Actualiza el initramfs para que el array se ensamble al arrancar: update-initramfs -u (Debian/Ubuntu) o dracut -H (Fedora/RHEL).
  8. Persiste el montaje añadiendo a /etc/fstab la línea UUID=<uuid-del-md0> /mnt/raid1 ext4 defaults,nofail 0 2 (obtén el UUID con blkid /dev/md0).

La opción nofail es importante: si el array falla al arrancar, el sistema no se quedará colgado esperando el dispositivo.

Crear un RAID 5 con mdadm paso a paso

  1. Prepara 3 particiones fd00 en /dev/sdb, /dev/sdc y /dev/sdd.
  2. Crea el array con chunk size explícito (por ejemplo 512 KiB, valor habitual para ficheros grandes): mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 --chunk=512 /dev/sdb1 /dev/sdc1 /dev/sdd1.
  3. Formatea con XFS o ext4: mkfs.xfs /dev/md0 (XFS suele rendir mejor en arrays grandes) o mkfs.ext4 /dev/md0.
  4. Monta: mkdir -p /mnt/raid5 && mount /dev/md0 /mnt/raid5.
  5. Guarda la configuración: mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf.
  6. Regenera el initramfs: update-initramfs -u.
  7. Añade la entrada en /etc/fstab con nofail y noatime para reducir escrituras innecesarias.

El chunk size importa: 64 KiB para muchos ficheros pequeños, 512 KiB o 1 MiB para vídeos y bases de datos. Si dudas, deja el valor por defecto.

Gestión diaria: monitorizar, ampliar y reparar

  1. Monitoriza el estado con mdadm --detail /dev/md0; revisa State y Active Devices vs Failed Devices.
  2. Activa el demonio de monitorización añadiendo en /etc/mdadm/mdadm.conf una línea MAILADDR tu@correo y ejecutando mdadm --monitor --scan --daemonise (o habilita el servicio mdadm-monitor con systemctl).
  3. Para ampliar un RAID 5 o 6 con un disco nuevo: mdadm --add /dev/md0 /dev/sde1 y después mdadm --grow /dev/md0 --raid-devices=4 (la redistribución tardará horas en discos grandes).
  4. Para sustituir un disco marcado como failed: retira el viejo con mdadm --remove /dev/md0 /dev/sdc1, añade el nuevo con mdadm --add /dev/md0 /dev/sdc1 (nueva unidad, mismo slot) y deja que la reconstrucción termine (mdadm --detail mostrará rebuilding y un porcentaje).
  5. Forzar un fallo para probar: mdadm --manage /dev/md0 --fail /dev/sdc1 (solo en entornos de prueba, no en producción).

Fallos frecuentes y cómo recuperarse

  • "No veo el array tras rearrancar": casi siempre es que falta el mdadm.conf o el initramfs no se regeneró. Repite mdadm --detail --scan >> /etc/mdadm/mdadm.conf y vuelve a generar el initramfs.
  • "El array se ensambla con un nombre distinto al esperado": mdadm puede detectar el array por metadata aunque le falte un disco. Usa mdadm --assemble --scan y comprueba con mdadm --detail; el nombre cambia si el mdadm.conf no estaba presente al generar el initramfs.
  • "Un disco aparece como spare y no se incorpora": suele pasar tras un fallo doble; ejecuta mdadm --add otra vez con la partición correcta (tipo fd00) y verifica que el kernel la ve con cat /proc/mdstat.
  • "Superblock dañado tras dd o manipulación manual": puedes re-crear el array con mdadm --create usando --assume-clean si los datos estaban bien, pero lo más seguro es montar en modo lectura con mdadm --assemble --run --force y copiar todo a un array nuevo antes de seguir.
  • "Cuando mdadm no detecta nada por UUID": ensambla manualmente con mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1 y, una vez levantado, regenera el mdadm.conf con el UUID correcto (mdadm --detail /dev/md0 muestra el UUID).

Artículo redactado con datos verificados en octubre de 2026.

FAQ

¿Qué es mdadm y para qué sirve?

mdadm es la herramienta de línea de comandos que gestiona los arrays RAID por software del kernel Linux. Permite crear, ensamblar, monitorizar, ampliar y reparar dispositivos mdX sin necesidad de una controladora hardware dedicada.

¿RAID por software o RAID por hardware?

El RAID por software con mdadm consume algo de CPU pero es portable, configurable y no depende de un chipset concreto. El RAID por hardware libera CPU y suele incluir caché con batería, pero ata el array a la controladora: si muere, necesitas la misma o una compatible para recuperar los datos.

¿Se puede mezclar RAID con LVM?

Sí, y es una combinación habitual: primero creas el array con mdadm (por ejemplo RAID 5) y encima colocas LVM para repartir el espacio en volúmenes lógicos con snapshots y resize dinámico. El orden importa: el array va debajo, LVM arriba.

¿Cómo recupero un RAID 1 si el sistema no arranca?

Arranca desde un Live USB de la misma distro, instala mdadm y ejecuta mdadm --assemble --scan. Si se ensambla, monta las particiones y rescata los datos antes de tocar nada más. La opción --force solo si sabes que el superblock es fiable.

Preguntas frecuentes sobre mdadm y RAID por software en Linux

1. ¿Qué es exactamente Linux MD y para qué sirve?

Linux MD es el subsistema del kernel que permite agrupar varios discos o particiones en un único volumen lógico mediante RAID por software. Lo gestiona la herramienta mdadm, que crea, monitoriza y repara los conjuntos. Resulta útil cuando necesitas redundancia o más rendimiento sin comprar una controladora hardware dedicada.

2. ¿Qué tipos de RAID puedo montar con mdadm en Linux?

Con mdadm puedes montar los niveles clásicos: RAID 0 para sumar capacidad y velocidad sin redundancia, RAID 1 para espejo, RAID 5 y RAID 6 con paridad distribuida, y RAID 10 combinando espejo y striping. También existen niveles menos habituales como linear o multipath, pensados para casos muy concretos. La elección depende de cuántos discos tengas y de si priorizas velocidad, redundancia o ambas.

3. ¿Cómo creo un RAID por software paso a paso con mdadm?

El flujo básico es: instalar el paquete mdadm, crear el array con «mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sdb1 /dev/sdc1», generar el sistema de archivos con mkfs y montarlo en fstab para que persista al reiniciar. Tras crearlo conviene guardar la configuración con «mdadm –detail –scan» en /etc/mdadm.conf para que el array se reensamble automáticamente. Verifica el estado con «cat /proc/mdstat».

4. ¿Cómo monitorizo el estado de un array MD y qué hago si falla un disco?

El estado se consulta con «cat /proc/mdstat», que muestra los dispositivos activos, en reconstrucción o fallidos, y con «mdadm –detail /dev/mdX» para ver el rol de cada disco. Si uno cae, lo marcas como faulty con «mdadm –set-faulty», lo retiras físicamente y lo sustituyes; el array empieza la reconstrucción sola, cuya finalización puedes seguir en /proc/mdstat. Conviene activar monitorización por correo en mdadm.conf para recibir avisos sin tener que mirar a mano.

Fuentes

  1. MarkdownconvertersBest Linux Markdown Editor for 2026: Top 10 Reviewedconsultado el 13/10/2026
  2. MdheroFree Markdown Viewer for Linux — .deb, .rpm, AppImage – MDHeroconsultado el 13/10/2026
  3. NyuLinux Monthly Update January 2026 | NYU Courantconsultado el 13/10/2026
  4. Githubaydiler/md-viewer: Fast, lightweight markdown viewer for Linux with …consultado el 13/10/2026
  5. AdamsdeskThe Best Markdown Viewers for the Linux Command Lineconsultado el 13/10/2026