[Linux-Biella] RAID1 software e linuz

Leonardo Buffa linux@bilug.linux.it
Mon, 22 Apr 2002 17:45:32 +0200


ho installato e configurato RAID 1 via SW su linux.
vi racconto come ho fatto, se dovesse servire a qualcuno

kernel 2.4.18
slack 8
due disk SCSI IBM da 18Gb
Adaptec 2940 uw


premessa: a quanto ne so, l'unica distro che prevede di creare RAID
durante l'installazione e' la redhat, quindi la configurazione sotto
altre distro e' leggermente piu' trigosa.

prima di tutto ho ripartito il disco principale secondo le esigenze del
server
ho installato la slack 8 con un minimo di configurazione (as sa mai)
compilato il nuovo kernel con il supporto per RAID1
RTFM

conclusioni:
RAID deve essere creato a fronte di ogni partizione, quindi ripartisco
il secondo disco esattamente come il primo

edito il file /etc/raidtab

esempio:

raiddev /dev/md0			dispositivo RAID
        raid-level      1		livello 1: mirroring
        nr-raid-disks   2		dischi presenti nell'array
        chunk-size      4		dimensione minima del dato da scriversi sul
device (in Kb)
        persistent-superblock 1		*
        device          /dev/sdaX	dispositivo origine
        raid-disk       0		
        device          /dev/sdbX	dispositivo destinazione
        raid-disk       1

* quando viene inizializzato un array con il flag superblock, viene
scritto uno speciale superblock all'inizio dei dischi dell'array. questo
serve a dare la possibilita' al kernel di leggere la configurazione del
RAID accedendo direttamente ai dispositivi anziche' attraverso al file
di configurazione.

dopo aver definito i dispositivi md per tutte le partizioni che volevo
mettere in RAID, ho smontato i dispositivi, ed ho lanciato il comando:
mkraid /dev/md...
per ogni dispositivo presente nel /etc/raidtab
questo crea il vero e proprio mirror tra i dispositivi
ora si puo' montare il dispositivo /dev/md... nel mountpoint e lavorare
con esso.

ATTENZIONE: il RAID non parte automaticamente al boot, lo si deve
lanciare con raidstart /dev/md...

ma le partizioni /dev/sd... o /dev/hd... che sono interessate nell'array
devono essere smontate.

io ho semplicemente remarkato le partizioni interessate nel /etc/fstab e
infine nel file /etc/rc.D/rc.local ho aggiunto:
/sbin/raidstart /dev/md...
/bin/mount /dev/md... mountpoint

queste due righe ripetute per ogni partizione interessata.

con mount poi vedremo che al posto delle vecchie partizioni /dev/sd... o
/dev/hd... avremo /dev/md... e, fermando il RAID con il comando
raidstop, e provando a montare una qualsiasi delle partizioni originali
dei devices vedremo che contengono esattamente gli stessi dati.

---
da qui in avanti non ho testato di persona, devo ancora provare,
riporto, per completezza quello che ho imparato RTFM:

leggermente diverso il discorso per partizioni contenenti il sistema
operativo, infatti e' impossibile smontarle, quindi e' necessario andare
a lavorare usando un terzo disco.
si installa l'OS sul terzo disco e si boota da esso.
si copia il /vmlinuz dal vecchio (cosi' si evita la sukata della
ricompilazione del kernel su un disco ke useremo per 5 minuti)
si dovra' quindi fare la stessa operazione di mkraid modificando sempre
il si dovra' modificare il file /etc/fstab, per dire che pure la root
partition sara' in raid (senza dimenticare il flag
persistent-superblock) e creare quindi il RAID sempre secondo le regole
del file /etc/raidtab che avremo copiato dal disco originale
temporaneamente montato...
a questo punto tutto dovrebbe funzionare, ma questo ve lo dico la
prossima settimana ;)