RAID 6: En blanding af fejltolerance og ydeevne

Written By: Ontrack

Date Published: 6. november 2023 02:28:21 EST

RAID 6: En blanding af fejltolerance og ydeevne

RAID 6

Et RAID-array er en samling af diske, der er konfigureret enten af ​​software eller hardware på en bestemt måde for at beskytte data og/eller forbedre ydeevnen. Udtrykket RAID står for Redundant Array of Independent Disks. Der er mange forskellige typer RAID-arrays, der påvirker læse- og skrivehastigheden, såvel som redundans eller fejltolerance.

RAID 6 blev ligesom RAID 5 udviklet i 1980'erne. Et RAID 6-array baseret på en hardwarecontroller bruges ofte som et godt kompromis mellem redundans og hastighed. Et RAID 6-array kræver mindst fire diske og tilbyder øget læsehastighed med minimal indvirkning på skriveydelsen. Dette RAID-niveau kan tolerere to diske, der fejler.

Hvordan ser en RAID 6-konfiguration ud?

RAID 6 ligner RAID 5, idet begge typer bruger paritet og data-striping. Forskellen er, at hvor RAID 5 har én forekomst af paritet, har RAID 6 to paritets-striber. Dette gør det muligt for et RAID 6-array at modstå fejl på to diske i stedet for kun én. Dataene i den første paritetsstribe i de fleste RAID 6-konfigurationer er en XOR af dataene fra de andre striber. Den anden paritetsstribe er normalt en proprietær algoritme.

RAID 6 skal dedikere plads svarende til to diske til paritet. Det betyder, at et RAID 6-array stadig er billigere at anskaffe end en RAID 10 af samme størrelse, da plads svarende til kun to diske er allokeret til paritet, uanset det samlede antal diske. RAID 6 giver også mere fleksibilitet og større volumenstørrelser end et RAID 1 eller RAID 10.

Healthy RAID 6 array.

I eksemplet ovenfor har vi et RAID 6-array med fem diske, som du ville se på en Dell PowerEdge-server. Den første paritetsblok (Paritet 1) på disk 4 for den første stribe er XOR af dataene fra blokkene med navnet Data 1 (Disk 1), Data 2 (Disk 2) og Data 3 (Disk 3).

Den anden paritetsblok (Parity 2) fundet på disk 5 for den første stribe er en kombination af data fra Data 1, Data 2, Data 3 og kan inkludere Paritet 1 afhængigt af typen af ​​producent og controller. Disse paritetsberegninger gentages på tværs af alle datastriber ved brug af forskellige diskkombinationer.

Hvilken rolle spiller paritet i et RAID 6-array?

Paritet er en matematisk funktion, der giver yderligere beskyttelse, fordi den tillader rekonstruktion af tabte data. At have en paritetsblok som en del af hver datastribe gør det muligt at genopbygge systemet i tilfælde af, at en eller flere af diskene fejler eller går offline. RAID-controlleren eller RAID-softwaren kan genopbygge ethvert manglende datasegment ved hjælp af paritet.

I eksemplet nedenfor ser vi, at Disk 2 har fejlet.

I eksemplet nedenfor ser vi, at Disk 2 har fejlet.

Når en disk fejler, vil arrayet gå i forringet tilstand. I degraderet tilstand vil RAID-controlleren kombinere datastriberne med paritet efter behov for at præsentere gode data til operativsystemet. I vores eksempel vil controlleren kombinere Data 1, Data 3 og Parity 1 for den første stribe for at erstatte de manglende data i Data 2. I den anden stribe bruges Data 4, Data 6 og Parity 1 til at erstatte Data 5 I den tredje og den fjerde stribe kræves ingen paritet, da alle datadiske er tilgængelige.

Med to paritetsblokke pr. stribe tillader RAID 6, at to diske fejler. I eksemplet nedenfor ser vi, at Disk 2 og 4 har fejlet.

I eksemplet nedenfor ser vi, at Disk 2 og 4 har fejlet

Når to diske fejler, vil controlleren bruge datastriberne kombineret med paritet 1 og paritet 2 til at genskabe de manglende data. I vores eksempel vil controlleren kombinere data 1, data 3 og paritet 2 for den første stribe for at erstatte de manglende data i data 2. I den anden stribe bruges data 4, data 6 og paritet 1 til at erstatte data 5 I den tredje bruges striberne Data 7, Data 9 og Parity 2 til at erstatte Data 8.

Hvordan fungerer en "Hot Spare" i et RAID 6-array?

En hot spare er en eller flere ekstra diske, der kan føjes til et RAID 6-array for at muliggøre hurtig gendannelse i tilfælde af en diskfejl. I eksemplet ovenfor ser vi et OK RAID 6-array med en enkelt hot spare tilføjet. Bemærk, at hot spare ikke indeholder nogen data, før der opstår en fejl, og disken er brugt.

Hvis en hot spare er tilgængelig for systemet, og en disk fejler, vil controlleren automatisk begynde at genopbygge de manglende data fra den defekte disk til hot spare.

Hvordan fungerer en "Hot Spare" i et RAID 6-array?

Eksemplet ovenfor viser, at Disk 2 har fejlet. Systemet genopbyggede alle manglende data fra Disk 2 til Hot Spare. Disk 2 kan nu fjernes fra systemet og erstattes med en ny disk, enten som en ny hot spare eller som en ny Disk 2, og dataene kan genopbygges på den.

Hvorfor bruge Hot Spare? Når en disk fejler, er tid af afgørende betydning for at genopbygge data. Kørsel i forringet tilstand lægger yderligere stress på de resterende diske og kan forårsage yderligere fejl, hvis de ikke rettes hurtigt. Det er også muligt, at diske fra samme produktionsparti har lignende defekter, så det er sandsynligt, at andre diske også snart kan svigte. At have en eller flere Hot Spares tilgængelige giver mulighed for hurtigere genoprettelse.

Hvad kan forårsage fejl i et RAID 6-array?

Der er flere grunde til, at et RAID 6-array kan fejle. Her er nogle af de vigtigste årsager, vi ser hos Ibas Ontrack.

  • Flere diske fejler på samme tid
  • Strømproblemer (overspænding eller lav spænding)
  • RAID-controller eller RAID-softwarefejl
  • Korrupt RAID-konfiguration
  • Oversvømmelse/vand- eller brandskade
  • Mislykket eller delvis rebuild af en defekt disk

Er det muligt at rekonstruere data fra et RAID 6?

Datarekonstruktion fra en RAID 6 er mulig. Selvom rekonstruktion kan være kompliceret og mere udfordrende med et RAID 6-array, er resultatet normalt vellykket. Den største udfordring er ofte den proprietære algoritme, der bruges til at skabe den anden paritetsblok. Hver producent implementerer ofte dette forskelligt, og brugerdefineret udvikling er ofte påkrævet for at udvikle værktøjer, der understøtter dette.

Der er flere årsager til datatab, og rekonstruktionsindsatsen for hver af dem er forskellig. Nedenfor er et par eksempler:

Datarekonstruktion med en defekt disk

Datarekonstruktion med en defekt disk

Ligesom hvis en disk fejler i et RAID 5-array, kan paritet bruges til at genopbygge de manglende data. I dette scenarie er Ibas Ontrack normalt i stand til at rekonstruere 100 % af data. Ved modtagelse af et system, der ikke længere virker, laves en bedst mulig spejlkopi af alle diske i vores renrumslaboratorium (inklusive den defekte disk, hvis det er muligt). RAID-arrayet opbygges så virtuelt ved hjælp af vores software. Når et RAID-array er samlet, scannes filsystemet eller volumen for korruption, repareres, og dataene udtrækkes. Den defekte disk er ofte ikke nødvendig, da eventuelle manglende datastriber kan genopbygges fra paritet.

Datarekonstruktion med to defekte diske

Datarekonstruktion med to defekte diske

I modsætning til et RAID 5-array, hvor alle diske undtagen én er nødvendige for at det kan fungere, er RAID 6 designet til at tillade fejl på op til to diske uden nogen indvirkning på dataene. Processen til at rekonstruere data fra flere defekte diske er stort set den samme som for en enkelt diskfejl. Ved modtagelse af et defekt RAID-system gendannes data fra alle diske i renrumslaboratoriet, inklusive de defekte diske. Hvis dataene på alle diske er intakte, er de fejlbehæftede diske muligvis ikke nødvendige for en fuld datarekonstruktion.

I eksemplet ovenfor bruges Data 1, Data 3 og Parity 2 fra den første stribe til at genopbygge Data 2. Data 4, Parity 1 og Data 6 bruges til at genopbygge Data 5 i den anden stribe. Data 7, Parity 2 og Data 9 bruges til at genopbygge Data 8 i den tredje stribe.

Når RAID-arrayet er sat sammen igen, scannes filsystemet eller diskenheden for korruption. Ud over filsystemkorruption leder ingeniører også efter inkonsekvente eller forældede data. Dette er noget, der kan ske, hvis diskene har fejlet på forskellige tidspunkter. Datarekonstruktionsingeniører har brug for stor erfaring med at genkende denne type skader, som er påkrævet for at rekonstruktion af intakte data er mulig.

Datarekonstruktion i tilfælde af mere end to defekte diske

Datarekonstruktion i tilfælde af mere end to defekte diske

En fuld gendannelse fra et RAID 6-array er mulig, selvom mere end to diske har fejlet.

I eksemplet ovenfor har vi et RAID 6-array med skader i visse områder på alle fem diske. Hvis der ikke er mere end to defekte blokke pr. stribe, er det muligt at genopbygge de manglende data. Ontrack vil rekonstruere så meget som muligt af hver disk for at gøre dette muligt.

RAID-arrayet bygges derefter op ved hjælp af de rekonstruerede data fra diskene. I eksemplet ovenfor bruges Data 1, Data 3 og Parity 2 fra den første stribe til at genopbygge Data 2. Der kræves ingen paritet i den anden stribe, da Data 4, Data 5 og Data 6 alle er intakte. Data 7, Paritet 2 og Data 8 bruges til at gendanne data 9 i den tredje stribe.

Når RAID-arrayet samles igen, scannes filsystemet eller diskenheden for korruption. Data rekonstrueres og leveres tilbage på nye lagermedier for at blive sat i produktion igen.

Tilmeld Nyhedsbrev

Ibas Ontrack ApS, C/O Regus, Christians Brygge 28, 1559 København V., Danmark (se alle lokationer)