Sì, sotto linux il raid è veramente per tutti, anche per chi...non ha dischi da mettere in raid!
Qualsiasi cosa può essere messa in raid con linux: dischi, floppy, memory card...io personalmente ho messo in raid 0 due unità zip
Per giocare un pò con questo potente strumento, creiamo un raid 5 su tre partizioni del nostro computer. Come? Non avete tre partizioni? No problem, mai sentito parlare di "loopback"?
Cosa ci serve
Il pacchetto raidtools: sicuramente la vostra distribuzione lo include, cercatelo tra i cd e installatelo.
Il supporto nel kernel: qualsiasi kernel fornito dalle distribuzioni lo include già compilato
Il supporto loopback: come sopra.
Cosa vogliamo fare: creare tre partizioni "virtuali", contenute in tre file, da mettere in raid 5, formattandole con il vostro file system preferito. Potete usare questo procedimento per creare 2 o più "partizioni virtuali" da mettere in raid 1 o 5, incrementando la sicurezza dei vostri dati in caso di problemi al file system, il tutto senza creare partizioni fisiche per il raid!
Iniziamo: abbiamo bisogno di tre file vuoti. Creiamo 3 file pieni di zero:
dd if=/dev/zero of=/root/part0 bs=1048576 count=64
dd if=/dev/zero of=/root/part1 bs=1048576 count=64
dd if=/dev/zero of=/root/part2 bs=1048576 count=64
Questi comandi creano i file grandi 64 MB (potete usare la dimensione che preferite), che corrispondono a 128MB utili in raid 5.
Purtroppo questi file non sono partizioni, ma...le partizioni sono dei dispositivi a blocchi! Allora associamo un dispositivo a blocchi di tipo "loopback" per ciascuna partizione:
modprobe loop (serve per caricare il supporto loopback nel kernel - nota: alcune distribuzioni includono questo modulo staticamente nel kernel; in tal caso, questo comando non è necessario, e restituisce un errore se eseguito)
losetup /dev/loop/0 /root/part0
losetup /dev/loop/1 /root/part1
losetup /dev/loop/2 /root/part2
hint per gli astuti: con il loopback possiamo attivare la crittografia. man losetup offre tutti i dettagli.
Bene, ora abbiamo le tre partizioni: /dev/loop/0-1-2.
Creiamo quindi il file /etc/raidtab, con il seguente contenuto:
code:
raiddev /dev/md/0
raid-level 5
nr-raid-disks 3
nr-spare-disks 0
persistent-superblock 1
chunk-size 4
device /dev/loop/0
raid-disk 0
device /dev/loop/1
raid-disk 1
device /dev/loop/2
raid-disk 2
raiddev /dev/md/0
raid-level 5
nr-raid-disks 3
nr-spare-disks 0
persistent-superblock 1
chunk-size 4
device /dev/loop/0
raid-disk 0
device /dev/loop/1
raid-disk 1
device /dev/loop/2
raid-disk 2
Abbiamo quasi finito. Carichiamo ora il supporto raid generico del kernel
modprobe md
...e il supporto per il raid 5
modprobe raid5
Come per loop, md e raid5 potrebbero essere stati compilati staticamente nel kernel, quindi non vi spaventate se viene riportato un errore.
Rimane da inizializzare il raid: mkraid /dev/md/0. Questo comando va eseguito solo questa volta; successivamente, per riattivare il raid, basterà eseguire raidstart /dev/md/0.
Ok ora /dev/md/0 è una "partizione" come tutte le altre, grande 128mb. Creiamo un file system a nostra scelta, a me piace il reiserfs ad esempio:
mkfs.reiserfs /dev/md/0
...e montiamo la partizione da qualche parte:
mount -t reiserfs /dev/md/0 /mnt/raid
that's all folks!
nb per "smontare il tutto", eseguire:
umount /mnt/raid (ovviamente)
raidstop /dev/md/0 (ferma il raid)
losetup -d /dev/loop/0 (rilascia i dispositivi loopback)
losetup -d /dev/loop/1
losetup -d /dev/loop/2
Ora che avete imparato, potete studiarvi un pò meglio con la documentazione e sperimentare tutti i tipi di raid che volete, usando dei file in loopback per simulare le partizioni.