[gl-como] Server e RAID (?)
Claudio Marforio
marforio@gmail.com
Mer 8 Mar 2006 13:50:36 CET
Dato che sei stato molto chiaro e ho capito parecchie cose con questo riassunto,
potresti fare lo stesso per il raid5? Ovvero come viene riconosciuto e quali
sono i possibili scenari alla perdita di un disco?
Grazie mille, dovresti fare l'insegnante ;)
ciop ciop
Claudio
Pirla wrote:
> Il giorno mar, 07/03/2006 alle 10.43 +0100, Riccardo Penco ha scritto:
>> Pirla ha scritto:
>
>> Premetto che non ho esperienze in merito.
>> Da quello che avevo capito pero', raid0 quando deve salvare un file ne
>> scrive sempre una parte su ogni disco che compone il raid (il motivo per
>> cui e' tanto veloce). Se si rompe un disco io perdo parte
>> dell'informazione di qualsiasi file nel filesystem.
>> Per come avevo capito, invece, LVM inizia a scrivere sul primo disco,
>> quando esaurisce lo spazio, passa al secondo e cosi' via. In questo modo
>> tutte le informazioni (i byte) di quasi tutti i file sono contenuti in
>> un singolo disco. Fanno ovviamente eccezione i file che sono a cavallo
>> di due dischi. Quando si rompe un disco io dovrei perdere solo i file
>> contenuti (completamente o in parte) nello stesso.
>> [Cosa] ho capito male?
> Diciamo che hai capito *molto* male un po' tutto.
> Cominciamo da un presupposto di fondo.
> Tu ragioni a livello di file, invece devi ragionare a livello di disco
> (e quindi di blocchi del disco).
>
> Detto questo vediamo come funzionano i principi raid, opartendo
> dall'hardware e poi passando al software.
>
> Un controller intelligente che ti permette di gestire i raid si comporta
> in questo modo.
> 1. Riconosce una serie di dispositivi di memorizzazione
> (presupponiamo che siano geometricamente uguali anche se non è
> importante), e ti permette (quando ancora il sistema operativo
> non è partito) di gestirli e di aggregarli in raid. Prendiamo in
> considerazione il raid 0 di 2 dischi (anche se nessuno
> praticamente lo fa) e il raid 1 di 2 dischi.
> 2. A questo punto il configuratore decide di fare un raid 0. Lo
> comunica al controller ed il controller scrive alcune
> informazioni sui dischi. A questo punto presenta al PC/Server un
> disco fisico formato dall'unione dei due dischi. Questo disco
> logico avrà la dimensione data dalla somma dei due dischi
> fisici. Avrà una geometria che il controller definisce. Avrà uno
> stripe size ben definito (prendiamo per esempio 256 KB).
> 3. Il bios del PC/Server fa partire un sistema operativo dicendogli
> di avere un disco che ha una certa geometria (mediata dal
> controller che tradurrà poi le informazioni provenienti dal S.O.
> verso i vari dischi fisici che compongono il disco logico).
> 4. A questo punto il sistema comincia ad accedere al disco logico.
> Ogni richiesta di blocchi viene mediata dal controller che sa
> che lo stripe size è di 256KB. Quando il sistema chiede di
> leggere o scrivere un blocco allora il controller decide dove
> sta il blocco e lo passa al sistema operativo. Naturalmente le
> performance dipendono da molti fattori ma ignoriamo questo e
> pensiamo al fatto che si ha un accesso pressocchè parallelo in
> entrambi i dischi. Se un file ipotetico sta dentro un blocco che
> è più piccolo dello stripe size, è molto probabile che sia
> memorizzato su un unico disco, ma se è grande verrà spalmato su
> più dischi. Questo comporta che la mancanza di uno dei due
> dischi non ti permetterà di accedere più a nulla, proprio perché
> le info sono sparpagliate e non c'è modo di ricostruirle senza
> il disco che hai perso. Anzi, il controller proprio fallisce
> l'inizializzazione del raid e non viene presentato nessun disco
> logico al sistema.
> 5. Nel caso di raid 1 invece il controller non spalma le info sui
> dischi ma le duplica, quindi ogni scrittura avviene in
> contemporanea (non sempre è vero) su entrambe le meccaniche. In
> caso di lettura, il dato viene letto dalla meccanica che ha la
> testina più vicina al blocco di disco da leggere. Se perdi un
> disco il tuo raid è ancora in grado di funzionare e il disco
> logico viene presentato lo stesso come se nulla fosse. Il tutto
> però in una situazione di precarietà perché non hai più la
> protezione.
>
> Il raid fatto a livello software funziona (e deve funzionare)
> esattamente nello stesso modo, altrimenti non sarebbe raid ma sarebbe
> altro. Solo che il tutto è fatto dopo che il sistema operativo è
> partito. Naturalmente le implementazioni software sono più lente, ma non
> è detto che siano meno sicure. Se sono fatte bene e il sistema è stabile
> non ci sono problemi.
>
> Per ulteriori dettagli o per approfondire molto le nozioni ti consiglio
> di partire da wikipedia -> raid ed andare a vedere la storia del raid.
> Altre ricerche su internet sono possibili ma non le ho fatte :-)
Maggiori informazioni sulla lista
gl-como