Práctica Guiada 2: RAID en Linux¶
Objetivo de la práctica¶
Crear un sistema de almacenamiento RAID en un servidor Linux.
Introducción¶
¿Qué es un RAID?¶
Un RAID (Redundant Array of Independent Disks) es un grupo o matriz de discos independientes que se unifican mediante software o hardware para redundar datos y/o utilizar toda la capacidad de cada disco en conjunto.
Diferencia entre RAID por hardware y RAID por software¶
-
RAID por software:
Es una aplicación que permite la creación de RAIDs a nivel lógico a partir de discos conectados al equipo. El software crea un sistema de ficheros que se comporta según el tipo de RAID configurado. -
RAID por hardware:
Es un dispositivo físico (tarjeta de expansión PCI/PCIe o integrado en la placa base) que permite la creación de un RAID de discos, gestionando el RAID sin utilizar el procesador ni la memoria RAM del sistema. Puede incluir caché para agilizar operaciones.
Principales diferencias y ventajas¶
- El RAID por hardware requiere hardware adicional, lo que implica un coste.
- En caso de fallo de un disco, el RAID por hardware suele reconstruirse automáticamente al insertar un disco nuevo.
- El RAID por software evita el punto de fallo de una única tarjeta RAID.
- Actualmente, la diferencia de rendimiento entre ambos es menor gracias a procesadores más potentes.
- El RAID por hardware no utiliza recursos del procesador anfitrión.
Desarrollo¶
Usuario root
Nota: La práctica se realiza como usuario root. Si se usa un usuario con permisos de administración, anteponer sudo a los comandos.
1. Instalación de herramientas¶
-
Instalar una máquina Linux en VirtualBox.
-
Antes de arrancar la máquina, crear dos discos duros (VDI, espacio dinámico) de 5 GB llamados
disco1ydisco2.
Arrancar la máquina y comprobar los discos:
| Comando | Descripción |
|---|---|
sudo fdisk -l |
Listar discos y particiones |

- Si los discos (
/dev/sdby/dev/sdc) tienen particiones, deben formatearse. En este caso, se formatean igualmente:
| Comando | Descripción |
|---|---|
sudo fdisk /dev/sdb |
Crear nueva partición en /dev/sdb |
| (Elegir ‘n’ para nueva partición, valores por defecto, ‘w’ para guardar cambios.) |
-
Repetir para
/dev/sdc. -
Comprobar el formateo:
| Comando | Descripción |
|---|---|
sudo fdisk -l |
Verificar particiones |
- Instalar la herramienta
mdadm:
| Comando | Descripción |
|---|---|
sudo apt update |
Actualizar repositorios |
sudo apt install mdadm |
Instalar mdadm |
Nota: En Ubuntu 24.04, puede que se solicite configurar
mdadmdurante la instalación. Si pregunta por correo, puedes dejarlo en blanco.
¶
2. Montar un RAID¶
- Comando general para crear un RAID:
| Comando | Descripción |
|---|---|
sudo mdadm --create --verbose /dev/md0 --level=tipo_de_raid --raid-devices=numero_de_discos ruta_disco_1 ruta_disco_2 ... |
Crear un RAID con los parámetros indicados |
--verbose: Opcional, muestra información extra.nombre_del_raid: Nombre del RAID, suele empezar pormd.tipo_de_raid: Tipo de RAID (0, 1, 5, 6).numero_de_discos: Número de discos a emplear.-
ruta_disco_n: Ruta de los discos (ej./dev/sdb,/dev/sdc). -
Ejemplo para crear un RAID1:
| Comando | Descripción |
|---|---|
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc |
Crear un RAID1 con dos discos |
- Comprobar la creación del RAID1:
| Comando | Descripción |
|---|---|
sudo fdisk -l |
Listar discos y particiones |
sudo mdadm -D /dev/md0 |
Detalles del RAID |
sudo mdadm --detail /dev/md0 |
Detalles del RAID (alternativo) |

- Crear el sistema de archivos (ext4):
| Comando | Descripción |
|---|---|
sudo mkfs.ext4 /dev/md0 |
Formatear RAID con ext4 |

- Montar la unidad RAID:
| Comando | Descripción |
|---|---|
sudo mkdir -p /mnt/raid |
Crear punto de montaje |
sudo mount /dev/md0 /mnt/raid |
Montar RAID en /mnt/raid |
- Crear un archivo de prueba de 50MB:
| Comando | Descripción |
|---|---|
sudo dd if=/dev/zero of=/mnt/raid/fichero bs=512 count=100000 |
Crear archivo de prueba |
-
Tras reiniciar, el RAID puede aparecer como
/dev/md127. Para evitarlo: -
Obtener información del array:
| Comando | Descripción |
|---|---|
sudo mdadm --detail --scan |
Obtener configuración actual del RAID |
Ejemplo de salida:
ARRAY /dev/md0 metadata=1.2 name=0 UUID=031cea92:50a7a28c:6b077fe7:8817092a
- Añadir la línea al final de
/etc/mdadm/mdadm.conf:
| Comando | Descripción |
|---|---|
echo 'ARRAY /dev/md0 metadata=1.2 name=0 UUID=031cea92:50a7a28c:6b077fe7:8817092a' | sudo tee -a /etc/mdadm/mdadm.conf |
Guardar configuración en mdadm.conf |
O bien:
| Comando | Descripción |
|---|---|
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf |
Guardar configuración en mdadm.conf |
- Actualizar el initramfs para que el RAID se monte correctamente al arrancar:
| Comando | Descripción |
|---|---|
sudo update-initramfs -u |
Actualizar initramfs |
- Comprobar el estado de progreso:
| Comando | Descripción |
|---|---|
sudo mdadm --detail /dev/md0 |
Ver detalles del RAID |
cat /proc/mdstat |
Ver estado de sincronización |
- Reiniciar:
| Comando | Descripción |
|---|---|
sudo reboot |
Reiniciar el sistema |
- El RAID estará disponible como
/dev/md0.
3. Instrucciones de gestión RAID¶
| Comando | Descripción |
|---|---|
sudo mdadm --stop /dev/md127 |
Parar el RAID |
sudo mdadm --assemble --scan |
Activar el RAID |
4. Simular un fallo en el RAID¶
- Simular fallo en un disco:
| Comando | Descripción |
|---|---|
sudo mdadm --verbose --fail /dev/md0 /dev/sdb |
Simular fallo en /dev/sdb |
- Eliminar y volver a añadir el disco:
| Comando | Descripción |
|---|---|
sudo mdadm --remove /dev/md0 /dev/sdb |
Eliminar disco del RAID |
sudo mdadm --zero-superblock /dev/sdb |
Borrar superblock del disco |
sudo mdadm --add /dev/md0 /dev/sdb |
Añadir disco de nuevo al RAID |
- Comprobar la sincronización:
| Comando | Descripción |
|---|---|
cat /proc/mdstat |
Ver estado de sincronización |

Comprobar detalles del RAID:
| Comando | Descripción |
|---|---|
sudo mdadm --detail /dev/md0 |
Ver detalles del RAID |
cat /proc/mdstat |
Ver estado de sincronización |
