Så här fungerar RAID-lagring

den 8 november 2021 av Ontrack

RAID

 

RAID (Redundant Array of Independent Disks) är en term som används för att beteckna datalagringssystem som distribuerar och/eller replikerar data över flera enheter. RAID-tekniken har revolutionerat datalagringen för företag och utvecklades med två primära mål – att förbättra tillförlitligheten hos data och att öka I/O-prestanda (indata/utdata).

Dessvärre är RAID-lagring inte en felfri teknik och dataförlust är fortfarande en risk när dessa system används. I det här inlägget ska vi titta på hur de olika RAID-nivåerna fungerar och hur data kan lagras (och gå förlorade) i den här typen av lagringssystem.

 

Hur fungerar RAID?

 

Ett RAID-system kombinerar fysiska diskar i en enda logisk enhet med hjälp av särskild maskin- eller programvara. Maskinvarubaserade RAID-lösningar kan se olika ut. De kan till exempel vara inbyggda på moderkortet eller vara add-in-kort på stora NAS- eller SAN-företagsservrar. Operativsystemet (OS) i den här typen av installation vet inte hur RAID fungerar rent tekniskt, så programvarulösningar implementeras ofta i operativsystemet.

Traditionellt sett används RAID på servrar, men det kan även användas på arbetsstationer. Det senare är typiskt på lagringsintensiva datorer som dem som används för video- och ljudredigering, där det krävs stor lagringskapacitet och hög dataöverföringshastighet.

 

Vanliga termer relaterade till RAID-lagring

 

Nu ska vi titta på några av de tekniska termer som ofta används för att beskriva olika aspekter av RAID-lagring:

  • RAID – En teknik som har stöd för olika hårddiskkonfigurationer och som ger bättre prestanda och tillförlitlighet och större volymstorlek genom att använda konsoliderande diskresurser och paritetsberäkningar.

  • Paritet – Distribuerad information som gör det möjligt att återskapa data som lagras i en RAID-array, även om en disk slutar fungera.

  • Spegling – När data från en eller flera hårddiskar dupliceras till en eller flera andra fysiska diskar.

  • Striping – En metod där data kan skrivas på flera diskar. I exemplet nedan skrivs data på enheterna i sekventiell ordning, från den första till den sista enheten. Tillbaka på den första disken inleds sedan en andra ”stripe” osv.

  • Block – Ett block är det logiska utrymmet på varje disk där data skrivs. Mängden utrymme anges av RAID-styrenheten.
  • Vänster-högersymmetri – Symmetri i ett RAID-system styr hur data och paritet distribueras över enheterna. Det finns fyra huvudsakliga symmetristilar som kan användas beroende på RAID-leverantören. En del företag tar även fram sina egna stilar utifrån affärsbehov.

  • Reservdisk (hot spare) – Diskfel i ett RAID-system kan hanteras med några olika metoder. Ett sätt är att använda en reservdisk, eller hot spare, som kan användas i stället för en defekt disk.

  • Försämrat läge – Det här tillståndet uppstår om en enhet i RAID-systemet blir oläsbar. Enheten anses i så fall vara skadad och dras tillbaka från RAID. Nya data och paritet skrivs till de återstående enheterna i RAID-systemet. Om data begärs från den fallerande enheten hanteras detta med pariteten på de andra. Den här enhetsreduceringen påverkar prestanda i RAID-systemet negativt.

Nu ska vi titta närmare på tre nyckelbegrepp inom RAID-teknik – spegling, striping och korrigering – och se hur några av konfigurationerna på de traditionella nivåerna fungerar.

RAID-lagringsnivåer

Som vi redan nämnt handlar spegling om att kopiera data till mer än en disk, striping om att dela upp data på mer än en disk och felkorrigering om att lagra redundanta data för att upptäcka och åtgärda problem (även kallat feltolerans). En eller flera av dessa tekniker kan användas i olika RAID-konfigurationer, beroende på systemkraven.

RAID-standardkonfigurationer kallas för nivåer. Ursprungligen fanns det fem nivåer, men många fler varianter har utvecklats med tiden, inklusive flera kapslade nivåer samt flertalet nivåer utanför standardnivåerna (huvudsakligen egenutvecklade). I branschen har man redan sett antalet nivåer öka från RAID 0 till RAID 51 (och högre ändå). Eftersom olika nivåer har olika slags redundans måste en avvägning ofta göras mellan feltolerans och prestanda, beroende på tillämpning.

RAID-basnivåerna är:

  • RAID 0 – Kallas ofta striping och är den mest grundläggande RAID-nivån. Den ger ingen redundans men däremot utmärkta prestanda. Data fördelas jämnt mellan minst två diskar och med varje disk som läggs till ökar läs-/skrivprestanda och lagringskapaciteten på en enskild enhet.

  • RAID 1 – Den här nivån brukar också kallas spegling, som (som namnet antyder) speglar samma data på två diskar, och ger den lägsta nivån av RAID-redundans. Den här nivån ger dubbelt så höga läsprestanda jämfört med en enda enhet, men ökar inte skrivhastigheten. Lagrade data kan alltid nås om en disk fortfarande fungerar.

  • RAID 5 – Det här är en vanlig konfiguration med en bra kompromiss mellan säkerhet och prestanda. Den kräver minst tre diskar och ökar läshastigheten men inte skrivprestanda. RAID 5 introducerar paritet i arrayen, som tar upp utrymmet på totalt en disk. Den här nivån kan också tolerera ett diskfel.

  • RAID 6 – Den här nivån tar konceptet med RAID 5 ytterligare ett steg – minst fyra diskar krävs och dubbel paritet introduceras, vilket betyder att data kan återskapas även om två diskar i arrayen får problem.

Moderna RAID-arrayer

Det finns många sätt att få ut ännu mer av ett RAID-system. Men med tanke på hur komplicerade och tekniskt komplexa moderna arrayer är (och hur de kan användas med andra komplexa system för att skapa viktiga effektivitets- och kostnadsvinster, t.ex. virtualisering) är det inte ovanligt att någon av dessa tekniker får problem. Det kan leda till stora dataförluster eftersom flera system är sammankopplade, och kan kosta företagen flera miljoner på grund av driftstopp.

Moderna RAID-arrayer kan också använda flera filsystem, t.ex. BTRFS eller ZFS på maskinvarunivå, med NTFS eller HFS i överliggande lager för applikationsstöd via virtualisering.

Utmaningar med att återställda RAID-data

RAID-arrayer är otroligt komplexa. Detta är ofta ännu tydligare i ett företags IT-infrastruktur då RAID-system mestadels används med affärskritiska tillämpningar, där tillgänglighet och effektivitet är helt fundamentala faktorer. Andra implementerade tekniker som till exempel virtualisering eller databastillämpningar kan också innebära stora problem för ett företag om systemet kraschar.

Ur dataåterställningsperspektiv skulle det ofta vara nödvändigt att återskapa RAID-filsystemet och kringgå eventuella fysiska fel samt att utvärdera eventuell virtualiserad arkitektur. Den här processen kan ofta göra ett återställningsförsök extremt komplext och tidskrävande. Ofta går det dock väldigt bra att återställa data.

Var beredd på diskfel

Tyvärr kan (och kommer) en hårddisk få problem någon gång under dess livslängd. Om det uppstår problem med enskilda enheter (om systemet är ett RAID 1-system eller högre) kan den defekta enheten bytas ut rakt av mot en ny, och datalagringsmappningen kan återskapas utan någon som helst dataförlust. Om ett enhetsfel däremot överstiger RAID-systemets redundanskapacitet bör du genast vända dig till en expert på dataåterställning för att ha så bra chans som möjligt att återfå dina data. Det är ytterst viktigt att den leverantör du väljer har rätt verktyg och kompetens för att kunna återställa från alla typer av konfigurationer eller dataförlustscenarier. Ta också reda på om leverantören har aktiva partnersamarbeten med lagringsleverantörer och möjlighet att arbeta med nya eller anpassade konfigurationer.

Har du nyligen haft problem med dataförlust i ett RAID-system? Kontakta experterna på Ontrack för hjälp med att få tillbaka verksamhetskritiska data. Vår personal finns till hands dygnet runt, året runt för att hjälpa dig med allt från mindre problem till rena datakatastrofer.

 

 

img_600x600_shirtontrack

Ring för omedelbar hjälp!