RAID5
En este documento se detallan los pasos a seguir para poder realizar un RAID 5 con tres discos en Linux.
Por ello, este ejemplo se realizará en un entorno virtualizad con VirtualBox haciendo uso de tres discos virtuales de una capacidad de 2GB cada uno en una máquina con Ubuntu instalado.

Dependencias
Es necesario tener instalado mdadm:
sudo apt update
sudo apt install mdadm -yFormatear discos
Como siguiente paso, será necesario localizar los discos que se usarán para el RAID:
$ lsblk
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1M 0 part
└─sda2 8:2 0 40G 0 part /
sdb 8:16 0 2G 0 disk
sdc 8:32 0 2G 0 disk
sdd 8:48 0 2G 0 disk
sr0 11:0 1 1024M 0 romEn mi caso, son sdb, sdc y sdd.
El proceso para formatear los discos será el mismo en los tres casos: se usará fdisk.
$ sudo fdisk /dev/sda
Commande (m pour l'aide) : n
Type de partition
p primaire (0 primary, 0 extended, 4 free)
e étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : p
Numéro de partition (1-4, 1 par défaut) : 1
Premier secteur (2048-4194303, 2048 par défaut) :
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-4194303, 4194303 par défaut) :
Une nouvelle partition 1 de type « Linux » et de taille 2 GiB a été créée.
Commande (m pour l'aide) : t
Partition 1 sélectionnée
Hex code or alias (type L to list all): fd
Type de partition « Linux » modifié en « Linux raid autodetect ».
Commande (m pour l'aide) : w
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Synchronisation des disques.Crear el array RAID5
Usando mdadm, se creará un disco virtual, /dev/md0 haciendo uso de los tres discos previamente formateados:
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1Para ver el proceso:
$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdd1[3] sdc1[1] sdb1[0]
4188160 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>Para ver la información del RAID5 creado:
$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Jan 20 08:39:24 2026
Raid Level : raid5
Array Size : 4188160 (3.99 GiB 4.29 GB)
Used Dev Size : 2094080 (2045.00 MiB 2144.34 MB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Tue Jan 20 08:39:39 2026
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : docker-VirtualBox:0 (local to host docker-VirtualBox)
UUID : e667b64c:4d125144:b56e73a0:2ec88c62
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
3 8 49 2 active sync /dev/sdd1Crear el sistema de archivos
Para poder usar el disco /dev/md0 es necesario crear un sistema de archivos, por ejemplo, ext4:
mkfs.ext4 /dev/md0Ahora, ya se puede montar el disco. Para ello, creo una carpeta en la raíz llamada /raid y monto el disco virtual allí de la siguiente manera:
mkdir /raid
sudo mount /dev/md0 /raidY para hacerlo persistente, es necesario editar el archivo /etc/fstab y añadir lo siguiente:
$ cat /etc/fstab
/dev/md0 /raid ext4 defaults 0 0Y la comprobación de que ya está montado:
$ df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
tmpfs 392M 1,7M 390M 1% /run
/dev/sda2 40G 18G 20G 47% /
tmpfs 2,0G 0 2,0G 0% /dev/shm
tmpfs 5,0M 8,0K 5,0M 1% /run/lock
Partagé 465G 423G 42G 91% /home/docker/Documents/Compartida
tmpfs 392M 140K 392M 1% /run/user/1000
/dev/md0 3,9G 24K 3,7G 1% /raidComprobaciones
Una vez visto que el RAID5 está en marcha, es la hora de la verdad y probar si realmente es un RAID5 o no.
Para ello, como primer paso crearé un archivo dentro del RAID:
echo "Hola Plaiaundi" >> /raid/test.txtDe momento, con tres discos, el archivo se encuentra intacto:
$cat /raid/test.txt
Hola PlaiaundiCaso disco roto
He tenido mala suerte y uno de mis discos se ha estropeado, pues ya no aparece en mi máquina:

He eliminado el disco RAID5_3.vdi para simular el caso.
Si ahora intentamos acceder al sistema, no es posible pues, pese a que teóricamente, gracias a la propia naturaleza del RAID5 debería ser posible acceder a los datos, mdadm no se atreve a montar el raid con solo dos discos:
$mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Raid Level : raid5
Total Devices : 2
Persistence : Superblock is persistent
State : inactive
Working Devices : 2
Name : docker-VirtualBox:0 (local to host docker-VirtualBox)
UUID : e667b64c:4d125144:b56e73a0:2ec88c62
Events : 18
Number Major Minor RaidDevice
- 8 33 - /dev/sdc1
- 8 17 - /dev/sdb1Para solucionarlo, se debe detener el raid actual:
sudo mdadm --stop /dev/md0Y nuevamente montar el RAID5 pero con los dos discos restantes:
sudo mdadm --assemble --force /dev/md0 /dev/sdb1 /dev/sdc1
sudo mount /dev/md0 /raidY el archivo seguirá ahí:
$ sudo cat /raid/test.txt
Hola PlaiaundiAgregar nuevo disco
Ahora, sabiendo que uno de los discos está muerto, es hora de agregar un nuevo disco al raid:

Primeramente se debe formatear.
Posteriormente, se debe detener el raid actual no sin antes desmontar la unidad:
sudo umount /raid
sudo mdadm --stop /dev/md0Por último, solo toca volver a montarlo ahora con el nuevo disco:
$ sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid5 devices=3 ctime=Tue Jan 20 08:39:24 2026
mdadm: /dev/sdc1 appears to be part of a raid array:
level=raid5 devices=3 ctime=Tue Jan 20 08:39:24 2026
Continue creating array? yes
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.Si todo va bien, el archivo que se creó seguirá ahí y el raid estará sano:
$ sudo mount /dev/md0 /raid
$ cd /raid/
$ ls
lost+found test.txt
$ cat test.txt
Hola PlaiaundiEliminar dos discos
Antes de nada, es importante comentar la línea añadida al archivo /etc/fstab o de lo contrario el sistema no arrancará.
Si ahora se arranca el sistema con esta configuración:

Se puede apreciar que que ya no existe el raid:
$ sudo mdadm --detail /dev/md0
mdadm: cannot open /dev/md0: No such file or directory
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1M 0 part
└─sda2 8:2 0 40G 0 part /
sdb 8:16 0 2G 0 disk
└─sdb1 8:17 0 2G 0 part
└─md127 9:127 0 0B 0 md Quedando obsoleto el RAID5.