Uw vraag direct beantwoorden : 02-808 9025

Menu Hide

Aanmelden gegevensdrager

Call Me

Samenvatting: Bedrijfsopslag is gebaseerd op drie primaire typen hybride RAID: RAID 10, RAID 50 en RAID 60. Elk type combineert twee standaard array-niveaus om snelheid, capaciteit en fouttolerantie op verschillende manieren met elkaar in evenwicht te brengen. Deze gids legt uit hoe elke architectuur op hardwareniveau functioneert, welke wiskundige principes ten grondslag liggen aan de berekeningen van bruikbare capaciteit en pariteit, en hoe elke architectuur wordt hersteld na een schijfstoring. Vervolgens volgt een vergelijking van de minimale vereisten voor schijven, de fouttolerantie en de schrijfprestaties. De handleiding wordt afgesloten met de stappen die nodig zijn om een aangetaste array te beveiligen alvorens de recovery te proberen.

Elke opslagarray krijgt uiteindelijk te maken met een hardwarefout. Wat bepaalt of die fout leidt tot een korte uitval of tot permanent verlies van data, is de hybride RAID architectuur waarop de array is gebaseerd. Een hybride opslagconfiguratie combineert twee standaard array-niveaus, waardoor een evenwicht wordt bereikt tussen leessnelheid en fouttolerantie dat geen van beide niveaus op zichzelf biedt.

Het beheer van pariteit en het gedrag van spiegeling verschillen aanzienlijk tussen deze architecturen op hardwareniveau. Het kiezen van de verkeerde oplossing kan leiden tot onnodige kosten en ernstige complicaties bij het herstellen van gegevens na een storing. Inzicht in hoe elke architectuur zich daadwerkelijk gedraagt onder belasting en tijdens een storing is wat een weloverwogen beslissing onderscheidt van een kostbare gok.

RAID 10 (RAID 1+0): Stripe van mirrors

RAID 10 blijft de meest toegepaste hybride configuratie in productiedatacenters. Opslagingenieurs kiezen standaard voor deze architectuur omdat deze sterke redundantie biedt zonder de in- en uitvoersnelheden te beperken. In tegenstelling tot op pariteit gebaseerde arrays wordt het genereren van wiskundige pariteit volledig vermeden.

Hoe RAID 10 werkt

Bij RAID 10 stelt de controller eerst gespiegelde paren samen en voegt deze paren vervolgens samen tot stripes. Wanneer een server een bestand verzendt, verdeelt de controller dit in uniforme blokken die ‘stripes’ worden genoemd. De stripe-grootte bepaalt de exacte hoeveelheid data die naar een enkele schijf wordt geschreven voordat de controller naar de volgende laag overgaat (het wordt ten zeerste aanbevolen om de stripe-grootte op beide lagen vast te leggen voor toekomstige diagnostiek).

Zodra de blokken zijn verdeeld, verspreidt de hardware deze over de bovenste laag met behulp van standaard RAID 0 logica. Tegelijkertijd dupliceert de onderste RAID 1 laag elk blok. Elke schrijfopdracht bereikt beide schijven in een gespiegeld paar gelijktijdig, en omdat de controller nooit pariteit berekent, blijven de schrijfprestaties uitzonderlijk snel. Leesbewerkingen verlopen eveneens razendsnel.

RAID 10 presteert bijzonder goed bij hardwarefouten. Wanneer een schijf uitvalt, put het herstelproces uitsluitend uit de overgebleven spiegelpartner van die schijf, waarbij de andere intacte paren onaangetast blijven. De overgebleven schijf kopieert identieke sectoren rechtstreeks naar de vervangende schijf. Aangezien dit proces een directe kopie is in plaats van een berekening, voltooien RAID 10-herstelprocessen in een fractie van de tijd die nodig is bij op pariteit gebaseerde configuraties.

Minimaal aantal schijven en bruikbare capaciteit

RAID 10 vereist minimaal vier fysieke schijven. Ongeacht hoeveel schijven er later worden toegevoegd, blijft de bruikbare capaciteit vast op de helft van de totale ruwe capaciteit. Acht schijven van 10 terabyte bieden bijvoorbeeld 80 terabyte aan ruwe opslagcapaciteit, maar slechts 40 terabyte aan bruikbare opslagcapaciteit zodra deze door het besturingssysteem zijn gemount.

Dit verlies van de helft van de ruwe capaciteit is de structurele prijs die moet worden betaald voor het handhaven van een volledige spiegeling als basis van de array. In ruil daarvoor kan een op dit raamwerk gebouwde array meerdere gelijktijdige RAID-storingen doorstaan, mits die storingen zich niet binnen hetzelfde gespiegelde paar voordoen. Bij het uitvallen van één schijf blijft de array volledig redundant en operationeel.

In deze configuratie is de grootte van de schijven even belangrijk als het aantal schijven. Het wordt ten zeerste aanbevolen om de schijfgroottes binnen elk gespiegeld paar op elkaar af te stemmen, aangezien het combineren van verschillende capaciteiten binnen een paar betekent dat de kleinere schijf de limiet voor dat paar bepaalt. De controller negeert de resterende ruimte op de grotere schijf permanent, en niet-op elkaar afgestemde paren kunnen bovendien de recovery na een RAID-storing bemoeilijken.

 

RAID 50 (RAID 5+0)

Het opschalen van een volledig gespiegelde array wordt financieel onhaalbaar voor de beveiliging van grote opslagsystemen binnen ondernemingen. RAID 10 brengt een vast capaciteitsverlies met zich mee van de helft van de totale ruwe capaciteit, en bij honderden terabytes worden deze kosten aanzienlijk. Een enkele grote RAID 5-array brengt daarentegen zijn eigen risico’s met zich mee. Naarmate het aantal schijven toeneemt, wordt de hersteltijd langer en neemt de kans op een tweede storing tijdens die periode toe. RAID 50 lost beide problemen op door gedistribueerde pariteit te combineren met striping op blokniveau over onafhankelijke groepen heen.

Hoe RAID 50 werkt

De controller organiseert de schijven in meerdere onafhankelijke RAID 5-subgroepen, die elk ten minste drie schijven vereisen. Vervolgens worden de data over alle subgroepen gestriped met behulp van RAID 0 in de buitenste laag. De schrijfprestaties zijn beter dan bij een gewone RAID 5-array, omdat pariteitsberekeningen worden verdeeld over kleinere, geïsoleerde groepen in plaats van over de volledige set schijven te worden uitgevoerd. Elke subgroep beschikt over voldoende pariteit om een enkele interne schijfstoring zelfstandig te doorstaan. Een herstelprocedure na een enkele storing heeft alleen gevolgen voor de subgroep waarin die schijf zich bevindt. De overige subgroepen blijven normaal functioneren en worden tijdens de herstelprocedure niet gelezen.

Capaciteit en de juiste berekeningen

Bij een RAID 50-array met zes schijven worden de schijven verdeeld over twee RAID 5-subgroepen van elk drie schijven. In elke subgroep wordt de opslagruimte van één schijf in beslag genomen door pariteit, waardoor per groep twee schijven beschikbaar blijven voor data, in totaal vier van de zes schijven.

Hetzelfde principe geldt op grotere schaal. Bij een array met acht schijven, gepland in twee groepen van vier, wordt per groep één schijf gereserveerd voor pariteit, waardoor zes schijven bruikbaar blijven. Bij twaalf schijven, gepland in twee groepen van zes, stijgt het aantal bruikbare schijven tot tien, aangezien elke grotere groep slechts één schijf opoffert voor pariteit, ongeacht hoeveel data-schijven ernaast staan.

De afweging achter deze verbeterde verhouding is de hersteltijd. Grotere subgroepen verlengen de tijd die nodig is voor een herstel, waardoor de periode waarin een tweede storing binnen dezelfde subgroep onherstelbaar zou zijn, wordt vergroot.

Hersteltijd en de opdrachten voor RAID 50 ten opzichte van platte RAID 5

Een standaard RAID 5-herstel op een grote array vormt het gevaarlijkste operationele venster binnen opslagbeheer. Een enkele mechanische schijf van 16 TB heeft onder normale omstandigheden een aanhoudende sequentiële leessnelheid van ongeveer 200 tot 250 MB/s. Voor het herstel van die schijf moeten data op elke andere schijf in de array worden gelezen en opnieuw worden berekend. Bij 250 MB/s duurt het scannen van 16 TB aan opslagruimte ongeveer 18 uur.

Gedurende dat venster ondervinden alle overige schijven in de array verhoogde thermische en mechanische belasting. Indien een tweede schijf in dezelfde subgroep tijdens deze periode uitvalt, stort de subgroep in. De data is dan onherstelbaar zonder tussenkomst van een specialist.

RAID 50 beperkt dit risico omdat elke subgroep onafhankelijk wordt hersteld. Bij het herstel wordt uitsluitend gelezen vanaf de schijven in de getroffen subgroep. De andere subgroepen zijn hierbij niet betrokken.

RAID 60 (RAID 6+0)

RAID 60 maakt gebruik van dezelfde architecturale logica als RAID 50, maar vervangt RAID 5 door RAID 6 in de binnenste laag. Het verschil zit hem in de dubbele pariteit. Elke binnenste subgroep berekent twee onafhankelijke pariteitsstromen, aangeduid met P en Q, met behulp van Reed-Solomon-polynomiale codering. Hierdoor kan elke subgroep intern twee gelijktijdige schijfstoringen doorstaan zonder data-verlies.

Hoe RAID 60 werkt

De controller verdeelt de schijven in onafhankelijke RAID 6-subgroepen, die elk ten minste 4 schijven vereisen. Deze subgroepen worden vervolgens op de buitenste laag met behulp van RAID 0 gestriped. Het totale minimumaantal schijven bedraagt acht, bestaande uit twee RAID 6-subgroepen van elk vier schijven.

Bij een configuratie met acht schijven worden in elke subgroep van vier schijven twee schijven gereserveerd voor dubbele pariteitsopslag, waardoor er per subgroep twee schijven beschikbaar blijven voor data. Over beide subgroepen genomen zijn vier van de acht schijven beschikbaar voor actieve opslag. Deze bruikbare capaciteit neemt toe naarmate er per subgroep meer schijven worden toegevoegd. Een RAID 60-configuratie met twaalf schijven, opgebouwd uit twee groepen van zes, laat acht bruikbare schijven over van de in totaal twaalf.

De operationele kosten komen tot uiting in de schrijfprestaties. Bij elke schrijfbewerking berekent de controller twee onafhankelijke pariteitswaarden voordat de schrijfbewerking kan worden vastgelegd. Dit veroorzaakt een verwerkingsvertraging die meetbaar hoger is dan bij RAID 50 bij gelijkwaardige schrijfbelastingen. Bij een hoge schrijfdoorvoer wordt deze overhead de beperkende factor voor de prestaties van de array.

RAID 60 is geschikt voor omgevingen waarin de gevolgen van dataverlies tijdens een hardwarefout zwaarder wegen dan de kosten van tragere schrijfbewerkingen en een hoger minimumaantal schijven, waaronder opslag in de gezondheidszorg, logbestanden van financiële transacties en overheidsarchieven. Voor de meeste implementaties bij het MKB maken de vereiste schijfaantallen en de inperking van de schrijfprestaties deze configuratie moeilijk te rechtvaardigen, tenzij tolerantie voor dubbele storingen een specifieke nalevings- of operationele vereiste is.

RAID 10 versus RAID 50 versus RAID 60: een vergelijking naast elkaar 

Bij het selecteren van de juiste architectuur moet een afweging worden gemaakt tussen het beschikbare hardwarebudget en de prestatie-eisen. Databasebeheerders geven doorgaans de voorkeur aan een hoog aantal invoerbewerkingen, waardoor gespiegelde striping de logische keuze is. Grote opslagrepositories profiteren daarentegen van de sequentiële lees- en schrijfsnelheden die pariteitsstriping biedt, terwijl tegelijkertijd vooruit wordt gepland voor scenario’s zoals het uitvallen van een RAID-controller.

In de onderstaande tabel worden de architecturen vergeleken op basis van de factoren die het belangrijkst zijn bij het nemen van een definitieve beslissing over de schijfconfiguratie.

Configuratie Minimaal aantal schijven Bruikbare capaciteit Toegestane storingen Schrijfprestaties Meest geschikt voor
RAID 10 (1+0) 4 50% 1 per spiegelpaar Goed (geen pariteit) Databases, VM's, workloads met hoge IOPS
RAID 50 (5+0) 6 67-83% 1 per RAID 5-groep Matig Grote arrays, betere capaciteitsefficiëntie
RAID 60 (6+0) 8 50-75% 2 per RAID 6-groep Lager Kritieke data, omgevingen met hoge redundantie

Conclusie: Uw array beveiligen na een mechanische storing 

De meest voorkomende fout die systeembeheerders maken tijdens emergencies, is het forceren van een herstel van de controller zonder de oorspronkelijke logische parameters te verifiëren. In elke hybride opstelling moeten de stripe-parameters van de buitenste laag en de geometrie van de binnenste laag correct worden geïdentificeerd voordat het veilig is om een herstel te starten. Het onjuist inschatten van de stripe-grootte of de pariteitsrotatie kan de kwetsbare hexadecimale metagegevens overschrijven, waardoor het terughalen van data permanent onmogelijk wordt.

Indien een opslagarray leesfouten begint te vertonen, is de juiste reactie om deze onmiddellijk uit te schakelen. Er dient een sector-voor-sector-kloon van elke schijf in de array te worden gemaakt voordat de controller opnieuw wordt aangeraakt. Hiervoor moeten de schijven fysiek worden verwijderd en aangesloten op een hardware-schrijfblokkering. Een schrijfblokkering fungeert als een fysieke eenrichtingspoort die voorkomt dat het besturingssysteem achtergronddata naar beschadigde schijven schrijft.

Via deze beveiligde verbinding kan een bitstream-kloon worden gemaakt, waarbij elke sector identiek wordt gekopieerd naar een stabiele doelschijf. Aan de hand van deze klonen kan een specialist de logische array reconstrueren zonder de originele schijven aan verdere risico’s bloot te stellen.

Roep deskundige hulp in voordat u de recovery onderneemt

Het team van Stellar Gegevensherstel werkt in ISO 27001-gecertificeerde Class 100-cleanrooms om defecte fysieke hardware veilig te behandelen alvorens een logische reconstructie te ondernemen. Indien een hybride array offline raakt, neem dan contact op met onze RAID-gegevensherstel-specialisten voor een grondige diagnostische controle. Het team zal vaststellen wat er herstelbaar is voordat er met de werkzaamheden wordt begonnen.

Veelgestelde vragen

76% van de mensen vond dit Data recovery blog nuttig

Over de auteur

Kees Jan Meerman

Kees Jan Meerman

Managing Director, Stellar Data Recovery Europe

  • The Hague Security Delta
  • ISO 9001:2015 Certified
  • MKB Innovative
  • MVO Nederland
Call Me