4. Sistema RAID¶
En el següent manual s’explica com dur a terme la creació d’un sistema de discos RAID, tant en Sistemes Operatius Windows com Ubuntu.
Un sistema RAID combina diversos discos per funcionar com una sola unitat, augmentant la seguretat mitjançant còpies redundants, o el rendiment (lectura/escriptura més ràpida).
Windows 10/11¶
Passos¶
- PowerShell com a Administrador
- Per crear els discs virtuals, haurem d’utilitzar l’eina de Windows "DISKPART"
# Es creen 3 VHDs
diskpart # Per accedir dins de l’eina
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
# Es munten els discs
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 # Per sortir de DISKPART
- Comprovem que s’hagin fet correctament les accions.
# Verifiquem existència dels discs
Get-Disk | Format-Table Number, FriendlyName, Size, PartitionStyle -AutoSize
# Haurien d’aparèixer 3 discs virtuals semblants a la següent sortida:
---
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
---
Es crea l’espai d’emmagatzematge:
- Win + S -> Panell de control -> Sistema i seguretat -> Espais d’emmagatzematge
- Crear un nou grup i espais d’emmagatzematge.
- Seleccionem els discs que vulguem utilitzar -> Crear Grup
-
Tipus de resistència = Reflex doble
Mida = 9GB
- Crear espais d’emmagatzematge.
- Verifiquem que al sistema de fitxers apareix la unitat que acabem de crear.
Per automatitzar processos¶
Es poden crear scripts (.bat) perquè cada cop que s’iniciï l’escriptori, es muntin els discs.
-
El primer script tindrà la funció de muntatge, amb els comandaments que hem utilitzat anteriorment per muntar-los manualment.Per a això, es pot crear un arxiu en blanc i copiar les següents instruccions.
Es guardarà amb el nom: "2_muntar_discs_raid.bat"
@echo off
REM ========================================
REM MUNTAR DISCS VIRTUALS RAID
REM ========================================
REM Verificar privilegis d’administrador
net session >nul 2>&1
if %errorLevel% neq 0 (
exit /b 1
)
REM Esperar 5 segons perquè el sistema estigui llest
timeout /t 5 /nobreak >nul
REM Muntar els tres discs
(
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 segon script crearà una tasca que s’executarà cada cop que s’iniciï Windows
Per a això, es pot crear un fitxer en blanc i copiar les següents instruccions. Un cop fet, es guarda amb l’extensió ".bat" i s’executa en mode Administrador.
@echo off
echo ========================================
echo CONFIGURAR MUNTATGE AUTOMÀTIC
echo ========================================
echo.
REM Verificar privilegis d’administrador
net session >nul 2>&1
if %errorLevel% neq 0 (
echo ERROR: Aquest script requereix privilegis d’administrador
pause
exit /b 1
)
REM Obtenir la ruta actual de l’script de muntatge
set "SCRIPT_MONTATGE=%~dp02_muntar_discs_raid.bat"
echo Es configurarà el muntatge automàtic utilitzant:
echo %SCRIPT_MONTATGE%
echo.
REM Crear tasca programada a l’inici de Windows
schtasks /create /tn "MuntardiscsRAID" /tr "\"%SCRIPT_MONTATGE%\"" /sc onstart /ru SYSTEM /rl HIGHEST /f
if %errorLevel% equ 0 (
echo.
echo ========================================
echo CONFIGURACIÓ COMPLETADA
echo ========================================
echo.
echo Els discs virtuals es muntaran automàticament
echo cada cop que Windows s’iniciï.
echo.
echo Per verificar: Executar "taskschd.msc" i buscar "MuntardiscsRAID"
) else (
echo ERROR: No s’ha pogut crear la tasca programada
)
echo.
pause
En aquest moment es podrà fer un reinici de l’escriptori i es podran veure els discs muntats correctament des de l’inici.
- Explicació:
El 1r script emmagatzema les instruccions per muntar els discs.
El 2n script, primer de tot, comprova que s’hagi executat en mode administrador.
Un cop comprovat, crida el 1r script per fer el muntatge i li assigna el nom "SCRIPT_MONTATGE". A partir d’aquí, crea una tasca que s’inicia amb l’inici de l’escriptori i que crida aquest script.
La tasca creada es pot veure executant "taskschd.msc" i cercant "MuntardiscsRAID".
Ubuntu¶
Passos¶
Mitjançant 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
# /
---
Entrant a l’administrador de discs del mateix sistema ho podrem comprovar.
sudo fdisk /dev/vda # Això es pot substituir fent-ho directament des de GParted, només cal fer 2 particions d’1G (1024 MiB)
---
# n (nova partició Disc1)
# Intro
# Intro
# +1G
# n (Disc2)
# Intro
# Intro
# +1G
# w
---
sudo lsblk # Comprovar que s’ha realitzat correctament la acció
---
# 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
Proves de comprovació del bon funcionament:¶
# per provar
sudo apt install -y # Eina que s'utilitza per administrar sistemes d'arxius
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
---
# fi prova








