Uw vraag direct beantwoorden : 030-7600700

Menu Hide

Opdracht direct aanmelden

In hun paper "A Case for Redundant Arrays of Inexpensive Disks (RAID)", gepresenteerd op de SIGMOD-conferentie in 1988, presenteerden David Patterson, Garth Gibson en Randy Katz een verhelderend uitgangspunt: RAID 0. Door data op een eenvoudige manier te verdelen over goedkope pc-schijven zonder redundantie, bewezen zij dat het mogelijk was om de IO-doorvoer en capaciteit voor weinig geld te vermenigvuldigen – op voorwaarde dat men bereid was het risico te nemen om alles te verliezen als een schijf defect raakte.

Wat is RAID 0?

RAID 0 – ook wel striping genoemd – is de eenvoudigste array-organisatie. Het is RAID, maar zonder redundantie. Twee of meer fysieke schijven worden behandeld als één logisch volume en elk bestand wordt verdeeld in stukken of stripes van gelijke grootte. Deze stripes worden in round-robin-opdracht naar de schijven geschreven, zodat alle spindels (of kanalen in het geval van SSD's) parallel werken.

RAID 0 - Uitstekend gegevensherstel

Aangezien er geen extra kopieën of pariteitscodes worden opgeslagen, biedt RAID 0 drie belangrijke kenmerken:

  • Snelheid: de sequentiële bandbreedte en IOPS (input/output-bewerkingen per seconde) schalen bijna lineair met het aantal schijven.
  • Volledige capaciteit: u behoudt 100% van de totale schijfruimte – zonder overhead.
  • Geen fouttolerantie: als één onderdeel defect raakt, stort de stripeset in en heeft u professionele hulp nodig om data uit de RAID 0-configuratie te herstellen

Deze afweging maakt RAID 0 aantrekkelijk voor niet-kritieke workloads – scratch rendering, high-speed capture buffers, gaming-apparatuur voor enthousiastelingen – waarbij ruwe prestaties belangrijker zijn dan duurzaamheid.

RAID 0

RAID 0 in een array waarbij data over vijf harde schijven is verdeeld

Hoe werkt RAID 0 of striping?

1. Striping-logica

De RAID-controller (of besturingssysteemsoftware) selecteert een blokgrootte, bijvoorbeeld 64 KB. Deze verdeelt inkomende schrijfbewerkingen in blokken en wijst deze sequentieel toe aan de harde schijven: blok 0 aan harde schijf 0, blok 1 aan harde schijf 1, blok 2 aan harde schijf 2, enzovoort, en begint opnieuw wanneer de laatste schijf is bereikt.

2. Stripe-samenstelling

Een groep blokken met dezelfde logische offset vormt een stripe. In een array met vier harde schijven kan de eerste stripe die wordt gemaakt blokken 0-3 bevatten (d.w.z. één blok per harde schijf). Grotere blokgroottes – bijvoorbeeld twee blokken per harde schijf – resulteren in bredere stripes, wat gunstig is voor grote sequentiële overdrachten; kleinere blokken verbeteren de parallelliteit bij gemengde I/O-bewerkingen.

3. Lees-/schrijfgedrag

Voor sequentiële I/O-bewerkingen geeft de controller tegelijkertijd opdrachten aan alle schijven in de stripe, waarbij de bandbreedte van alle spindels tegelijk wordt benut. Willekeurige I/O-bewerkingen worden verdeeld, zodat geen enkele schijf een hotspot wordt. 

De latentie voor een enkele leesbewerking van 4 KB is ongeveer gelijk aan die van een enkele schijf, maar de totale doorvoer bereikt N × S voor sequentiële en N × R voor willekeurige workloads (waarbij N het aantal schijven is, S de sequentiële leessnelheid in MB/s en R de willekeurige leessnelheid in MB/s).

4. Foutsemantiek

Zonder pariteit of mirroring kan de array verloren blokken niet reconstrueren; een defecte harde schijf kan alle bestanden ongeldig maken.

Een werkend voorbeeld van RAID 0

Beschouw deze zin als een data-blok: "RAID_0_is_echt,_echt_snel."

Laten we deze zin van zes woorden met een blokgrootte van vier tekens over vier harde schijven verdelen.

Hoe striping werkt - Stellar

1. Schrijfpad

Woord 1 ("RAID") komt op harde schijf 0 terecht.

Woord 2 ("_0_g") komt op harde schijf 1 terecht, woord 3 ("oes_") op harde schijf 2 en woord 4 ("real") op harde schijf 3.

De verantwoordelijke persoon begint vervolgens met de tweede strook: "ly,_" → harde schijf 0, "real" → harde schijf 1, "ly_f" → harde schijf 2 en "ast." → harde schijf 3. 

2. Leespad

Het sequentieel lezen van het record wordt uitgevoerd door vier schijven tegelijk – elk levert zijn deel terwijl de andere doorgaan naar het volgende blok, waardoor ongeveer vier keer de bandbreedte van een enkele schijf wordt bereikt.

3. Storingsscenario

Als harde schijf 2 uitvalt, gaan de delen "oes_" en "ly_f" verloren, waardoor beide stripes beschadigd raken en de set onleesbaar wordt. Dit is het compromis bij RAID 0: razendsnelle snelheid, maar geen tolerantie voor een defecte harde schijf.

RAID 0 – Voordelen en beperkingen

RAID 0 is eenvoudige striping zonder redundantie. Het is de basis waarop Patterson, Gibson en Katz vijf verschillende RAID-configuraties hebben gemodelleerd in hun publicatie uit 1988.

  • "75 goedkope harde schijven hebben potentieel 12 keer de I/O-bandbreedte van de IBM 3380 en dezelfde capaciteit met een lager stroomverbruik en lagere kosten."
Kenmerk Betekenis in de praktijk
Prestaties Sequentiële bandbreedte ≈ W × (bandbreedte van een enkele schijf); IOPS schaalbaar totdat de controllerwachtrij of PCIe-lanes verzadigd zijn. 
Capaciteit Som van alle aangesloten schijven; geen overhead.
Betrouwbaarheid Gemiddelde tijd tot data-verlies (MTTDL) ≈ MTBF / W: elke extra schijf verkort de gemiddelde tijd tot catastrofaal verlies. Een RAID 0 met 20 schijven kan binnen vijf jaar een storingskans van ≥ 50% hebben, zelfs met SAS-schijven van enterprise-klasse. 
De recovery Geen – er valt niets te herstellen. Back-ups of replicatie op hoger niveau zijn verplicht.

Implementatiescenario's – waar RAID 0 geschikt is

RAID 0 is geschikt voor scenario's waarin pure snelheid en volledige capaciteit belangrijker zijn dan fouttolerantie. In de volgende tabel staan dergelijke scenario's vermeld met de redenen waarom RAID 0 in deze gevallen succesvol is.

Scenario Waarom RAID 0 aantrekkelijk is
Productie van video's of afbeeldingen met een hoge bitsnelheid Omvangrijke sequentiële lees-/schrijfbewerkingen belasten individuele harde schijven; striping bundelt bandbreedte voor vloeiende 4K/8K-tijdlijnen en realtime-effecten.
Scratch- of rendercaches in VFX/wetenschappelijke berekeningen Data-sets kunnen eenvoudig opnieuw worden gegenereerd, dus het verlies van een volume kost tijd, maar geen onvervangbare informatie. Parallelle striping elimineert rendering-I/O-bottlenecks.
Snelle ingestbuffers (laboratoriuminstrumenten, camerabeelden) Kortetermijnlandingszones vereisen burst-schrijfbewerkingen; na het vastleggen worden bestanden verplaatst naar beveiligde opslag.
Gaming- of benchmark-rigs voor enthousiastelingen Synthetische tests en laadschermen hebben hogere overdrachtssnelheden; het risico is aanvaardbaar omdat besturingssysteem-/game-images eenvoudig opnieuw kunnen worden geïnstalleerd.
Tijdelijke bouw- of testomgevingen Continue integratiepijplijnen compileren artefacten die bij elke run opnieuw worden aangemaakt, waarbij de compilatiesnelheid voorrang heeft op persistentie.

 

Implementatiescenario's – waarin RAID 0 moet worden vermeden

Ondanks de aantrekkingskracht van snelheid is RAID 0 de slechtste keuze voor alle workloads die geen gegevensverlies of lange de recovery kunnen tolereren. Overweeg deze praktijk gevallen.

  • Business-kritische databases en transactiesystemen: het uitvallen van een enkele harde schijf vernietigt alle tabellen; in plaats daarvan zijn gespiegelde (RAID 1/10) of pariteitsarrays de norm. 
  • Bedrijfsbestanden, archiefmedia of nearline-back-upsets: de capaciteit is groot, de data zijn uniek en de recovery-vensters moeten voorspelbaar zijn. In plaats daarvan bieden RAID 5/6 of erasure coding bescherming met veel minder risico. 
  • Workloads met gemengde willekeurige I/O-bewerkingen die niet kunnen worden onderbroken voor de recovery: de prestaties zijn laag, maar voor de recovery na een storing is een volledig terugzetten vanaf de back-up vereist. 
  • Elke omgeving zonder een robuuste, geautomatiseerde back-upstrategie: striping verhoogt het risico op volumeverlies: n schijven → n keer de kans op een storing. Een RAID 0 met twee harde schijven verdubbelt het risico al. 

RAID 0 biedt snelheid ten koste van zekerheid. Gebruik het alleen als de workload vervangbaar is of anderszins wordt beschermd; kies anders een RAID-niveau (of cloudlaag) dat voldoet aan uw duurzaamheidseisen.

RAID 0 heeft dus twee kanten: het heeft de prestaties van RAID bewezen en elke opslagarchitect eraan herinnerd dat snelheid zonder duurzaamheid alleen werkt voor vervangbare data.

Verder dan RAID 0

RAID 0 heeft bewezen dat striping enorme snelheidswinst kan opleveren, maar het had ook één cruciaal nadeel: geen bescherming tegen schijfstoringen. Zelfs het uitvallen van één enkele schijf zou de hele array vernietigen. Voor praktisch gebruik, vooral in bedrijfsomgevingen waar data-verlies onaanvaardbaar is, is RAID 0 alleen niet voldoende.

De onderzoekers van Berkeley zagen dit vanaf het begin in. Ze stelden een hele reeks RAID-niveaus voor, die elk een nuttige combinatie van snelheid, capaciteit en fouttolerantie boden. In de volgende gids kijken we naar RAID 1, dat zich richt op gegevensbeveiliging door middel van mirroring.

76% van de mensen vond dit Kennisbank nuttig

Over de auteur

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