Forståelse af RAID og redundans i lagringssystemer

Få indblik i, hvordan de forskellige RAID-niveauer fungerer, hvor meget brugbar lagerplads de giver, og hvordan de beskytter dine data i tilfælde af harddiskfejl. Fra enkle spejlinger til avancerede RAID 60- og ZFS RAID-Z-konfigurationer – denne side hjælper dig med at finde ud af, hvilken RAID-type der passer bedst til dine forskellige lager- og serverbehov.

Raid

RAID

I RAID har alle dine diske normalt samme størrelse. Hvis du bruger diske i forskellige størrelser, vil den udnyttede plads på hver disk svare til størrelsen på den mindste disk.
  • Det oprindelige antal diske i dit RAID er fast og kan ikke ændres.
  • Du kan udskifte diske med større diske, men du kan ikke udnytte den ekstra kapacitet med det samme.
  • Når du har udskiftet alle dine diske med diske med højere kapacitet, kan du ofte, afhængigt af din controller, udvide hele RAID’et til den nye større størrelse.

RAID 0 – stripe

Data skrives på tværs af alle diske. Dette giver den højeste ydeevne, men ingen redundans. Brugbar diskplads er den samme som den rå kapacitet.

RAID 1 – mirror

Data duplikeres på to diske. Det giver dobbelt læseydeevne, samme skriveydelse, og systemet kan fortsætte, hvis én disk fejler. Brugbar diskplads er halvdelen af den rå kapacitet.

RAID 5 – én distribueret paritet (RAIDZ, RAID-Z1, RAID 7.1, SHR-1, F1)

Paritet beregnes og skrives på tværs af alle diske. Det giver højere læseydeevne, men lavere skriveydelse. Systemet kan fortsætte, hvis én disk fejler. Ved diskstørrelser over 4 TB kan genopbygning tage flere dage og skabe en betydelig risiko. Brugbar diskplads er den rå kapacitet minus én disk. SHR-1 er en Synology-variant, der understøtter udnyttelse af pladsen på drev med forskellige størrelser i samme RAID, både når arrayet oprettes og senere ved udskiftning og udvidelse. Du kan udskifte individuelle drev ét ad gangen med større drev og dermed oprette et array med blandede størrelser, hvor du kan udnytte den ekstra plads fra de større diske. Når der bruges diske med forskellige størrelser i SHR RAID, vil ydeevnen være lidt lavere end med diske i samme størrelse. SHR er stadig almindeligt RAID på diskene, men det tilføjer flere RAID-“slices” ovenpå for at understøtte arrays med blandede størrelser. F1 er en anden Synology-variant, som kun understøttes af Synology. F1 svarer til RAID 5, men skriver mere paritetsdata til ét bestemt drev i stedet for at fordele pariteten ligeligt på alle drev. Da der er flere paritetsskrivninger til ét drev, vil skriveydelsen blive lidt lavere. Dette er beregnet til all-flash-arrays (SSD). Ved at skrive mere til ét drev end til de øvrige, vil dette drev fejle før de andre, så man undgår en situation, hvor alle SSD’er har skrevet samme mængde data og derfor fejler næsten samtidig. Med drev med høj endurance og korrekt overvågning af endurance er dette normalt ikke nødvendigt. Hvis du ikke har korrekt overvågning af den resterende endurance, giver F1 en ekstra sikkerhed.

RAID 6 – to distribuerede pariteter (RAID-Z2, RAID 7.2)

To paritetsblokke beregnes og skrives på tværs af alle diske. Det giver højere læseydeevne, men dårlig skriveydelse. Systemet kan fortsætte, hvis to diske fejler. Ved diskstørrelser over 4 TB kan genopbygning tage mange dage og øge risikoen, samtidig med at ydeevnen forringes, hvilket kan være uacceptabelt over så lang en periode. Brugbar diskplads er den rå kapacitet minus to diske. SHR-2 minder om SHR-1, men har nu to paritetsdiske, ligesom RAID 6.

RAID 7.3 – tre distribuerede pariteter (RAID-Z3)

Tre paritetsblokke beregnes og skrives på tværs af alle diske. Det giver højere læseydeevne, men meget dårlig skriveydelse. Systemet kan fortsætte, hvis tre diske fejler. Dette er især nyttigt ved brug af diske på 10 TB og derover, hvor det kan tage flere uger at genopbygge RAID’et.

RAID 10 – striping på tværs af flere mirrors (1+0)

Består normalt af flere 2-disk mirrors med et stripe-sæt ovenpå. Det giver meget høj læse- og skriveydelse. Systemet kan fortsætte, hvis lige så mange diske fejler, som der er mirrors, så længe der ikke fejler to diske i samme mirror. Genopbygningstiden er meget hurtig, ofte omkring 30 minutter, med lav ydeevneforringelse, hvilket minimerer den periode, hvor systemet er sårbart. Brug af hot spares anbefales for at sikre korte genopbygningstider. Brugbar diskplads er halvdelen af den rå kapacitet.

RAID 50 – striping på tværs af flere RAID 5-sæt (5+0)

Består af flere RAID 5-sæt med et stripe-sæt ovenpå for højere hastighed. Systemet kan fortsætte, hvis én disk fejler i hvert RAID 5-sæt. Det øger skriveydelsen sammenlignet med RAID 5. RAID 50×2: Et RAID 50 kan bygges med et vilkårligt antal RAID 5-undergrupper. RAID 50×2 (eller 50/2) betyder, at dette RAID 50 bygges ved at oprette to RAID 5-undergrupper med et stripe-sæt ovenpå. RAID 50×4 betyder fire undergrupper. For eksempel betyder RAID 50×4 i et system med 16 drevpladser, at du har fire RAID 5-grupper med fire diske i hver og et stripe-sæt ovenpå.

RAID 60 – striping på tværs af flere RAID 6-sæt (6+0)

Består af flere RAID 6-sæt med et stripe-sæt ovenpå for højere hastighed. Systemet kan fortsætte, hvis to diske fejler i hvert RAID 6-sæt. Det øger skriveydelsen sammenlignet med RAID 6. RAID 60×2: Et RAID 60 kan bygges med et vilkårligt antal RAID 6-undergrupper. RAID 60×2 betyder, at dette RAID 60 bygges ved at oprette to RAID 6-undergrupper med et stripe-sæt ovenpå. RAID 60×3 betyder tre undergrupper. For eksempel betyder RAID 60×3 i et system med 24 drevpladser, at du har tre RAID 6-grupper med otte diske i hver og et stripe-sæt ovenpå.

RAID X/X (6/6, 5/5 osv.)

En storage-boks med to separate RAIDs. Eksempel: RAID 6/6 betyder, at du har oprettet to separate RAID 6-grupper i samme storage-boks, som kører helt uafhængigt af hinanden. Dette kan i nogle situationer være at foretrække frem for for eksempel RAID 60, hvis du skal være 99,999 % sikker på, at IO-belastning på ét RAID ikke påvirker det andet. I de fleste situationer foretrækkes RAID 60 med god overvågning, da peak performance IO går tabt ved at adskille RAIDs.

Hvilket RAID og hvornår?

Ved store disksæt står valget normalt mellem RAID 10 og RAID 60. RAID 10 giver den bedste ydeevne, især ved skrivning, og perioderne med nedsat ydeevne og sårbarhed er korte. Med RAID 60 kan systemet altid fortsætte, hvis to diske fejler, og hvis du bruger et stort antal diske i hvert RAID 6-sæt, går der kun et minimum af plads tabt. Ulempen er lavere skriveydelse.
Niveau Beskrivelse Minimum antal drev Pladstab Fejltolerance Fejlrate Læseydeevne Skriveydeevne
RAID 0 Stripe 2 Ingen Ingen Høj Høj Meget høj
RAID 1 Mirror 2 Rå kapacitet / 2 Spejlede diske Mellem Høj Lav
RAID 5 1 distribueret paritetsblok 3 Rå kapacitet – 1 disk 1 disk Mellem Høj Lav
RAID 6 2 distribuerede paritetsblokke 4 Rå kapacitet – 2 diske 2 diske Lav Høj Meget lav
RAID 10 Mirroring uden paritet og block-level striping 4 Rå kapacitet / 2 1 i hvert mirror Lav Høj Høj
RAID 50 Block-level striping med distribueret paritet og block-level striping 6 Rå kapacitet – (1 disk * antal RAID 5-sæt) Én pr. RAID 5 Lav Ukendt Ukendt
RAID 60 Block-level striping med dobbelt distribueret paritet og block-level striping 8 Rå kapacitet – (2 diske * antal RAID 6-sæt) To pr. RAID 6 Meget lav Ukendt Ukendt
RAID 100 Mirroring uden paritet og to niveauer af block-level striping 8 Rå kapacitet / 2 1 i hvert mirror Lav Ukendt Ukendt
Der findes mange flere RAID-niveauer, men ingen som vi bruger eller understøtter. Læs mere om nested RAID levels.

RAID 5E, 5EE osv.

I et normalt RAID er hot spare passiv og venter kun på at blive brugt, når der er behov for det. I RAID 5E (Enhanced), RAID 5EE osv. bliver hot spare aktivt brugt i arrayet, indtil den skal bruges som hot spare. Når hot spare bruges aktivt, ved du, at disken fungerer. Men samtidig slider du også på disken.

ZFS

ZFS Stripe = Striped Vdevs = RAID 0 = Stripe

RAID 0 kaldes Striped Vdevs i ZFS. Vdevs bruger også checksumming for at forhindre stille datakorruption.

ZFS Mirror = Mirrored Vdevs = RAID 1 = Mirror

Et mirror, der også bruger automatiske checksums for at forhindre stille datakorruption. Mirrored Vdevs understøtter også brug af flere mirrors, så data kan duplikeres til mere end én ekstra disk.

Striped Mirrored Vdevs = RAID 10

Det samme som RAID 10, men med checksums.

RAID Z sammenlignet med RAID

ZFS RAIDs kaldes RAID Z i stedet for RAID. RAID Z skriver automatiske checksums og lider derfor ikke af RAID write-hole-problemet, som kan opstå, hvis et RAID-storage-system crasher og afbryder en skriveoperation, hvilket kan efterlade paritet inkonsistent. Skrivning af checksum-data kan dog skabe forsinkelser, da checksum-data spredes på tværs af alle drev i zvol.

Oplev RockyNordic

Dit eventyr med Epic Cloud Services starter her 😀