25 de febrer 2007

RAID: Redundant Array of Independent Disks

Amb la velocitat dels processadors que tenim avui dia, és molt habitual que el processador es passi rascant la panxa la grandíssima part del temps (fins i tot quan esteu editant un text, enviant e-mails, mirant fotos...), doncs el que va lent són els accessos de disc, és a dir, el processador es rasca la panxa perque no li arriben suficientment ràpid les dades. Per això, el nostre objectiu és que l'accés a les dades sigui ràpid.

Un RAID fa referència en com emmagatzemar les dades fent servir més d'un disc, compartint o replicant les dades entre els diferents discs que disposem. A més depenent de la configuració, ens podrem aprofitar de la tolerància a fallades de disc (si un disc peta, els altres disposen d'una còpia de les dades), del rendiment (velocitat d'accés) o de la capacitat.

De modes RAID en tenim uns quants: 0, 1, 0+1, 1+0, 2, 3, 4, 5, 6, 7, ... Alguns d'ells no s'han arribat a implementar mai i tant sols s'han demostrat teòricament. Però en general, n'hi ha prou tenint en compte 3 modes: el 0, l'1 i el 5. Que són els que sí que podrem configurar per a qualsevol Linux. (per Windows hi ha disponible l'1 i possiblement el 0; però també podem disposar d'una placa base que gestioni el RAID pel sistema operatiu (només Windows U¬¬) i disposar així del 0, 1, 5 i potser el 6).

També hi ha targetes PCI que disposen de connexions per discs i que se li pot configurar un RAID sobre aquests discs, cosa que tenint els drivers de la targeta, el Sistema Operatiu no s'haurà de preocupar de quin RAID s'utilitza ni de com s'ho fa. Però la qüestió/problema és que tot anirà com a molt ràpid a la velocitat PCI, que és molt inferior a la d'IDE i molt més encara la del Serial ATA (3 Gbps), tot i que amb la PCI_Express potser ja canviarà la cosa, doncs de moment va a 2,5 Gbps. Però igualment, si ho fem tot per IDE o Serial ATA, ens estalviem de comprar la targeta ^^. [d'aquí a que sovint li en diguin: Redundant Array of Inexpensive Disks :P]

Abans de descriure com funciona cadascun dels RAID's dir que en un disc dur la informació s'emmagatzema en blocs (usualment de 2KB, 4KB,... 64KB), per tant, si tenim blocs de 4KB i un fitxer de 7KB aquest fitxer ocuparà dos blocs *consecutius* sencers (sí sencers, no es poden partir els blocks).

RAID 0: també connegut com stripping, El que fa és agafar els discs i posar un bloc en un disc, el següent en l'altre, el següent al primer
disc 1disc 2
bloc 1bloc 2
bloc 3bloc 4
bloc 5bloc 6
Així doncs, per guardar el nostre hipotètic arxiu de 7KB, agafaria, per exemple, el bloc 4 i el bloc 5.

Amb això, quan el volgués llegir, el sistema operatiu diria: porta a memòria els blocs 4 i porta'm a memòria el bloc 5. I els dos discos es posarien a treballar i li portarien les dades. Per qui no vegi l'avantatge, imagineu-vos un paleta (Sistema Operatiu), dos mà d'obres (discos) i dos carretons (bus o cables). I el paleta li diu a un mà d'obra: porta'm un carretó de sorra, i a l'altre li demana un altre. Com que els dos poden fer la feina independentment, la faran a l'hora. Per tant, serà molt més eficaç que tenir un sol mà d'obra (disc). [Amb tot el respecte als mà d'obres que ens fan les nostres cases]. La pega és que no fa còpia de res, per tant, si peta un sol disc, tota la nostra informació a pastar fang. [clar que els discs d'avui dia no peten gaire sovint, però és com tenir una bombeta sola o tenir-ne n, amb n bombetes tens més probabilitats de que en peti una ;P].

RAID 1: també conegut com mirroring, és més per quan tenim unes dades crucials que no volem perdre, per tant farem un còpia exacte en els dos discos, així si un disc peta, tindrem l'altre amb totes les dades.

disc 1disc 2
bloc 1bloc 1
bloc 2bloc 2
bloc 3bloc 3

Les lectures aniran tant ràpides com el RAID 0, perquè mentres a un disc se li demana el bloc 45, a l'altre disc se li demana el 46. Però les escriptures tindran la velocitat igual que si fós un únic disc, doncs s'haurà d'escriure dos cops (en el disc 1 i en el disc 2), però com que són independents, els discs escriuran a l'hora. La gran pega és que encara que hi posem n discos, tant sols tindrem la capacitat d'un sol disc.

RAID 5: Per a fer aquest RAID, necessitem com a mínim 3 discs, i segons sembla, no és recomanable tenir-ne més de 8 doncs el rendiment ja baixa. [però bé, qui és el que a casa té 8 discos en un sols ordinador? xD].

disc 1disc 2disc 3
bloc 1bloc 2bloc-paritat 1-2
bloc-paritat 3-4bloc 3bloc 4
bloc 5bloc-paritat 5-6bloc 6

Aquí, el bloc de paritat és el resultat d'agafar bit a bit de tots els altres blocs i fer-ne la XOR (Exclusive OR), això ens permet, que quan falla, un disc, podem reuperar les dades fent-ne altre cop la XOR dels discos disponibles i s'obtenen els bits del bloc que ens falta [si falla més dun disc cagada, però en el moment en que falla un disc el sistema ja ens avisa. Per tant, és qüestió de canviar el disc fotut de seguida].

La pega principal d'aquest RAID5 és que necessitem com a mínim 3 discos i que perdem la capacitat d'un disc sencer. Però és millor que el RAID1, doncs aquí tindrem més de dos discs segurs, per tant perdrem 1/n de la capacitat total (n= nombres de discs). A més, els accessos són tant ràpids com al RAID 0.

2 comentaris:

Spiegel ha dit...

simplement un comentari al molt molt interesant article...

dir "clar que els discs d'avui dia no peten gaire sovint" es com dir q els cds duren 100 anys (*), quede molt macu, i a casa del sr CD deu ser veritat.. ara ja et dic jo q els disc peten i molt, es cert q jo al treballar on treballu i tot son reparacion , nomes m'arriben les coses fetes malbe i es normal q d'aquestes un % siguin discs durs... pero tot i aixo.. ordinadors nous, amb discs durs petats, o q peten al cap de 2 segons d'enxufarlu hi ha, i suposo q sempre sera aixi, fins q no es tingui un proces mes segur...

per tant, mes val fer un raid d'aquest q enmirallen les dades, o alguna cosa d'aquestes...

(*) cerament els cds crec q no deuen durar mes de 10 anys si no en tens molta cura, si no feu la prova de buscar un cd una mica vell(entenc q els cds de musica i tal orignals han de durar mes), i ja veureu q ni molt menys durara 9x anys mes...

en fin.. la solucio per guradar les dades???

Neioo ha dit...

Els CD's regrevables et dic jo que o els deixen ben guardats o peten de seguida, que jo també he treballat i em va venir una dona amb 3 ó 4 CD's dient que no els hi funcionaven i clar, tenint-los al Sol... Com que molt malament.

En canvi, la meva experiència amb els discs durs no ha estat tant nefasta com la pintes. I faràs que em passi a RAID 5 envès de RAID0, cosa que necessitaré més discs-> més pasta bufff... Per després de l'Euskal ;P