Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1162

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Software-RAID HOWTO: Perch&eacute; il RAID ?</TITLE>
 <LINK HREF="Software-RAID-HOWTO-3.html" REL=next>
 <LINK HREF="Software-RAID-HOWTO-1.html" REL=previous>
 <LINK HREF="Software-RAID-HOWTO.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="Software-RAID-HOWTO-3.html">Avanti</A>
<A HREF="Software-RAID-HOWTO-1.html">Indietro</A>
<A HREF="Software-RAID-HOWTO.html#toc2">Indice</A>
<HR>
<H2><A NAME="s2">2. Perch&eacute; il RAID ?</A></H2>

<P>Possono esserci molte buone ragioni per usare il RAID. Alcune sono: la capacit&agrave; di combinare diversi dischi "reali" in un dispositivo "virtuale" pi&ugrave; grande, l'aumento delle prestazioni e la ridondanza.
<P>
<P>
<H2><A NAME="ss2.1">2.1 Aspetti Tecnici</A>
</H2>

<P>Il RAID per Linux pu&ograve; funzionare sulla maggior parte dei dispositivi a blocchi. Non importa se usate dispositivi SCSI o IDE o una loro combinazione. Alcuni hanno usato il Network Block Device (NBD) con pi&ugrave; o meno successo.
<P>Assicuratevi che il bus (o i bus) a cui sono collegati i dischi siano abbastanza veloci. Non dovreste avere 14 dispositivi UW-SCSI su un bus UW, se ogni disco pu&ograve; fornire 10 MB/s e il bus pu&ograve; sostenere solo 40 MB/s.
Inoltre, dovreste avere solo un disco per ogni bus IDE. Far lavorare i dischi come master e slave &egrave; tremendo per le prestazioni. L'IDE non lavora bene quando deve accedere a pi&ugrave; di un disco per bus.  Naturalmente, tutte le schede madri pi&ugrave; recenti hanno due bus IDE, cos&igrave; che possiate montare due dischi in RAID senza dover acquistare degli ulteriori controller.
<P>Il layer (strato) RAID non ha assolutamente nulla a che fare con il layer del filesystem. Potete mettere qualsiasi filesystem su un dispositivo RAID, cos&igrave; come su qualunque altro dispositivo a blocchi.
<P>
<P>
<H2><A NAME="ss2.2">2.2 Termini</A>
</H2>

<P>L'acronimo "RAID" indica il "Linux Software RAID". Questo HOWTO non copre nessuno degli aspetti dell'Hardware RAID.
<P>Quando si descrivono i setup, &egrave; utile fare riferimento al numero dei dischi e alle loro dimensioni. Per tutto l'HOWTO la lettera <B>N</B> &egrave; usata per identificare il numero di dischi attivi nell'array (senza contare gli
spare-disk). La lettera <B>S</B> &egrave; la dimensione del pi&ugrave; piccolo disco dell'array, se non diversamente specificato. La lettera <B>P</B> &egrave; usata come indice di prestazione di un disco dell'array, in MB/s.
Di solito, si assume che tutti i dischi dell'array siano ugualmente veloci, il che pu&ograve; non essere sempre vero.
<P>Occorre notare che le parole "dispositivo" (``device'') e "disco" (``disk'') significano la stessa cosa.  Di solito i dispositivi usati per costruire un dispositivo RAID sono delle partizioni sui dischi e non necessariamente interi dischi. Combinare diverse partizioni su un disco di solito non ha senso, cos&igrave; le parole dispositivi e dischi significano "partizioni su dischi diversi".
<P>
<P>
<H2><A NAME="ss2.3">2.3 I livelli RAID</A>
</H2>

<P>Viene qui presentato brevemente ci&ograve; che &egrave; supportato nelle Linux RAID patch. Alcune delle informazioni sono dei ragguagli assolutamente basilari sul RAID.  Saltate pure questa parte se conoscete il RAID. Potete sempre tornare a leggerla se doveste avere dei problemi  :).
<P>Le patch RAID attuali per Linux supportano i seguenti livelli:
<UL>
<LI><B>Linear mode</B>
<UL>
<LI>Due o pi&ugrave; dischi sono combinati in un dispositivo fisico. I dischi sono "appesi" (accodati) l'uno all'altro, cos&igrave; lo scrivere sul dispositivo RAID riempir&agrave; prima il disco 0, poi il disco 1 e cos&igrave; via. Non &egrave; obbligatorio che i dischi abbiano la stessa dimensione. Infatti, non importa affatto  :)</LI>
<LI>Non c'&egrave; ridondanza in questo livello. Se un disco si danneggia, probabilmente tutti i dati saranno persi. Potreste comunque essere fortunati e recuperare alcuni dati, perch&eacute; il filesysytem star&agrave; perdendo solo un grande blocco consecutivo ("chunk") di dati.</LI>
<LI>Le prestazioni in lettura e scrittura non miglioreranno per delle singole letture/scritture. Ma se diversi utenti utilizzano il dispositivo, potreste essere fortunati nel caso in cui un utente usi il primo disco e l'altro stia accedendo a dei file che stanno sul secondo disco. Se succede questo, dovreste accorgervi di un incremento di prestazioni.</LI>
</UL>
</LI>
<LI><B>RAID-0</B>
<UL>
<LI>Detto anche modalit&agrave; (mode) ``stripe''. Come il linear mode, eccetto che le letture e le scritture sono fatte in parallelo sui dischi. I dischi dovrebbero essere approssimativamente della stessa dimensione. Siccome tutti gli accessi sono effettuati in parallelo, i dischi si dovrebbero riempire nella stessa misura. Se un disco &egrave; pi&ugrave; grande degli altri, lo spazio eccedente &egrave; ancora usato nel dispositivo RAID, ma l'accesso avverr&agrave; solo sul disco pi&ugrave; grande durante le scritture alla fine del dispositivo RAID. Questo va naturalmente a detrimento (deterioramento??) delle prestazioni.</LI>
<LI>Come per il linear mode, non c'&egrave; nessuna ridondanza in questo livello. Diversamente dal linear mode, non sar&agrave; possibile recuperare alcun dato se un disco si danneggia. Se un disco viene rimosso da un RAID-0, il RAID non perder&agrave; solo un grande consecutivo blocco di dati, esso sar&agrave; riempito con piccoli buchi lungo tutto il dispositivo. e2fsck non sar&agrave; probabilmente in grado di recuperare molto da questo dispositivo.</LI>
<LI>Le prestazioni in lettura e scrittura cresceranno, poich&eacute; le letture e scritture sono fatte in parallelo sui dischi. Questa &egrave; solitamente la ragione per cui si implementa un RAID-0. Se i bus che collegano i dischi sono abbastanza veloci, si dovrebbe ottenere qualcosa di molto vicino a N*P MB/s.</LI>
</UL>
</LI>
<LI><B>RAID-1</B>
<UL>
<LI>Questa &egrave; la prima modalit&agrave; che presenta ridondanza. Il RAID-1 pu&ograve; essere usato su due o pi&ugrave; dischi con zero o pi&ugrave; spare-disk. Questa modalit&agrave; mantiene un'immagine (mirror) esatta del contenuto di un disco sugli altri. Naturalmente i dischi devono essere della stessa dimensione. Se un disco &egrave; pi&ugrave; grande di un altro, il dispositivo RAID avr&agrave; la dimensione del disco pi&ugrave; piccolo.</LI>
<LI>Se fino a N-1 dischi vengono rimossi (o si danneggiano), tutti i dati saranno ancora intatti. Se ci sono spare-disk disponibili e se il sistema (leggi SCSI driver o chipset IDE, ecc.) sopravvive al blocco del sistema, la ricostruzione del mirror inizier&agrave; immediatamente su uno degli spare-disk, dopo aver individuato il disco danneggiato.</LI>
<LI>Le prestazioni in scrittura sono piuttosto peggiori che su un singolo dispositivo, perch&eacute; delle copie identiche dei dati scritti devono essere inviate a ogni disco dell'array. Le prestazioni in lettura sono <EM>di solito</EM> piuttosto cattive a causa di una troppo semplificata strategia di read-balancing nel codice RAID. Comunque, &egrave; stata implementata un strategia di read-balancing migliorata, che potrebbe diventare disponibile per le patch del Linux kernel 2.2 (chiedere sulla linux-kernel list), e sar&agrave; molto probabilmente nel supporto RAID del kernel 2.4.</LI>
</UL>
</LI>
<LI><B>RAID-4</B>
<UL>
<LI>Questo livello RAID non &egrave; usato molto spesso. Pu&ograve; essere usato su tre o pi&ugrave; dischi. Invece di fare un immagine (mirror) completa delle informazioni, esso tiene delle informazioni di parit&agrave; su un disco e scrive i dati sugli altri dischi in una maniera simile al RAID-0. Siccome un disco &egrave; riservato per le informazioni di parit&agrave;, la dimensione dell'array sar&agrave; (N-1)*S, dove S rappresenta la dimensione del pi&ugrave; piccolo disco dell'array. Cos&igrave; come nel RAID-1, i dischi dovrebbero essere della stessa dimensione, altrimenti il valore S nella formula precedente sar&agrave; la dimensione del pi&ugrave; piccolo disco dell'array.</LI>
<LI>Se un disco si danneggia, le informazioni di parit&agrave; possono essere utilizzate per ricostruire tutti i dati. Se si danneggiano due dischi tutti i dati saranno persi.</LI>
<LI>La ragione per cui questo livello non &egrave; usato spesso &egrave; che l'informazione di parit&agrave; &egrave; tenuta su un disco. Quindi questa informazione deve essere aggiornata <EM>ogni</EM> volta uno degli altri dischi viene scritto. Quindi, il disco che contiene l'informazione di parit&agrave; diventa un collo di bottiglia, se esso non &egrave; molto pi&ugrave; veloce degli altri dischi. Comunque, se vi accade di avere molti dischi lenti ed uno molto veloce, questo livello RAID pu&ograve; essere molto utile.</LI>
</UL>
</LI>
<LI><B>RAID-5</B>
<UL>
<LI>Questa &egrave; forse la pi&ugrave; utile modalit&agrave; RAID quando di desidera combinare un gran numero di dischi e mantenere ancora una certa ridondanza. Il RAID-5 pu&ograve; essere usato su tre o pi&ugrave; dischi, con zero o pi&ugrave; spare-disk. Il dispositivo RAID-5 che viene fuori avr&agrave; la dimensione (N-1)*S, come nel RAID-4. La grande differenza fra il RAID-5 ed il RAID-4 &egrave; che le informazioni di parit&agrave; sono distribuite in modo uguale fra i dischi di cui &egrave; composto l'array, evitando cos&igrave; il collo di bottiglia che si creava nel RAID-4.</LI>
<LI>Se uno dei dischi si danneggia, tutti i dati saranno ancora intatti, grazie alle informazioni di parit&agrave;. Se degli spare-disk sono disponibili, la ricostruzione inizier&agrave; immediatamente dopo il guasto del dispositivo. Se due dischi si danneggiano simultaneamente, tutti i dati saranno persi. Il RAID-5 pu&ograve; sopravvivere al danneggiamento di un disco, ma non a quello di due o pi&ugrave;.</LI>
<LI>Sia le prestazioni in scrittura che in lettura migliorano, ma &egrave; difficile predire di quanto.</LI>
</UL>
</LI>
</UL>
<P>
<H3>Spare disks</H3>

<P>Gli spare disks sono dischi che non fanno parte dell'array RAID fino a che uno dei dischi attivi smette di funzionare. Quando il guasto di un disco viene rilevato, questo dispositivo viene marcato come "cattivo" (bad) e la ricostruzione viene immediatamente iniziata su uno degli spare-disk a disposizione.
<P>Quindi, gli spare-disk aggiungono un'utile extra sicurezza specialmente ai sistemi RAID-5. Ci si pu&ograve; permettere di far lavorare il sistema per un po', con un dispositivo guasto, poich&eacute; tutta la ridondanza &egrave; conservata per mezzo degli spare-disk.
<P>Non si pu&ograve; essere sicuri che un sistema sopravviva al guasto di un disco. Il RAID layer dovrebbe gestire i guasti ai dischi piuttosto bene, ma i driver SCSI potrebbero crollare sulla gestione degli errori, o il chipset IDE potrebbe bloccarsi, oppure una quantit&agrave; di altre cose potrebbe accadere.
<P>
<P>
<P>
<H2><A NAME="ss2.4">2.4 Fare lo Swap su RAID</A>
</H2>

<P>Non c'&egrave; nessuna ragione nell'usare il RAID per questioni di prestazioni dello swap. Il kernel stesso pu&ograve; creare delle stripe facendo lo swap su pi&ugrave; dispositivi, se solo gli date la stessa priorit&agrave; nel file fstab.
<P>Un fstab ben fatto si presenta cos&igrave;:
<PRE>
/dev/sda2       swap           swap    defaults,pri=1   0 0
/dev/sdb2       swap           swap    defaults,pri=1   0 0
/dev/sdc2       swap           swap    defaults,pri=1   0 0
/dev/sdd2       swap           swap    defaults,pri=1   0 0
/dev/sde2       swap           swap    defaults,pri=1   0 0
/dev/sdf2       swap           swap    defaults,pri=1   0 0
/dev/sdg2       swap           swap    defaults,pri=1   0 0
</PRE>

Questa configurazione permette alla macchina di fare lo swap in parallelo su sette dispositivi SCSI. Non c'&egrave; nessuna necessit&agrave; del RAID, visto che questa &egrave; da sempre una caratteristica intrinseca del kernel.
<P>Un'altra ragione per usare il RAID per lo swap &egrave; l'elevata disponibilit&agrave;. Se per esempio si costruisce un sistema che fa il boot su un dispositivo RAID-1, il sistema dovrebbe essere in grado di sopravvivere al danneggiamento di un disco. Ma se il sistema stava facendo lo swap sul dispositivo guasto, ci sar&agrave; sicuramente un blocco. Fare lo swap su un dispositivo RAID-1 risolverebbe questo problema.
<P>Ci sono state molte discussioni se fare lo swap fosse stabile sui dispositivi RAID. Questo &egrave; un dibattito continuo, che dipende per la maggior parte su altri aspetti del kernel. Nel momento in cui viene scritto questo HOWTO, sembra che fare lo swap su RAID sia perfettamente stabile, <EM>eccetto</EM> quando l'array &egrave; in fase di ricostruzione (per esempio dopo che un nuovo disco &egrave; stato inserito in un array danneggiato). Quando il kernel 2.4 sar&agrave; rilasciato, questa &egrave; una questione che sar&agrave; sistemata piuttosto rapidamente, ma fino ad allora, dovreste testare profondamente il sistema da soli fino a che sarete soddisfatti per la stabilit&agrave; oppure concluderete che non volete fare lo swap su RAID.
<P>Potete costruire un RAID in un file di swap su un filesystem sul vostro dispositivo RAID, o potete costruire un dispositivo RAID come una partizione di swap, come preferite.  Come sempre, il dispositivo RAID &egrave; solo un dispositivo a blocchi.
<P>
<P>
<HR>
<A HREF="Software-RAID-HOWTO-3.html">Avanti</A>
<A HREF="Software-RAID-HOWTO-1.html">Indietro</A>
<A HREF="Software-RAID-HOWTO.html#toc2">Indice</A>
</BODY>
</HTML>