11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

238 CAPITOLO 6. AMMINISTRAZIONE AVANZATA DEL SISTEMAbackup; un RAID infatti può proteggere dal fallimento dell’hardware di un disco, ma non puònulla contro la corruzione di un filesystem, un utente che cancella i dati dal disco, o un qualunqueincidente che distrugga il vostro array.6.1.2 Il RAID su <strong>Linux</strong>In generale per poter creare un array di dischi in RAID ci sono due opzioni fondamentali:hardware o software. Nel primo caso occorre poter disporre di un supporto hardware, cioè diun controller per i dischi che esegue le operazioni necessarie al suo interno, e presenta al sistemaoperativo l’insieme dei dischi come un dispositivo unico.In teoria un RAID hardware è l’opzione migliore sul piano delle prestazioni in quanto nonnecessita di utilizzare dalle risorse (CPU e memoria) della macchina, ma in genere chiede parecchio(specie per gli SCSI) da quelle del portafogli. Inoltre la superiorità di prestazioni è spessosolo teorica, molti controller hardware (specie quelli IDE) si sono rivelati essere molto più lentidell’implementazione software del kernel <strong>Linux</strong> per la scarsa potenza dei processori utilizzati.Questo, unito al fatto che in genere per molti server la CPU è una risorsa che conta assai poco inconfronto all’importanza dell’I/O su disco, fa si che l’opzione del RAID software nella maggiorparte dei casi si riveli estremamente competitiva.In ogni caso <strong>Linux</strong> supporta vari controller RAID hardware, sia SCSI che IDE. Nel primo caso(i controller SCSI) i vari driver sono disponibili nella sezione Block Devices della configurazionedel kernel. Essi sono in genere accessibili attraverso i file di dispositivo posti in opportunesottodirectory di /dev a seconda del controller (ad esempio per il DAC Mylex si usa rd mentreper gli array Compaq si usa ida). I singoli array vengono identificati per “canale” (spesso icontroller supportano più di una singola catena SCSI) e per “disco”, un dispositivo tipico di unarray è sempre nella forma /dev/rd/c0d0 che indica il primo array sul primo canale. Una voltapartizionato l’array (che a questo punto viene visto come un altro disco) le partizioni sarannoaccessibili con nomi del tipo /dev/ida/c0d0p1.Nel caso di RAID su IDE non ci sono canali, ed i dispositivi sono accessibili, una voltaattivato il relativo supporto, che è nella sezione ATA/IDE/MFM/RLL support, attraversoi file di dispositivo generici disposti nella directory /dev/ataraid, i cui nomi sono analoghi aiprecedenti, soltanto che non presentano un numero di canale; si avrà cioè ad esempio qualcosadel tipo di /dev/ataraid/d0p1.Per quando non si dispone di un supporto hardware <strong>Linux</strong> fornisce un supporto software,attivabile nella sezione Multi-device support, che supporta la creazione di RAID-0, RAID-1,RAID-4, RAID-5 e linear. È cioè possibile far costruire al kernel stesso degli array utilizzandoqualunque tipo di dispositivo a blocchi; dato che gli stessi RAID software sono a loro voltadispositivi a blocchi, è possibile riutilizzarli per metterli in RAID fra di loro (pertanto è possibilecreare un RAID-10 mettendo semplicemente in RAID-0 un precedente array software creato inRAID-1). Una volta costruiti gli array si potrà accedere ad essi con i file di dispositivo /dev/mdX.6.1.3 Il RAID softwareA parte abilitare il supporto nel kernel (cui abbiamo accennato in sez. 5.1.3), per l’utilizzo delRAID software è necessario utilizzare anche gli opportuni programmi in user space; di questiesistono sostanzialmente due versioni, i raidtools (disponibili nell’omonimo pacchetto) e ilprogramma mdadm che invece è un singolo programma che raccoglie al suo interno tutte lefunzionalità divise nei vari componenti dei raidtools, e può funzionare anche senza l’ausilio diun file di configurazione (/etc/raidtab) che invece è necessario per i raidtools. Nel nostrocaso ci concentreremo comunque su questi ultimi.Come accennato i raidtools utilizzano nelle loro operazioni un apposito file di configurazione,/etc/raidtab, che contiene le definizioni di tutti gli array. Il file è diviso in sezioni che

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!