¿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
mdadminstalado (apt install mdadmodnf install mdadm). - Mínimo 2 discos (o particiones) dedicadas al array, cada una con tipo
Linux raid autodetect(códigofd00confdiskogdisk). - 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 --createborra 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
- Identifica los discos con
lsblkofdisk -l; en el ejemplo serán/dev/sdby/dev/sdc. - Crea una partición tipo
Linux raid autodetect(fd00) en cada uno confdisk /dev/sdby repite en/dev/sdc. - Crea el array:
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1. - Formatea:
mkfs.ext4 /dev/md0(omkfs.xfs /dev/md0si prefieres XFS). - Crea el punto de montaje:
mkdir -p /mnt/raid1 && mount /dev/md0 /mnt/raid1. - Genera el fichero de configuración:
mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf. - Actualiza el initramfs para que el array se ensamble al arrancar:
update-initramfs -u(Debian/Ubuntu) odracut -H(Fedora/RHEL). - Persiste el montaje añadiendo a
/etc/fstabla líneaUUID=<uuid-del-md0> /mnt/raid1 ext4 defaults,nofail 0 2(obtén el UUID conblkid /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
- Prepara 3 particiones
fd00en/dev/sdb,/dev/sdcy/dev/sdd. - 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. - Formatea con XFS o ext4:
mkfs.xfs /dev/md0(XFS suele rendir mejor en arrays grandes) omkfs.ext4 /dev/md0. - Monta:
mkdir -p /mnt/raid5 && mount /dev/md0 /mnt/raid5. - Guarda la configuración:
mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf. - Regenera el initramfs:
update-initramfs -u. - Añade la entrada en
/etc/fstabconnofailynoatimepara 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
- Monitoriza el estado con
mdadm --detail /dev/md0; revisaStateyActive DevicesvsFailed Devices. - Activa el demonio de monitorización añadiendo en
/etc/mdadm/mdadm.confuna líneaMAILADDR tu@correoy ejecutandomdadm --monitor --scan --daemonise(o habilita el serviciomdadm-monitorcon systemctl). - Para ampliar un RAID 5 o 6 con un disco nuevo:
mdadm --add /dev/md0 /dev/sde1y despuésmdadm --grow /dev/md0 --raid-devices=4(la redistribución tardará horas en discos grandes). - Para sustituir un disco marcado como
failed: retira el viejo conmdadm --remove /dev/md0 /dev/sdc1, añade el nuevo conmdadm --add /dev/md0 /dev/sdc1(nueva unidad, mismo slot) y deja que la reconstrucción termine (mdadm --detailmostrarárebuildingy un porcentaje). - 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.confo el initramfs no se regeneró. Repitemdadm --detail --scan >> /etc/mdadm/mdadm.confy vuelve a generar el initramfs.
- "El array se ensambla con un nombre distinto al esperado":
mdadmpuede detectar el array pormetadataaunque le falte un disco. Usamdadm --assemble --scany comprueba conmdadm --detail; el nombre cambia si elmdadm.confno estaba presente al generar el initramfs.
- "Un disco aparece como
sparey no se incorpora": suele pasar tras un fallo doble; ejecutamdadm --addotra vez con la partición correcta (tipofd00) y verifica que el kernel la ve concat /proc/mdstat.
- "Superblock dañado tras
ddo manipulación manual": puedes re-crear el array conmdadm --createusando--assume-cleansi los datos estaban bien, pero lo más seguro es montar en modo lectura conmdadm --assemble --run --forcey 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/sdc1y, una vez levantado, regenera elmdadm.confcon el UUID correcto (mdadm --detail /dev/md0muestra elUUID).
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
- MarkdownconvertersBest Linux Markdown Editor for 2026: Top 10 Reviewedconsultado el 13/10/2026
- MdheroFree Markdown Viewer for Linux — .deb, .rpm, AppImage – MDHeroconsultado el 13/10/2026
- NyuLinux Monthly Update January 2026 | NYU Courantconsultado el 13/10/2026
- Githubaydiler/md-viewer: Fast, lightweight markdown viewer for Linux with …consultado el 13/10/2026
- AdamsdeskThe Best Markdown Viewers for the Linux Command Lineconsultado el 13/10/2026
