4. Sistema RAID¶
En el siguiente manual se explica cómo llevar a cabo la creación de un sistema de discos RAID, tanto en Sistemas Operativos Windows cómo Ubuntu.
Un sistema RAID combina varios discos para funcionar como una sola unidad, aumentando la seguridad, mediante copias redundantes, o el rendimiento (lectura/escritura más rápida).
Windows 10/11¶
Pasos¶
- PowerShell como Administrador
- Para crear los discos virtuales, deberemos utilizar la herramienta de Windows "DISKPART"
# Se crean 3 VHDs
diskpart # Para acceder dentro de la herramienta
DISKPART> create vdisk file="C:\RAIDDisks\Disco1.vhd" maximum=10000 type=expandable # Disc1
DISKPART> create vdisk file="C:\RAIDDisks\Disco2.vhd" maximum=10000 type=expandable # Disc2
DISKPART> create vdisk file="C:\RAIDDisks\Disco3.vhd" maximum=10000 type=expandable # Disc3
# Se montan los discos
DISKPART> select vdisk file="C:\RAIDDisks\Disco1.vhd"
DISKPART> attach vdisk
DISKPART> select vdisk file="C:\RAIDDisks\Disco2.vhd"
DISKPART> attach vdisk
DISKPART> select vdisk file="C:\RAIDDisks\Disco3.vhd"
DISKPART> attach vdisk
DISKPART> exit # Para salir de DISKPART
- Comprobamos que se hayan hecho correctamente las acciones.
# Verificamos existencia de los discos
Get-Disk | Format-Table Number, FriendlyName, Size, PartitionStyle -AutoSize
# Debería de aparecer 3 discos virtuales parecidos a la salida siguiente:
...
Number FriendlyName Size PartitionStyle
------ ------------ ---- --------------
1 Msft Virtual Disk 10485760000 RAW
2 Msft Virtual Disk 10485760000 RAW
3 Msft Virtual Disk 10485760000 RAW
0 Red Hat VirtIO 171798691840 GPT
---
Se crea el espacio de almacenamiento:
- Win + S -> Panel de control -> Sistema y seguridad -> Espacios de almacenamiento
- Crear un nuevo grupo y espacios de almacenamiento.
- Seleccionamos los discos que queramos utilitzar -> Crear Grup
-
Tipo de resistencia = Reflejo Doble
Tamaño = 9GB
- Crear espacios de almacenamiento.
- Verificamos que en el sistema de archivos nos sale la unidad que acabamos de crear. Si es así ya tenemos el sistema RAID terminado.
Para automatizar Procesos¶
Se pueden crear scripts (.bat), para que cada vez que se inicie el escritorio, se montan los discos.
-
El primer script será el encargado de tener la función de montaje, los comandos que hemos utilizado anteriormente para montarlos manualmente. Para esto, se puede crear un archivo en blanco y copiar las siguientes instrucciones.
Se guarda con el nombre: "2_montar_discos_raid.bat"
@echo off
REM ========================================
REM MONTAR DISCOS VIRTUALES RAID
REM ========================================
REM Verificar privilegios administrador
net session >nul 2>&1
if %errorLevel% neq 0 (
exit /b 1
)
REM Esperar 5 segundos para que el sistema esté listo
timeout /t 5 /nobreak >nul
REM Montar los tres discos
(
echo select vdisk file="C:\RAIDDisks\Disco1.vhd"
echo attach vdisk
echo select vdisk file="C:\RAIDDisks\Disco2.vhd"
echo attach vdisk
echo select vdisk file="C:\RAIDDisks\Disco3.vhd"
echo attach vdisk
) | diskpart >nul 2>&1
exit /b 0
-
El segundo script creará una tarea que se ejecutará cada vez que se inicie Windows
Para esto, se puede crear un archivo en blanco y copiar las siguientes instrucciones. Una vez hecho, se guarda con la extensión ".bat" y se ejecuta en modo Administrador.
@echo off
echo ========================================
echo CONFIGURAR MONTAJE AUTOMÁTICO
echo ========================================
echo.
REM Verificar privilegios administrador
net session >nul 2>&1
if %errorLevel% neq 0 (
echo ERROR: Este script requiere de privilegios de administrador
pause
exit /b 1
)
REM Obtener la ruta actual del script de montaje
set "SCRIPT_MONTAJE=%~dp02_montar_discos_raid.bat"
echo Se configurará el montaje automático utilizando:
echo %SCRIPT_MONTAJE%
echo.
REM Crear tarea programada al inicio de Windows
schtasks /create /tn "MontarDiscosRAID" /tr "\"%SCRIPT_MONTAJE%\"" /sc onstart /ru SYSTEM /rl HIGHEST /f
if %errorLevel% equ 0 (
echo.
echo ========================================
echo CONFIGURACIÓN COMPLETADA
echo ========================================
echo.
echo Los discos virtuales se montarán automáticamente
echo cada vez que Windows encienda.
echo.
echo Para verificar: Ejecutar "taskschd.msc" y buscar "MontarDiscosRAID"
) else (
echo ERROR: No se pudo crear la tarea programada
)
echo.
pause
En este momento se podrá hacer un reinicio del escritorio y se podrán ver los discos montados correctamente desde el inicio.
- Explicación:
El 1r script, almacena las instrucciones para montar los discos.
El 2n script, primero de todo comprueba que se hayan ejecutado en modo administrador.
Una vez comprobado, llama al 1r script para hacer el montaje y le da el nombre "SCRIPT_MONTAJE". A partir de aquí crea una tarea que se inicia al start del escritorio y que llama a este script.
La tarea creada se puede ver ejecutando al buscar "taskschd.msc" y buscar "MontarDiscosRAID"
Ubuntu¶
Pasos¶
Mediante terminal:
sudo apt update
sudo apt upgrade -y
sudo apt install -y mdadm
sudo lsblk
---
# vda 252:0 0 100G 0 disk
# ├─vda1 252:1 0 1M 0 part
# ├─vda2 252:2 0 513M 0 part /boot/efi
# └─vda3 252:3 0 79,5G 0 part /var/snap/firefox/common/host-hunspell
# /
---
Entrando en el administrador de discos del mismo sistema lo podremos verificar.
sudo fdisk /dev/vda # Esto se puede sustituir haciéndolo desde el GParted directamente, solo se necesitarán hacer 2 particiones de 1G (1024 MiB)
---
# n (nueva partición Disco1)
# Intro
# Intro
# +1G
# n (Disco2)
# Intro
# Intro
# +1G
# w
---
sudo lsblk #se hace para comprobar que se realiza correctamente la acción
---
# vda 252:0 0 100G 0 disk
# ├─vda1 252:1 0 1M 0 part
# ├─vda2 252:2 0 513M 0 part /boot/efi
# ├─vda3 252:3 0 79,5G 0 part /var/snap/firefox/common/host-hunspell
# │ /
# ├─vda4 252:4 0 1G 0 part
# └─vda5 252:5 0 1G 0 part
---
sudo wipefs -a /dev/vda4 /dev/vda5
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/vda4 /dev/vda5
---
# yes
---
sudo lsblk
---
# vda 252:0 0 100G 0 disk
# ├─vda1 252:1 0 1M 0 part
# ├─vda2 252:2 0 513M 0 part /boot/efi
# ├─vda3 252:3 0 79,5G 0 part /var/snap/firefox/common/host-hunspell
# │ /
# ├─vda4 252:4 0 1G 0 part
# │ └─md0 9:0 0 1022M 0 raid1
# └─vda5 252:5 0 1G 0 part
# └─md0 9:0 0 1022M 0 raid1
---
sudo mdadm --detail /dev/md0
---
# /dev/md127:
# Version : 1.2
# Creation Time : Wed Nov 12 13:51:17 2025
# Raid Level : raid1
# Array Size : 1046528 (1022.00 MiB 1071.64 MB)
# Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
# Raid Devices : 2
# Total Devices : 2
# Persistence : Superblock is persistent
#
# Update Time : Wed Nov 12 13:51:31 2025
# State : clean
# Active Devices : 2
# Working Devices : 2
# Failed Devices : 0
# Spare Devices : 0
#
# Consistency Policy : resync
#
# Name : ubuntu:0 (local to host ubuntu)
# UUID : 4afe7442:2f7b8bd2:b42d29cd:78ac0321
# Events : 17
#
# Number Major Minor RaidDevice State
# 0 252 4 0 active sync /dev/vda4
# 1 252 5 1 active sync /dev/vda5
---
echo "DEVICE partitions" | sudo tee /etc/mdadm/mdadm.conf >/dev/null
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf >/dev/null
sudo update-initramfs -u
Pruebas de comprobación del buen funcionamiento:¶
# para probar
sudo apt install -y # Herramienta que se utiliza para administrar sistemas de archivos
sudo mkfs.xfs -f /dev/md0
---
# meta-data=/dev/md0 isize=512 agcount=4, agsize=65408 blks
# = sectsz=512 attr=2, projid32bit=1
# = crc=1 finobt=1, sparse=1, rmapbt=0
# = reflink=1 bigtime=0 inobtcount=0
# data = bsize=4096 blocks=261632, imaxpct=25
# = sunit=0 swidth=0 blks
# naming =version 2 bsize=4096 ascii-ci=0, ftype=1
# log =internal log bsize=4096 blocks=1566, version=2
# = sectsz=512 sunit=0 blks, lazy-count=1
# realtime =none extsz=4096 blocks=0, rtextents=0
# Discarding blocks...Done.
---
sudo mount -t xfs -o defaults,noatime,nodiratime /dev/md0 /mnt
sudo lsblk
---
# vda 252:0 0 100G 0 disk
# ├─vda1 252:1 0 1M 0 part
# ├─vda2 252:2 0 513M 0 part /boot/efi
# ├─vda3 252:3 0 79,5G 0 part /var/snap/firefox/common/host-hunspell
# │ /
# ├─vda4 252:4 0 1G 0 part
# │ └─md0 9:127 0 1022M 0 raid1 /mnt
# └─vda5 252:5 0 1G 0 part
# └─md0 9:127 0 1022M 0 raid1 /mnt
---
df -hT /mnt
---
# S. ficheros Tipo Medida En uso Libre %Uso Montado en
# /dev/md0 xfs 1016M 40M 977M 4% /mnt
---
sudo umount /mnt
sudo lsblk
---
# vda 252:0 0 100G 0 disk
# ├─vda1 252:1 0 1M 0 part
# ├─vda2 252:2 0 513M 0 part /boot/efi
# ├─vda3 252:3 0 79,5G 0 part /var/snap/firefox/common/host-hunspell
# │ /
# ├─vda4 252:4 0 1G 0 part
# │ └─md0 9:127 0 1022M 0 raid1
# └─vda5 252:5 0 1G 0 part
# └─md0 9:127 0 1022M 0 raid1
---
# fin prueba








