11.2. Alta disponibilitÓ con RAID

Quando la necessitÓ di immagazzinare dati cresce, diventa talvolta necessario aggiungere dischi a pi¨ elevata capacitÓ. Il calcolo delle probabilitÓ afferma che quando il numero dei componenti hardware destinati a immagazzinare dati aumenta, aumenta anche la probabilitÓ di qualche malfunzionamento. Quindi, un sistema con un solo hard-disk ha solo il 25% di probabilitÓ di rompersi rispetto ad un sistema con quattro dischi. [ Almeno teoricamente :-) ]

Fortunatamente questi malfunzionamenti possono essere gestiti tranquillamente e, soprattuto, senza periodi morti, usando una tecnica chiamata "Redundant Array of Inexpensive Disks" (RAID) (letteralmente "Eccesso di dischi a buon mercato" n.d.t.) che utilizza uno dei diversi metodi di distribuzione di dati su pi¨ dischi. La ridondanza permette di recuperare automaticamente i dati in caso di malfunzionamento di un disco.

Questa sezione descriverÓ l'installazione e la configurazione di un apparato RAID tramite il controller Mylex AcceleRAID DAC960. Sono rimasto molto impressionato non solo dalle prestazione e dalla stabilitÓ del controller, ma anche dal supporto tecnico che ho avuto da Mylex -- devo dire che sono molto ben disposti verso Linux! Comunque esiste una grande varietÓ di hardware RAID per Linux, e RAID pu˛ essere implementato nei software mediante il kernel di Linux. Il tipo d'implementazione di RAID pi¨ utilizzato Ŕ, probabilmente, il RAID level 5.

Il primo passo per usare un controller RAID sotto Linux Ŕ quello di aggiungere al kernel il driver per il nuovo hardware. Il driver per Mylex DAC960 pu˛ essere scaricato dal sito web di Dandelion Digital Linux su http://www.dandelion.com/Linux/DAC960-2.0.tar.gz.

L'ultimo passo per utilizzare un apparato RAID sotto Linux Ŕ quello di servirsi dell'utilitÓ "fdisk" per creare partizioni valide. Per tale operazione vale lo stesso discorso fatto per usare dischi IDE o SCSI. Si veda la Sezione 4.3 per informazioni sulle impostazioni della partizioni.

Nota

Il driver DAC960 supporta massimo 7 partizioni per ogni disco logico. Se avete bisogno di altre, dovrete definire dischi logici multipli nell'utilitÓ di configurazioni di RAID (premete <Alt>-<R> al momento del boot per entrare nel setup).

Uno volta che siete in grado di vedere il vostro apparato RAID, dovrete inizializzare ogni area di swap e ogni file system che volete definire. Quanto segue Ŕ un esempio di inizializzazione di un area di swap sulla terza partizione del secondo disco, cosý come un file system (ext2) sulla prima partizione del primo disco:

/sbin/mkswap -c /dev/rd/c0d1p3
/sbin/swapon /dev/rd/c0d1p3
/sbin/mkfs.ext2 -c /dev/rd/c0d0p1

Nota

Note: L'opzione "-c" nei comandi "mkswap" e "mkfs.ext2" attivano il controllo dei bad-block quando vengono creati gli swap/file system. Questo sostanzialmente comporta maggior tempo per completare ilprocesso, ma Ŕ una buona soluzione per effettuare questi controlli.

Per ogni nuova area di swap, dovrete aggiungere un riga al file "/etc/fstab" per fare in modo che vengano utilizzate fin dal successivo boot-up. Nel caso del nostro esempio, dovrete aggiungere la seguente riga:

/dev/rd/c0d1p3  swap       swap  defaults   0 0

Infine, dopo che i vostri file system sono stati inizializzati, potete creare i mount point e spostare sul sistema, come meglio desiderate, i vostri enormi file system. ╚ un buona idea verificare, per alcuni giorni, che tutto funzioni bene prima di usarlo in un ambiente di produzione.

Per maggiori informazioni sul controller Mylex AcceleRAID visitate il sito web http://www.mylex.com/ e le pagine relative al driver Dandelion Digital DAC960 su http://www.dandelion.com/Linux/DAC960.html. Per altre informazioni su RAID visitate il sito web Linux High Availability su http://linas.org/linux/raid.html.