Vad är RAID 6

Written By: Ontrack

Date Published: november 06, 2023

Vad är RAID 6

Healthy RAID 6 Array

RAID 6: En blandning av feltolerans och prestanda för att skydda dina data

En RAID-array är en samling diskar som konfigureras antingen av programvara eller hårdvara för att skydda data, förbättra prestanda eller både och. Termen RAID står för Redundant Array of Independent Disks (en redundant array av oberoende diskar). Det finns många olika typer av RAID-konfigurationer som påverkar läs- och skrivhastigheter samt redundans och feltolerans.

RAID 6, liksom RAID 5, utvecklades på 80-talet. En RAID 6-array som byggs med en hårdvarukontroller används ofta som en bra kompromiss mellan redundans och hastighet. En RAID 6-array kräver minst fyra diskar och ger ökad läshastighet med minimal påverkan på skrivhastigheten. Denna RAID-nivå klarar av att två hårddiskar kraschar.

Hur ser en RAID 6-konfiguration ut?

RAID 6 liknar RAID 5 i det avseendet att båda konfigurationerna använder paritet och datastriping. Skillnaden är att RAID 5 har en paritet, medan RAID 6 har två paritetsstripes. Detta gör att en RAID 6 tolererar att två diskar kraschar i stället för bara en. De data som finns i den första paritetsremsan i de flesta RAID 6-konfigurationer är en XOR-kombination av data från de andra stripsen, medan den andra paritetsstripen vanligtvis är en egen algoritm.

RAID 6-arrayer måste avsätta två diskar med data till paritet. Detta innebär att en RAID 6 är billigare att implementera än en RAID 10 med samma storlek, eftersom endast två diskars utrymme allokeras till paritet. Raid 6 ger också större flexibilitet och större volymstorlekar än RAID 1.

Healthy RAID 6 array.

I exemplet ovan har vi en RAID 6-array med fem enheter som du skulle se i en Dell PowerEdge-server. Det första paritetsblocket (Parity 1) som finns på enhet 4 för den första stripen är XOR av data från blocken Data 1 (enhet 1), Data 2 (enhet 2) och Data 3 (enhet 3).

Det andra paritetsblocket (Parity 2) som finns på enhet 5 för den första stripen är en kombination av data från Data 1, Data 2, Data 3 och kan innehålla Parity 1 beroende på tillverkare och styrenhet. Dessa paritetsberäkningar upprepas i alla datastripes med olika enhetskombinationer.

Vad gör paritet i en RAID 6-array?

Paritet är en matematisk funktion som ger ytterligare skydd eftersom den gör det möjligt att rekonstruera förlorade data. Genom att ha ett paritetsblock som en del av varje datastripe blir det möjligt för systemet att återuppbygga om en eller flera av enheterna går sönder eller går offline. RAID-kontrollern eller RAID-programvaran kan praktiskt taget bygga upp alla saknade datasegment med hjälp av paritet.

I exemplet nedan ser vi att enhet 2 har gått sönder.

I exemplet nedan ser vi att enhet 2 har gått sönder.

När en disk kraschar går systemet in i ett degraderat läge. I det läget kombinerar RAID-styrenheten datastrippen med paritet för att presentera bra data för operativsystemet. I vårt exempel kombinerar styrenheten data 1, data 3 och paritet 1 för den första stripen för att ersätta de saknade uppgifterna i data 2. I den andra stripen används data 4, data 6 och paritet 1 för att ersätta data 5. I den tredje och fjärde stripen behövs ingen paritet eftersom alla dataenheter fortfarande finns.

Med två paritetsblock per stripe tillåter RAID 6 att två diskar kraschar. I exemplet nedan ser vi att disk 2 och 4 har kraschat.

I exemplet nedan ser vi att disk 2 och 4 har kraschat.

Om två hårddiskar kraschar använder styrenheten datastripsen i kombination med Parity 1 och Parity 2 för att återskapa de saknade uppgifterna. I vårt exempel kombinerar styrenheten data 1, data 3 och paritet 2 i den första stripen för att ersätta de saknade uppgifterna i data 2. I den andra stripen används data 4, data 6 och paritet 1 för att ersätta data 5. I den tredje stripen används data 7, data 9 och paritet 2 för att ersätta data 8.

Hur fungerar en Hot Spare i en RAID 6-array?

En hot spare är en eller flera extra diskar som kan läggas till i en RAID 6-array för att möjliggöra snabb återställning om en disk kraschar. I exemplet ovan ser vi en fungerande RAID 6-array med en enda hot spare-disk. Observera att hot spare-disken inte innehåller några data förrän ett fel inträffar och disken behövs.

Hur fungerar en Hot Spare i en RAID 6-array?

Om systemet har tillgång till en hot spare kommer controllern automatiskt att börja återskapa de saknade uppgifterna från den trasiga enheten till reservdisken i händelse av ett fel.

Exemplet ovan visar att disk 2 har kraschat.

Exemplet ovan visar att disk 2 har kraschat. Systemet använde hot spare och byggde om alla saknade data från enhet 2 till hot spare-disken. Nu kan enhet 2 tas bort från systemet och ersättas med en ny enhet, antingen som en ny hot spare eller som en ny enhet 2, och data kan återskapas på den.

Varför använda Hot Spares? När en disk kraschar är det viktigt att det går fort att återskapa systemet. Att köra i degraderat läge innebär ökad påfrestning på de återstående diskarna vilket kan orsaka ytterligare krascher. Det finns också en risk att diskar från samma tillverkningsserie har samma defekter. Detta innebär att flera diskar riskerar att krascha inom en kort tidsperiod. Om man har en eller flera hot-spares uppnår man snabbare återställning.

Vad är orsaken till RAID-6 problem?

Det finns flera anledningar till att en RAID-6 kan haverera. Här är några av de vanligaste orsakerna som vi ser på Ibas Ontrack.

  • Flera hårddiskar kraschar samtidigt
  • Instabil strömförsörjning (strömspikar eller låg spänning)
  • RAID controller eller RAID mjukvarufel
  • Logiska skador i RAID konfigurationen
  • Översvämningar och brandskador
  • Misslyckade eller avbrutna försök till rebuild

Är det möjligt att rädda data efter RAID-6 krascher?

Det går att rädda data efter en RAID-6 krasch. Även om dataräddningar är mer komplicerade och mer utmanande, så går det normalt sett att nå ett väldigt bra resultat. Den största utmaningen är ofta den proprietära algoritm som används för att skapa det andra paritetsblocket, eftersom varje tillverkare implementerar detta på olika sätt och det ofta krävs anpassad utveckling för att undersöka och utveckla verktyg för att stödja detta.

Det finns flera orsaker till dataförlust och räddningsåtgärderna är olika för varje scenario. Nedan följer några exempel:

Dataräddning då en av fem diskar kraschat

Dataräddning då en av fem diskar kraschat

Precis som i en RAID 5 kan paritet användas för att bygga upp de saknade uppgifterna igen om en hårddisk kraschar. I detta scenario kan Ibas Ontrack vanligtvis återställa alla data. När vi får in en kraschad RAID börjar vi alltid med att spegelkopiera samtliga rådata från diskarna. Även från den skadade. Därefter byggs systemet upp igen med hjälp av kunskap kring hur det var uppbyggt från början. När RAID:en är uppe skannas filsystemet eller volymen för att detektera eventuella fel, det repareras virtuellt och data extraheras. Ofta behövs inte den defekta disken, eftersom de data som saknas kan återuppbyggas med hjälp av paritet.

Dataräddning då två diskar kraschat

Dataräddning då två diskar kraschat

Till skillnad från RAID 5, där alla hårddiskar utom en behövs för att den ska fungera, är RAID 6 utformad för att tillåta fel på upp till två diskar utan att data påverkas. Processen för att återställa flera trasiga diskar liknar den för en enskild disk. När en icke-fungerande array kommer in till våra labb spegelkopieras data till arbetsdiskar. Vi extraherar även data från defekta diskar. Om data på diskarna är kompletta och korrekta behövs eventuellt inte data från de trasiga diskarna för att åstadkomma en fullständig dataräddning. Därefter byggs allt praktiskt taget om med hjälp av dessa kopior.

I exemplet ovan används data 1, data 3 och paritet 2 från stripe 1 för att bygga upp data 2 igen. Data 4, paritet 1 och data 6 används för att återskapa data 5 i den andra remsan. Data 7, Parity 2 och Data 9 används för att återuppbygga Data 8 i den tredje stripen.

När RAID systemet är virtuellt återskapat skannas filsystemet eller volymen för att upptäcka skador. Förutom fel i filsystemet letar ingenjörerna också efter data som inte är konsekventa eller föråldrade. Detta inträffar när det går en viss tid mellan diskkrascher och en av diskarna är skadad. Räddningsexperterna behöver erfarenhet för att känna igen den här typen av skador så att de virtuellt kan reparera volymen och extrahera bra och kvalitativa data.

Dataräddning efter att flera diskar kraschat

Dataräddning efter att flera diskar kraschat

Det är möjligt att rädda samtliga data från en RAID 6 även om mer än två diskar har kraschat.

I exemplet ovan har vi en RAID 6-array med skador på vissa delar av alla fem diskarna. Om det inte finns mer än två trasiga block per stripe är det möjligt att återskapa de saknade uppgifterna. Ibas Ontrack läser ut så mycket rådata som möjligt från alla diskar med hjälp av specialutrustning.

Därefter byggs systemet praktiskt taget om med hjälp av dessa data. I exemplet ovan används data 1, data 3 och paritet 2 från stripe 1 för att återuppbygga data 2. Ingen paritet behövs för stripe 2 eftersom data 4, data 5 och data 6 är intakta. Data 7, paritet 2 och data 8 används för att bygga upp data 9 i den tredje stripen.

När RAID-en är virtuellt återuppbyggd skannas filsystemet eller volymen för att upptäcka skador. Alla data som kan räddas extraheras från det virtuellt återskapade systemet till nya medier för att åter sättas i produktion.

Prenumerera på vårt nyhetsbrev

Ibas Ontrack AB, Bangårdsgatan 13, 75 320 Uppsala, Sverige (Se alla adresser)