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.