Què és un RAID i quan utilitzar-lo?

que es y como es un raid

Avui parlarem sobre un dels sistemes informàtics més utilitzats per les empreses de qualsevol mida i, cada cop més, per usuaris particulars.

RAID.

Potser alguna vegada has sentit a parlar d’aquest sistema o que sigui totalment desconegut per a tu.

Sigui com sigui, t’explicarem què és i en què et pot ajudar a tu de la manera més senzilla possible, evitant paraules rars i explicacions molt tècniques que et deixarien igual que al principi.

El nostre objectiu és que, després d’aquest post, puguis determinar per tu mateix si necessites un RAID i, en cas afirmatiu, quin s’adaptaria a les teves necessitats.

Anem allà!

milhouse nos explica que es un raid

RAID: Què és en realitat un RAID? I el significat?

RAID és un acrònim de l’anglès (com gairebé tot en aquesta vida 🙄):

Redundant Array of Independent Disks

Això significa: Matriu de discos independents redundants.

RAID és un conjunt de discos durs (al que s’anomena matriu) convertides en una sola unitat lògica de gran volum.
Per aclarir conceptes, una unitat lògica és una divisió “virtual” del disc físic.

És possible que aquesta unitat lògica ocupi tot l’espai del disc físic (un disc dur físic de 500 GB pot tenir una unitat lògica de 500 GB).

També podem dividir-ho en tres unitats lògiques, una unitat de 300 GB i dues unitats de 100 GB cadascuna, per exemple.

El sistema RAID permet que diversos discs durs físics puguin unir-se en una única unitat lògica , fent que el sistema operatiu pensi que només té un disc dur (com a norma general).

Conceptes del RAID

Com hem indicat, el sistema RAID emmagatzema la informació a diversos discos (mínim dos).

Depenent del tipus de RAID hi ha conceptes que són importants a saber:

Grandària del sector : La mida del sector o block size , és la fracció mínima en què un fitxer s’anirà descomponent per anar guardant-lo repartidament entre els discos.

Com es reparteix la informació?

Ja sigui per sofware o hardware (una placa específica per dur a terme el RAID) en tots ells, la informació es trossejarà en funció del block size o mida del sector mínim. Una mida típica de block size és 64 KB.

Això vol dir que la informació es trossejarà en una unitat mínima de 64 KB entre discos.

Si un fitxer PDF ocupa 1 MB exacte (molt suposar que fos així) serien 1.024 KB.

L’exemple anterior era la representació del fitxer “ideal”.

Pràcticament, MAI no es donarà aquesta condició.

Aleshores, què passa si el fitxer ocupa 1024 KB en comptes de 1024 KB?

En aquest cas, tindríem nou divisions. Cinc al primer disc i quatre al segon disc:

64 KB disc 1 Espai real ocupat = 64 KB
64 KB disc 2 Espai real ocupat = 64 KB
64 KB disc 1 Espai real ocupat = 64 KB
64 KB disc 2 Espai real ocupat = 64 KB
64 KB disc 1 Espai real ocupat = 64 KB
64 KB disc 2 Espai real ocupat = 64 KB
64 KB disc 1 Espai real ocupat = 64 KB
64 KB disc 2 Espai real ocupat = 64 KB
64 KB disc 1 Espai real ocupat = 64 KB
64 KB disc 2 Espai real ocupat = 64 KB
64 KB disc 1 Espai real ocupat = 64 KB
64 KB disc 2 Espai real ocupat = 64 KB
64 KB disc 1 Espai real ocupat = 64 KB
64 KB disc 2 Espai real ocupat = 64 KB
64 KB disc 1 Espai real ocupat = 64 KB
64 KB disc 2 Espai real ocupat = 64 KB
Espai total fitxer 1088 KB
Espai total usat 1088 KB
Espai perdut 63 KB

Amb la taula anterior, podem veure de forma ràpida que en aquest cas (també una mica extrem) amb una mida de 64 KB de sector, per a un fitxer que no aprofités la totalitat del sector, estaríem perdent capacitat d’emmagatzematge, ja que aquest sector queda “reservat” per a aquest fitxer i no es pot compartir.

Per tant, si dels 64 KB per sector només n’ocupem un o vint dels seixanta-quatre disponibles, la resta d’espai es “perdrà” ja que no es podrà fer servir per a un altre fitxer.

Un altre exemple més real: Un fitxer de text (del Notepad) on simplement afegim quatre línies de text com el següent exemple ocuparia 0,1 KB (110 bytes)

Però al RAID 0, aquest fitxer aniria dins d’un disc ocupant 32 KB pel que estaríem desaprofitant molt d’espai.

La gent més espavilada, pensarà… “La solució llavors és fer un block size molt petit (per exemple, d’1 KB) i així ens assegurem que pràcticament no es perdrà cap fitxer solt.”

Aquesta afirmació és vàlida però ens trobarem amb un problema: el rendiment del RAID.

Una mida de bloc molt petita, optimitzarà l’espai al màxim a costa d’un rendiment molt pobre, ja que tots els fitxers s’hauran de fraccionar en trossos molt petits per poder escriure i alhora llegir-los.

Un fitxer de 1.024 KB en un block size de 64 KB fa un total de 16 divisions, mentre que el mateix fitxer amb un block size de 1 KB faria 1.000 divisions.

Aquest procés afectaria dràsticament el rendiment del sistema de fitxers.

Si en un fitxer de 1.024 KB uséssim un block size de 512 KB, només faríem dues divisions i aniria molt ràpid. Però si haguéssim de guardar fitxers de text creats amb el Notepad, malgrat una velocitat molt ràpida, la pèrdua de capacitat seria molt notable i conforme s’anés omplint el disc, amb molt pocs fitxers l’espai s’esgotaria (un fitxer d’1 KB del Notepad, realment ocuparia 512 KB).

Arribats a aquest punt, Quin block size he de triar?

Tot i que en els exemples anteriors sempre hem parlat de RAID 0, aquesta resposta serveix per a qualsevol RAID.

El block size ha d’anar d’acord amb la informació que preveiem que es guardarà al RAID.

Exemples:

  • Si l’ús que es donarà al RAID és ofimàtica (Word, Excel, PDF), un RAID amb un block size de 64 KB és un format adequat.
  • Si l’ús que es donarà al RAID és repositori de fitxers petits (com bloc de notes, fitxers de programació tipus C o Visual Basic, etc) un RAID amb un bloc size de 4 KB seria un format adequat.
  • Si l’ús que es donarà al RAID és multimèdia a nivell d’usuari (fotografies i vídeos realitzats per càmeres i/o mòbils sense una qualitat extrema), un RAID amb un block size de 128 KB o fins i tot 256 KB és un format adequat. Avui dia les fotografies (i ja no diguem els vídeos) realitzats per un mòbil o càmera superen amb escreix els 4 o 5 MB de capacitat.
  • Si lús que es donarà al RAID és íntegrament per treballar en format dalta definició (Fitxers RAW i 4K en endavant) un RAID amb un block size de 512 o 1024 KB és un format adequat, atès que els fitxers seran grans (per exemple, 2 o 3 GB).

Paritat, què és i per a què serveix?

La paritat la podríem definir com el resultat d’una operació matemàtica de manera molt genèrica. Aplicat als RAID (només algun) ens permet tenir una “assegurança” en cas de pèrdua d’un dels discos. Per intentar il·lustrar la paritat, vegem el següent exemple:
OPERACIÓ A=2 B=5 C=9 D=4 RESULTAT
A + B + C + D = PARITAT PARITAT = 20
A = PARITAT – D – B – C A = 2
B = PARITAT – D – A – C B = 5
C = PARITAT – D – A – B C = 9
D = PARITAT – A – B – C D = 4

L’exemple anterior és una manera molt simple d’entendre la paritat.

Imaginem que tenim 4 discos en total formant un RAID. En aquest exemple serà un RAID 5.

Suposem que fem una suma de tot el contingut del disc A obtenint com a resultat el número 2. Realitzant la mateixa operació per al B obtenim 5.

Amb C obtenim 9 i amb D obtenim 4.

Seguint la fórmula matemàtica anteriorment descrita obtindrem que la suma d’A+B+C+D=20.

Si fallés el disc B (trencament de la unitat lectora, desincronització, superfície degradada,etc.), podem substituir el disc malmès i gràcies a l’operació matemàtica, tornaríem a tenir el contingut perdut del disc B.

Exactament igual, passaria amb el disc A, C o D.

A més, mentre es reconstrueix novament el disc, el RAID continuaria funcionant de cara a l’usuari final amb un cert retard en el lliurament i enregistrament de dades.

Això és possible gràcies al fet que tant el programari com les controladores de maquinari que realitzen els RAID poden fer l’operació matemàtica per obtenir el resultat de B i poder mostrar les dades.

Realment com com funciona la paritat en un RAID?

Com hem parlat anteriorment, la informació sescriu en blocs dins dels discos.

Si cada bloc (A1 A2 A3…) és de 64 KB formaria un conjunt de 256 KB. denominat stripe .

Imaginant que cada bloc que s’escriu als discos té una numeració com la taula de sota que permeti identificar a quin col·lectiu pertany ( stripe ) en tot moment podrem recuperar la informació perduda del disc.

DISC 1 DISC 2 DISC 3 DISC 4
A1 A2 A3 AP
B1 B2 BP B3
C1 CP C3 4C
DP D2 D3 D4
En aquest cas, la paritat de cada stripe es va distribuint a cada disc cap enrere. Però no sempre ha de portar aquesta configuració (de fet, hi ha moltes possibilitats). Un altre exemple de com distribuir la paritat seria així:
DISC 1 DISC 2 DISC 3 DISC 4
A1 A2 A3 AP
B1 B2 B3 BP
C1 C2 C3 CP
D1 D2 D3 DP

En aquest cas, el càlcul de la paritat només s’escriu a un disc. En comptes d’estar repartida en diversos discos, el resultat s’escriu en un.

Un cop aclarit el funcionament, és important saber que la paritat en un RAID 5 realment es calcula mitjançant XOR.

XOR és una operació matemàtica que determina si el resultat és veritable o fals.

ENTRADA SORTIDA
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

Exemple de càlcul de paritat per a un RAID 5 de 5 discos:

DISC STRIPE
Disc 1:__(Dades) 00101010
Disc 2:__(Dades) 10001110
Disc 3:__(Dades) 11110111
Disc 4:__(Dades) 10110101
Disc 5:__(Paritat) xxxxxx

00101010 XOR 10001110 XOR 11110111 XOR 10110101 = 11100110

El disc 5 donaria com a resultat 11100110

Si ara fallés el disc 1 faríem la següent operació:

10001110 XOR 11110111 XOR 10110101 XOR 11100110 = 00101010

I aquesta operació ens torna el tros dins de l’stripe que pertany al disc 1.

No obstant això, en un RAID 6, per exemple, es fa servir un altre tipus: Reed-Solomon.

Quins tipus de RAID hi ha i com funcionen?

Per respondre aquesta pregunta, hem de tenir en compte quin serà l’ús d’aquest RAID, de la mateixa manera que cal tenir present el que hem comentat anteriorment (el block size ).

El sistema RAID es pot configurar de diverses maneres segons el nombre de discos que el conformin i les necessitats com a usuaris que necessitem.

Com classificaríem les necessitats?

Capacitat del conjunt, rendiment, tolerància a fallades i cost econòmic.

Obviarem RAIDS obsolets avui dia ja que el seu ús o implementació és molt baixa o pràcticament inexistent, de la mateixa manera que els molt complexos, ja que aquí busquem donar una visió global del funcionament del RAID.

Per fer un RAID 0 es necessita mínimament dos discos.

RAID 0

Aquest tipus de RAID suma la totalitat de les mides dels discos formant una sola unitat.

El RAID 0 utilitza el format de striping i fa un repartiment equitatiu de dades entre els discos. De manera genèrica podríem dir que, si hi ha dos discos formant un RAID 0, el 50% de la informació aniria a un disc i l’altre 50% a l’altre disc. Si hi hagués 3 discos, seria un 33,33% cadascun.

El RAID 0 ofereix un millor rendiment quant a capacitat d’emmagatzematge en sumar l’espai disponible de les unitats.

El rendiment de lectura i escriptura de dades és alt (pot llegir seqüencialment i aleatòriament)

Inconvenients : No hi ha redundància ni tolerància a fallades, per la qual cosa qualsevol fallada o avaria en un dels discos comporta una pèrdua total de les dades.

Recomanat : Si prioritzem el rendiment del sistema i l’accés a la informació (disseny gràfic, en 3D i edició de vídeo). Ofereix un alt rendiment , especialment per a fitxers grans.

En cas de pèrdua d’un o més disc(s), només serà possible recuperar els fitxers que ocupin la mida del block size (o menys) en els discs que segueixin operatius.

RAID 1

Per fer un RAID 1 es necessita mínimament dos discos.

Aquest tipus de RAID suma la totalitat de les mides dels discs formant una sola unitat, independentment del nombre de discos que el formin.

És a dir, 10 discos de 2 TB en format RAID 1 mostrarà una única unitat de 2 TB. En el cas de tenir 9 discos de 2 TB i un d’1,5 TB, la unitat lògica que es mostrarà serà de 1,5 TB perdent el 0,5 TB a la resta de discos.

Emmagatzema totes les dades per duplicat . No té striping , ni block size , ja que el RAID treballa amb el fitxer sencer duplicant la informació a totes les unitats del conjunt del RAID.

Avantatges: El RAID 1 ofereix redundància completa. La informació es duplica al llarg de tots els discs. Permet una lectura ràpida de la informació, però depenent del maquinari utilitzat i del nombre de discos, la velocitat d’escriptura pot ser baixa.

Desavantatges : El cost és elevat, ja que es desaprofita capacitat d’emmagatzematge.

RAID 5

Per fer un RAID 5 es necessita mínimament tres discos.

Aquest tipus de RAID suma la totalitat de les mides dels discs menys un (N-1, on N és el nombre total de discos).

En cas de disposar discos de diferents mides, sempre es prendrà com a referència el més petit, rebutjant la resta despai del conjunt del RAID. Teòricament un RAID 5 no té límit de discos, però el més habitual és limitar lús dunitats.

Com s’ha comentat anteriorment, el RAID 5 utilitza block size i paritat.

La informació es guarda en strips seguint la mida del block size i es realitza un càlcul de paritat. La paritat es pot distribuir entre tots els discs, o bé emmagatzemar-se únicament en un disc. En qualsevol cas, sempre permet la tolerància a fallada d’una unitat.

Quan es realitza la lectura de l’ stripe , no es llegeix el CRC per evitar càrregues innecessàries. Només es realitzarà la lectura del CRC i la seva modificació en cas que hi hagi algun bloc dins de l’ stripe que s’hagi modificat.

D’altra banda, quan un disc falla, els blocs de paritat dels discos funcionals es combinen amb les dades mitjançant les operacions matemàtiques descrites abans (típicament XOR) per recrear les dades al vol.

Avantatges: Raid 5 permet emmagatzemar alhora que proporciona tolerància a fallades amb un rendiment adequat. Equilibri entre seguretat, tolerància a fallades i rendiment.

Permet la fallada duna unitat.

En el moment que sigui reemplaçada, es reconstruirà automàticament amb la informació de la resta de discos.

Com a sistema d’emmagatzematge de dades, és un dels més rendibles i eficients.

Desavantatges: Pèrdua de rendiment en escriptura quan els blocs siguin molt petits, ja que s’ha de fer el càlcul de paritat constantment.

En el cas de fallada d’un disc i substitució pot portar molt de temps reconstruir les dades a causa de la paritat.

Durant la reconstrucció del disc que ha fallat, pot ser que altres unitats també fallin, a causa de la càrrega de treball que suposa la reconstrucció del disc substituït.

RAID 6

Per fer un RAID 6 es necessiten com a mínim 4 discos.

La principal diferència és la tolerància a fallades. Poden fallar simultàniament dues unitats encara que penalitza l’espai disponible, ja que el nombre total d’espai disponible serà l’equivalent al nombre d’unitats menys dues (N-2).

A diferència de RAID 5, cal hardware específic per a la gestió del RAID.

Proporciona una elevada redundància de dades i rendiment de lectura.

El rendiment en tasques de lectura és òptim, però el d’escriptura és menor que el de Raid 5 a causa dels dos càlculs de paritat.

La paritat es calcula sobre la base del codi Reed-Solomon.

Avantatges: Les mateixes que un RAID 5 afegint un disc més per a tolerància a fallades.

Desavantatges: Velocitat d’escriptura més lenta segons quins casos. Major cost econòmic (Hardware).

RAID 10 (RAID 1+0)

Per fer un RAID 10 es necessiten un mínim de quatre discos.

L’estructura d’un RAID 1+0 o RAID 10 és la següent: Dos discos formen un RAID 1 i els altres dos discos formen un RAID 1. Dels dos volums resultants, es fa un RAID 0.

Ofereix un alt rendiment de lectura (gràcies al Raid 0).

Alhora, els dos conjunts de RAID 1 proporcionen seguretat i tolerància a errors. Permet que es puguin trencar dues unitats sempre que no siguin del mateix grup (és a dir, que les dues unitats que formen el RAID 1 es trenquin simultàniament)

Avantatges: Rendiment.

Desavantatges: Cost per hardware.

RAID 0+1

Per fer un RAID 0+1 es necessiten un mínim de quatre discos.

A diferència del RAID 1+0, dos discos formen un RAID 0 i els altres dos discos formen un altre RAID 0. Els dos volums resultants formen un RAID 1. És una configuració menys segura que el RAID 1+0 ja que no permet dos errors simultanis.

RAID 50 (RAID 5+0)

Per fer un RAID 50 es necessiten un mínim de sis discos.

L’estructura del RAID 50 és la següent:

Es realitza un RAID 5 sobre tres unitats i un altre RAID 5 sobre les altres tres unitats restants (i així amb la resta de conjunts, encara que hi pot haver agrupacions de 4 i 4 o 5 i 5, etc.). Dels dos o més volums resultants es forma un RAID 0.

Permet tolerància a fallades d’1 disc simultani per cada RAID 5 que hi hagi al conjunt.

Avantatges: Sistema robust i bon rendiment de lectura en comparació amb un RAID 5

Desavantatges: Temps de reconstrucció en cas de fallada elevada. Cost de hardware.

RAID 60 (RAID 6+0)

Per fer un RAID 60 es necessiten un mínim de vuit discos.

L’estructura del RAID 60 és la següent:

Es realitza un RAID 6 sobre quatre unitats i un altre RAID 6 sobre les altres quatre unitats restants (I així amb la resta de conjunts, encara que hi pot haver agrupacions de 4 i 4 o 5 i 5, etc.). Dels dos o més volums resultants es forma un RAID 0.

Avantatges: Sistema robust a pèrdua de dades (tolerància a 4 fallades de discos)

Desavantatges : Rendiment baix en escriptura i cost de maquinari.

Un sistema RAID substitueix les còpies de seguretat?

No, encaridament et demanem que segueixis fent còpies de seguretat o còpies de seguretat.

Un RAID us ajudarà a tenir accés constant a les vostres dades en temps real en cas que un dels discos durs falli (sempre que no sigui un RAID 0), cosa que una còpia de seguretat externa no pot fer.

Però un RAID no et pot protegir davant d’altres situacions que poden posar en perill les teves dades.

Per exemple: les dades estaran emmagatzemades en un disc dur físic connectat al vostre servidor o dispositiu. En cas de quedar-te sense llum , no podràs accedir-hi, mentre que, si tens una còpia al núvol, podràs accedir-hi des de qualsevol dispositiu en un altre lloc.

Per no parlar que hi hagi un incendi o alguna cosa semblant que acabi irremeiablement amb les teves dades si no tens una còpia externa ben lluny dels discs durs.

A més, hi ha certs atacs cibernètics (el que anomenem virus) que poden arribar a posar en perill les dades del RAID, això farà que hagis de recórrer a la còpia de seguretat que tindràs a un altre lloc, desconnectat del dispositiu.

Què necessito per utilitzar un RAID?

Aquest sistema sutilitza sobretot en empreses que utilitzen grans servidors de dades.

Però també el pots utilitzar sense tenir accés a un servidor.

Necessitaràs una controladora de RAID que pot ser de hardware o de software .

És molt probable que el teu ordinador (tret que tingui com a 10 anys) compti amb una controladora de RAID (tant per software com hardware ), i un nombre determinat de discos durs (depenent de la tipologia del RAID).

Hi ha persones que prefereixen barrejar les marques de discos al RAID per minimitzar els possibles errors simultanis als discos. Això ja és un tema una mica personal o de percepció de cadascú.

Per a casa o petites empreses disposem també de dispositius NAS tipus QNAP o SYNOLOGY sistemes basats en sistemes RAID 0, RAID 1 o RAID 5, fàcils de configurar i connectivitat de RED.



Ens acomiadem per avui, no sense abans recordar-te que som una empresa de recuperació de dades amb laboratori propi .

Per si ni el RAID ni la còpia de seguretat ha evitat que perdis algunes de les dades tan valuoses per a la teva empresa o família.

Compta amb nosaltres.