Area de-PHPizzata  —  This area is free from PHP crapware

28 dicembre 2008

Linux con boot su dischi RAID (sotware raid)

Parlando di Linux il riferimento è a Debian, e quanto segue è stato provato con la Etch (4.0), la Etch-and-one-half (4.5) e la Lenny Beta 2 (5.0b2).

Per poter affrontare il boot di Debian direttamente da RAID vanno tracciate due considerazioni importanti...

1) Come è possibile effettuare il boot da una RAID software

Se il RAID è software allora il supporto RAID (madm) viene attivato solo durante il boot di linux, dopo il caricamento del kernel.
Questo significa che, semplicemente, non è possibile disporre del supporto di un RAID software al momento del boot.
Però... il RAID di tipo 1 (mirror) duplica i contenuti di una partizione sull'altra, e questo significa che possiamo partire da una partizione di boot anche se questa partizione fa parte di un RAID 1.
Significa anche che non è possibile partire né da un RAID 5 né da un RAID 0 che siano gestiti a livello software.

2) Come Linux gestisce il RAID software

Occorre creare delle partizioni per uso "Linux RAID", e poi configurare il RAID software e su questo creare i file system effettivi.
La mappa delle partizioni viene letta al boot, dopo la creazione delle partizioni RAID e la configurazione del RAID software è necessario un riavvio coatto, un hard reset, per ripartire ed utilizzare le partizioni create dal RAID.

Lo sporco trucco per non impazzire è che su ogni RAID software creato mettiamo una sola partizione, un solo file system.
Ci sarebbe anche da discutere del LVM (Logical Volume Manager), ma nei casi in cui utilizzo Linux le partizioni non sono destinate a contrarsi o espandersi, quindi l'ho volutamente ignorato.

Avvio dell’installazione

Avviamo dal CD della netinstall di Debian.
Nel caso della Lenny Beta 2 ho dovuto avviare il CD da windows, cliccare sull'eseguibile di install e quindi riavviare (partendo dall’HD di Windows) in modo che il grub installato sul disco di boot avviasse il CD. Alla fine del setup occorre ricordarsi di andare nel BIOS e settare i dischi RAID 1 come dischi di avvio che vengono prima di quello windows nella sequenza di boot.
Non so perché, ma pare che il setup di Debian sia profondamente cambiato da Etch a Lenny, migrando verso quello di Fedora.
Una delle conseguenze è che con la Lenny il setup parte in grafica.
Comunque partiamo.

Creazione delle partizioni per il RAID

Sui dischi fisici creiamo le partizioni “Linux RAID” destinate a comporre il RAID.

Qui si differenziano i casi: quello in cui disponiamo di 2 soli dischi (tutto RAID1), e quello in cui abbiamo 3 o più dischi (e faremo RAID 1 e RAID 5).

Due soli dischi

Nel caso di due dischi creeremo su ogni disco due partizioni: la prima di tipo "Linux RAID" grande quanto il disco meno uno o due GB, e la seconda il poco che rimane di tipo swap.
Dopo aver creato le partizioni, su entrambi i dischi "Configure software RAID": configuriamo la prima come "RAID 1" (2 unità attive, 0 di scorta).
Reset fisico, necessario per rileggere i dischi, e passiamo alla creazione dei file system.

Tre o più dischi

Nel caso di più dischi il consiglio è di ricordarsi che i link simbolici funzionano alla grande.
Personalmente invece di impicciarmi con i vari mount point creo un RAID 1 per / ( e quindi per /boot e /home ecc), un RAID5 per il resto e monto il RAID5 sotto /storage.
Poi dei comandi "mv" e dei link simbolici serviranno a spostare /etc, /var, /home e /usr sulla partizione RAID 5.
Creo quindi su tutti i dischi (tutti meno uno) una partizione dal alcuni GB, diciamo da 2 a 5, di tipo Linux RAID.
I dischi sono tre o più, almeno due sono stati preparati per il RAID 1. Sull'ultimo disco la partizione, della stessa misura, la useremo come swap.
Su ogni disco creo anche una seconda partizione Linux RAID, della dimensione rimanente.
Scegliamo "Configure software RAID".
Creiamo un RAID 1 con due unità attive e tante unità di scorta quanti sono i dischi rimanenti meno uno che abbiamo usato per lo swap; avremo quindi 0 partizioni di scorta nel caso di tre dischi totali, 1 partizione di scorta con quattro dischi ecc.
Creiamo anche un RAID5, e qui sta a voi decidere se volete tutte le unità ative o -avendone più di tre- se preferite tenerne anche una di scorta (cosa che io in genere preferisco).
Reset fisico, necessario per rileggere i dischi, e passiamo alla creazione dei file system.

Creazione dei file system

Con la Lenny beta ho visto che era necessario passare per il dialogo di configurazione raid software e non cambiare nulla accettando e tornando indietro, altrimenti non rileggeva i RAID creati prima.

Due soli dischi

Sulla partizione RAID 1 mettiamo una Etx3, che montiamo in root (/), flagghiamo di boot e formattiamo.
Le partizioni swap le useremo tutte come swap.

Tre o più dischi

Anche in questo caso partizione RAID 1 (considerevolmente più piccola) mettiamo una Etx3, che montiamo in root (/), flagghiamo di boot e formattiamo.
Sulla RAID5 mettiamo una Ext3, non lo flagghiamo di boot, formattiamo, e lo montiamo custom (in "/storage", appunto).
Rimane la partizione piccola per lo swap, quella avanzata alle partizioni RAID 1, e la destiniamo a tale uso.
Installeremo solo un base system, e dopo il primo riavvio ci adopereremo per spostare /home, /var (e magari /etc) sotto /storage, sostituendole con link simbolici.

Fine. Have fun! :-)




Un esempio di configurazione, con due HD da 750GB...

Partizioni hd1Partizioni hd2 Volumi logici
746GB, linux RAID746GB, linux RAID746GB, RAID 1, ext3, /
2.1GB, swap2.1GB, swap2.1GB, swap 2.1GB, swap
2.1GB, swap2.1GB, swap2.1GB, swap 2.1GB, swap


Alla fine della configurazione il sistema utilizza un volume ext3 in RAID 1, bootable, e 4 partizioni di swap.
Le partizioni di swap avrebbero anche potuto essere 2, ma pare che partizioni di swap più piccole (da mezzo GB in sù) siano più efficienti, così ho cercato un compromesso tra 8 partizioni da 1 GB e 2 partizioni da 4GB.

Una configurazione alternativa:

Partizioni hd1Partizioni hd2 Volumi logici
146GB, linux RAID146GB, linux RAID146GB, RAID 1, ext3, /
600GB, linux RAID600GB, linux RAID600GB, RAID 1, ext3, /home
2.1GB, swap2.1GB, swap2.1GB, swap 2.1GB, swap
2.1GB, swap2.1GB, swap2.1GB, swap 2.1GB, swap

Etichette: ,

0 Commenti:

Posta un commento

Link a questo post:

Crea un link

<< Home page