Introductie tot RAID Configuraties

      Reacties uitgeschakeld voor Introductie tot RAID Configuraties

Wellicht ken je het al, misschien heb je er eens van gehoord : RAID configuraties.

Maar wat is RAID nu precies ?
Je hebt verschillende RAID configuraties, die worden aangeduid met een cijfer ; RAID0, RAID1, RAID5, RAID6, RAID10 etc.

RAID is een techniek om harde schijf redundancy en performance te optimaliseren en daarmee een hogere uptime en continuïteit te kunnen garanderen.
Het wordt voornamelijk in servers gebruikt om downtime bij een harde schijf crash te voorkomen.

Laten we om te beginnen het simpelste voorbeeld erbij pakken : RAID1
RAID1 is een configuratie waar 2 harde schijven benodigd zijn. Deze schijven zijn elkaars exacte en realtime kopie.
Wanneer je 2x 1 TerraByte schijven hebt in RAID1, heb je een netto capaciteit van 1TB, dus geen 2 TB !
Je maakt een RAID1 Array, voegt de 2 schijven toe en creëert een Logical Volume.
Waarschijnlijk denk je : Waarom zou ik geld uitgeven aan 1TB extra waar ik niks mee kan ?
En dat is precies waar het om gaat !
Bij het uitvallen van 1 schijf, zal de 2e schijf gewoon door blijven draaien, data blijft intact en je hebt geen downtime.
Wanneer de schijven ook nog eens Hot-Swappable zijn, kun je de defecte schijf zelfs vervangen als de server nog draait.
Gefeliciteerd ! Je hebt zojuist een veelvoud aan euro’s bespaard door downtime te voorkomen door het aanschaffen van 1x 1 TB schijf (en RAID Controller)

Laten we nu een dieper in gaan op verschillende RAID configs :

RAID0 :
Dit wordt ook wel een striped volume genoemd. Met RAID0 kun je 2 of meerdere schijven samenvoegen tot 1 groot volume.
Bijvoorbeeld 4 schijven van 1TB levert een volume op van 4TB.
RAID0 levert ook heel veel performance omdat data van verschillende schijven gelezen en geschreven wordt.
Het grote risico met RAID0 is dat wanneer 1 schijf kapot gaat, je hele volume kapot is en je dus de defecte schijf moet vervangen EN je laatste goede backup terug moet zetten.

raid0

In het bovenstaande plaatje zien we dat een bestand wordt verdeeld over 2 schijven. Een bestand wordt opgedeeld in A1, A2, A3 etc.
In dit plaatje wordt ook meteen duidelijk waarom je bij het falen van 1 schijf niet verder kunt omdat je data mist.

Conclusie RAID0: Perfect voor performance, zeer risicovol en dus zeker niet gebruiken in productieomgevingen waar een zo hoog mogelijke uptime benodigd is !

RAID1 :
Deze configuratie maakt een downtime gevoelige situatie al een stuk zekerder.
Je hebt voor RAID 1 een even aantal schijven nodig met een minimum van 2.
De netto capaciteit is de totale capaciteit gedeeld door 2. 4x 1TB levert dus een logical volume op van 2TB
RAID1 zorgt voor mirroring waarbij de ene helft van de schijven gespiegeld wordt naar de andere helft.
Hierbij mag theoretisch de helft van de schijven kapot gaan (afhankelijk WELKE schijven kapot gaan) voordat de server down gaat.
Met meer dan 2 schijven krijg je data sets, elke schijf krijgt een dedicated mirror toegewezen en die werken samen. Alle sets samen vormen 1 volume.

raid1

In bovenstaand plaatje zien we dat alle data op beide schijven exact hetzelfde is. Wanneer 1 schijf faalt, heb je dus altijd de 2e schijf nog die door kan gaan en de server dus operationeel blijft.

Conclusie RAID1 : Voor een standaard configuratie is dit prima voor een server om hogere uptime te kunnen garanderen. De helft van de schijven mag kapot gaan mits de aanwezige datasets intact blijven. Zo gauw dat 2 schijven in 1 set kapot gaan, is je volume ook kapot en met je schijven vervangen en data restoren.

RAID5 :
Een RAID5 configuratie vereist minimaal 3 harde schijven en hier wordt gebruik gemaakt van zgn. parity.
Data wordt verdeeld over 2 schijven en een parity pakket van de data wordt op de 3e schijf geplaatst.
Wanneer 1 schijf defect raakt, kan de data gereconstrueerd worden aan de hand van parities calculeren.
RAID5 is een combinatie van RAID0 en RAID1 waarbij het volume gestriped en gemirrored wordt.
Totale capaciteitfactor is 1 − 1/n waarbij n het aantal schijven is.
bij 3 schijven van 1TB heb je dus een factor 1 − 1/3 = 2/3
Totaal capaciteit =3 TB x 2/3 = 2 TB netto opslag.
Het maximum aantal schijven dat defect mag raken is 1.

raid5

Bovenstaand plaatje toont aan dat data en parity over verschillende schijven verdeeld wordt.

Conclusie: RAID5 is een uitstekende configuratie voor fouttolerantie, performance en capaciteit. Echter mag hier maar 1 schijf maximaal kapot gaan.

RAID1+0
Zekerheid en performance, daar zorgt RAID1+0 voor.
Door RAID0 en RAID1 te combineren (met een minimum van 4 schijven) maak je een supersnel en redundant volume.
RAID1+0 wordt veel gebruikt bij SQL Servers waarbij IOPS en performance een rol spelen om een snelle database server mee te maken.

raid10

Hierboven zie je hoe RAID1+0 in elkaar zit. 2x een RAID1 constructie gestriped met RAID0.
Theoretisch zou hier de helft van de schijven kapot mogen gaan voordat het volume kapot gaat. Maar ook hier is dat afhankelijk welke schijven kapot zijn.
Zolang in elke RAID1 paar maar 1 intacte schijf aanwezig is, zou alles moeten blijven werken.

Conclusie RAID1+0: Wil je performance EN redundancy ? kies dan RAID 1+0 ! Een mooie en zekere configuratie.

Kan ik een RAID config als backup voor mijn data gebruiken ?
Nee, zeker niet !
Een goede backup draait om data consistency en integrety. Data die kwijt is of per ongeluk gewijzigd wil je van een backup terug kunnen halen van het moment waarop die data nog in orde was.
Met RAID kan dat niet, je hebt wel een “beveiliging” tegen het kapot gaan van schijven, maar je kunt nooit terug in de tijd om een bestand te restoren.
Wanneer je RAID gebruikt als je backup oplossing, stap hier meteen vanaf, want op het moment dat je het nodig hebt zul je van een koude kermis thuis komen wanneer blijkt dat bijvoorbeeld je ERP Database kapot is en niet meer terug te halen is. Leg dat maar eens uit dan binnen je bedrijf.

Enkele tips voor het gebruik van RAID :
Je kunt het zo gek en zo duur maken als je zelf wilt, maar om tot een beslissing te komen heb je een paar weetjes nodig :
1) Is downtime een issue ?
2) Gebruik goede hardware ! Gebruik géén goedkope troep als je volledig op je apparatuur moet kunnen vertrouwen.
3) Gebruik géén software RAID oplossing. Hoewel dit best werkt, zijn er meerdere cases bekend van het uiteindelijk toch kwijt zijn van data.
4) Performance ? gebruik goede en snelle schijven, bijvoorbeeld 15krpm SAS schijven of SSD schijven. Denk er aan dat je in een Enterprise oplossing géén desktop schijven plaatst. Deze performen niet zoals Enterprise hardware dat doet en ook qua levensduur en ondersteuning ben je vele malen beter af met Enterprise apparatuur.
5) Gaat het om essentiele data die 24/7 bereikbaar moet zijn en downtime is géén optie ? Investeer in goede apparatuur ! Ga niet lopen beknibbelen op een paar honderd euro. Wanneer je in de problemen komt met een dergelijke server, heb je je investering er zo weer uit als je de juiste (dure) apparatuur gebruikt !

Ga je aan de slag met een dergelijk server en RAID oplossing ? Laat je ten alle tijden informeren door specialisten op dit gebied.
Elke server is weer anders en een verkeerde keuze kan grote (negatieve) gevolgen hebben !
Wat je sowieso in het achterhoofd moet houden is dat je niet gaat beknibbelen door de goedkoopste oplossing te kiezen.
Goedkoop is en blijft duurkoop !
Rust geen server uit met SATA harde schijven, die performen niet en door de vele IOPS die een server genereert gaan de schijven om de haverklap kapot.
SATA SSD’s is weer een ander verhaal, maar gebruik wel de Enterprise varianten aangezien deze veel robuuster en een langere levensverwachting hebben.

Je weet nu in ieder geval wat een RAID configuratie doet. Er zijn nog meer RAID configuraties en combinaties, maar de hierboven genoemde zijn de meest gebruikte.
Onthoud (want het is een misverstand van veel mensen) : RAID is géén backup oplossing !
Een goede backup is een backup op Tape, naar een NAS oid. Als het maar niet op dezelfde media staat als de te backuppen data zelf.

Vragen ? Stuur even een berichtje via onze Facebook pagina of email !
Gegevens vindt je bovenin het menu Contact !