Innehåll

·         1 Inledning

o    1.1 Skillnaden mellan fysiska diskar och logiska diskar

o    1.2 Läsa och skriva data

o    1.3 Vad är RAID?

o    1.4 Varför använda RAID?

o    1.5 Historia

·         2 Grundläggande begrepp som används i RAID-system

o    2.1 Cachelagring

o    2.2 Spegling: Mer än en kopia av data.

o    2.3 Remsor: Delar av data finns på en annan disk.

o    2.4 Felkorrigering och fel

o    2.5 Hot spares: att använda fler diskar än vad som behövs

o    2.6 Stripe size och chunk size: Spridning av data över flera diskar

o    2.7 Sätta ihop en skiva: JBOD, concatenation eller spanning

o    2.8 Kloning av enheter

o    2.9 Olika uppställningar

·         3 Grunder: enkla RAID-nivåer

o    3.1 RAID-nivåer som används allmänt

§  3.1.1 RAID 0 "Striping"

§  3.1.2 RAID 1 "spegling"

§  3.1.3 RAID 5 "Striping med distruberad paritet"

§  3.1.4 Bilder

o    3.2 RAID-nivåer som används mindre ofta

§  3.2.1 RAID 2

§  3.2.2 RAID 3 "Striping med dedikerad paritet"

§  3.2.3 RAID 4 "Striping med dedikerad paritet"

§  3.2.4 RAID 6

§  3.2.5 Bilder

o    3.3 Icke-standardiserade RAID-nivåer

§  3.3.1 Dubbel paritet / Diagonal paritet

§  3.3.2 RAID-DP

§  3.3.3 RAID 1.5

§  3.3.4 RAID 5E, RAID 5EE och RAID 6E

§  3.3.5 RAID 7

§  3.3.6 Intel Matrix RAID

§  3.3.7 Linux MD RAID-drivrutin för MD

§  3.3.8 RAID Z

§  3.3.9 Bilder

·         4 Sammanslagning av RAID-nivåer

·         5 Skapa en RAID

o    5.1 RAID-programvara

o    5.2 Maskinvaru-RAID

o    5.3 Maskinvaruunderstödd RAID

·         6 Olika termer för maskinvarufel

o    6.1 Antal misslyckanden

o    6.2 Medeltid till dataförlust

o    6.3 Medeltid till återhämtning

o    6.4 Icke återställbar bitfelfrekvens

·         7 Problem med RAID

o    7.1 Lägga till diskar vid en senare tidpunkt

o    7.2 Kopplade fel

o    7.3 Atomicitet

o    7.4 Uppgifter som inte kan återställas

o    7.5 Tillförlitlighet för skrivcache

o    7.6 Utrustningens kompatibilitet

·         8 Vad RAID kan och inte kan göra

o    8.1 Vad RAID kan göra

o    8.2 Vad RAID inte kan göra

·         9 Exempel

·         10 Referenser

·         11 Andra webbplatser

RAID är en akronym som står för Redundant Array of Inexpensive Disks eller Redundant Array of Independent Disks. RAID är en term som används inom datateknik. Med RAID görs flera hårddiskar till en logisk disk. Det finns olika sätt att göra detta på. Var och en av de metoder som sätter ihop hårddiskarna har vissa fördelar och nackdelar jämfört med att använda hårddiskarna som enskilda diskar, oberoende av varandra. De viktigaste skälen till att RAID används är följande:

  • För att undvika att data går förlorade. Detta görs genom att ha flera kopior av uppgifterna.
  • För att få mer lagringsutrymme genom att ha många mindre diskar.
  • För att få större flexibilitet (diskar kan bytas ut eller läggas till medan systemet fortsätter att köras).
  • För att få fram uppgifterna snabbare.

Det är inte möjligt att uppnå alla dessa mål samtidigt, så man måste göra val.

Det finns också några dåliga saker:

  • Vissa val kan skydda mot att data går förlorade på grund av att en (eller flera) diskar har gått sönder. De skyddar dock inte mot att data raderas eller skrivs över.
  • I vissa konfigurationer kan RAID tolerera att en eller flera diskar går sönder. När de trasiga diskarna har bytts ut måste data rekonstrueras. Beroende på konfigurationen och diskarnas storlek kan denna rekonstruktion ta lång tid.
  • Vissa typer av fel gör det omöjligt att läsa uppgifterna.

Det mesta av arbetet med RAID bygger på en artikel från 1988.

Företag har använt RAID-system för att lagra data sedan tekniken infördes. RAID-system kan tillverkas på olika sätt. Sedan RAID-systemet upptäcktes har kostnaden för att bygga ett RAID-system minskat mycket. Av denna anledning har till och med vissa datorer och apparater som används i hemmet vissa RAID-funktioner. Sådana system kan till exempel användas för att lagra musik eller filmer.

Inledning och grundläggande begrepp

RAID organiserar flera fysiska diskar till en eller flera logiska enheter. Viktiga begrepp:

  • Fysisk disk: den faktiska hårdvaruenheten (HDD eller SSD).
  • Logisk disk: det operativsystemet ser — en kombination av en eller flera fysiska diskar.
  • Striping: data delas upp i block (remsor) och sprids över flera diskar för bättre prestanda.
  • Spegling: exakt kopia av data på två eller flera diskar (ger redundans).
  • Paritet: extra information som gör det möjligt att återskapa data om en disk går sönder (används t.ex. i RAID 5 och 6).
  • Hot spare: en extra disk som står redo att automatiskt ersätta en trasig disk vid fel.
  • Stripe/chunk size: storleken på de datablock som skrivs till varje disk i en remsa; påverkar prestanda för olika arbetsbelastningar.

Hur läs- och skrivoperationer påverkas

Hur snabbt och säkert ett RAID ger åtkomst till data beror på konfigurationen:

  • RAID 0 (striping) ökar läs- och skrivhastighet genom parallell bearbetning, men ger ingen redundans.
  • RAID 1 (spegling) ger snabba läsningar (kan läsa från båda diskarna) och bra skydd mot avbrott, men halverar tillgänglig kapacitet.
  • RAID med paritet (t.ex. RAID 5/6) kräver extra arbete vid skrivning (paritetsberäkning), men ger balans mellan kapacitet, prestanda och redundans.

Vanliga RAID-nivåer — vad de betyder och när man använder dem

Här är en översikt över de vanligaste nivåerna:

  • RAID 0 (Striping)
    • Minst: 2 diskar
    • Fördelar: hög prestanda, full kapacitet (summa av diskarna).
    • Nackdelar: ingen redundans — ett fel betyder dataförlust.
    • Används för: temporära filer, cache, arbetsstationer där prestanda prioriteras över säkerhet.
  • RAID 1 (Spegling)
    • Minst: 2 diskar
    • Fördelar: hög tillförlitlighet, enkel återställning.
    • Nackdelar: 50 % lagringskostnad (två diskar ger kapacitet motsvarande en).
    • Används för: systemdiskar, kritiska data där enkelhet och snabb återhämtning prioriteras.
  • RAID 5 (Striping med distribuerad paritet)
    • Minst: 3 diskar
    • Fördelar: bra balans mellan kapacitet, prestanda och redundans (klarar en diskförlust).
    • Nackdelar: skrivprestanda påverkas av paritetsberäkning; risk under återuppbyggnad om en läsbarhetsfel uppstår (UBE).
    • Används för: fildelning, generella servrar med måttlig I/O.
  • RAID 6
    • Minst: 4 diskar
    • Fördelar: dubbel paritet — klarar två samtidiga diskfel.
    • Nackdelar: ännu större skrivkostnad än RAID 5; mer kapacitetsöverhead.
    • Används för: stora diskar/arrayer där risken för ytterligare fel under återuppbyggnad är betydande.
  • RAID 10 (1+0)
    • Minst: 4 diskar (speglade par som stripas)
    • Fördelar: kombination av prestanda och redundans; snabb återuppbyggnad eftersom endast en speglad partner behöver kopieras.
    • Nackdelar: kräver många diskar; kapaciteten är halva summan.
    • Används för: databaser och applikationer med höga krav på I/O och låg latens.

Icke-standardiserade och avancerade varianter

Det finns många proprietära eller specialanpassade varianter: RAID-DP, RAID-Z (ZFS), RAID 5E/6E, Intel Matrix RAID, och andra. De försöker förbättra prestanda, hantera hot spares, eller ge bättre skydd mot läsfel under återuppbyggnad.

Hur man skapar RAID — program- vs maskinvarulösningar

  • Programvaru-RAID: hanteras av operativsystemet (t.ex. mdadm i Linux, Windows Storage Spaces). Fördelar: flexibel, billig, enkel att flytta mellan system. Nackdelar: belastar CPU något.
  • Maskinvaru-RAID: dedikerad kontroller med egen processor och cache. Fördelar: ofta bättre prestanda, avancerade funktioner (BBU, cache). Nackdelar: dyrare, kan skapa låsning till specifik kontroller vid byte.
  • Maskinvaruunderstödd (”fakeraid”): BIOS/UEFI assisterar men kräver drivrutin. Har nackdelar från både läger: kan vara begränsande och svårare att återställa utan samma hårdvara.

Maskinvarufel och reliabilitetsbegrepp

  • MTTF/MTBF — medeltid till fel; hjälper att uppskatta sannolikhet för diskfel över tid.
  • MTTR — medeltid till återhämtning; längre återuppbyggnadstid ökar risken för fler fel under processen.
  • UBER (Unrecoverable Bit Error) — sannolikheten för ett läsbart fel vid stora diskar; relevans växer med diskstorlek och påverkar RAID 5 mer än RAID 6.
  • Stora diskar = längre återuppbyggnadstider och högre sannolikhet för ytterligare fel — välj därför ofta dubbel paritet (RAID 6) eller spegling för stora volymer.

Problem, risker och vanliga fallgropar

  • Återuppbyggnadstid: under återuppbyggnad är arrayen i ett sårbart läge — en andra diskförlust kan leda till dataförlust (beroende på nivån).
  • Oåterkalleliga skrivfel: fel som orsakar korruption på flera diskar kan göra data otillgängliga.
  • Skrivcache: förbättrar prestanda men kan orsaka dataförlust vid strömavbrott om det inte är batteri- eller flashbackat.
  • Kompatibilitet: hårdvarukontrollers metadata kan vara proprietär — att flytta diskar mellan olika kontrollers kan vara problematiskt.
  • Falska bra diskar: SMART kan visa OK trots att en disk snart fallerar — övervakning och reserve diskar rekommenderas.
  • Atomicitet: vissa RAID-konfigurationer garanterar inte att flera samtidiga skrivningar är atomiska — det kan uppstå delvis skrivna data efter krascher.

Vad RAID kan och inte kan göra

  • RAID kan:
    • Skydda mot hårddiskfel (beroende på nivå).
    • Öka läs-/skrivprestanda vid korrekt konfiguration.
    • Göra system mer tillgängliga genom snabbare återhämtning vid diskbyte.
  • RAID kan inte:
    • Ersätta säkerhetskopior — det skyddar inte mot oavsiktlig radering, malware eller logisk korruption.
    • Skydda mot fel i kontroller, brand eller stöld om inte replikerade säkerhetskopior finns offsite.

Praktiska rekommendationer och bästa praxis

  • Ha alltid en separat backupstrategi utöver RAID (regelbundna, testade återställningar).
  • Använd RAID 6 eller spegling för stora diskar/lagringspooler där lång återuppbyggnadstid är sannolik.
  • Övervaka SMART-data och konfigurationsvarningar; byt ut diskar tidigt vid misstänkt fel.
  • Använd hot spares där möjligt för minskad återhämtningstid.
  • Välj lämplig stripe/chunk size baserat på arbetsbelastning: små storlekar för många små I/O, större för stora sekventiella filer.
  • Undvik blandning av olika modeller/åldrar på diskar i samma array för att minska risken för samtidiga fel.
  • Använd enterprise-drivrutiner eller diskar med TLER/Time-Limited Error Recovery för RAID-miljöer när det är möjligt.
  • Aktivera eller använd kontroller med batteri- eller flash-backad skrivcache om du behöver write-back-prestanda utan risk för dataloss vid strömavbrott.
  • Planera för återuppbyggnad: veta hur lång tid det tar och ha rutiner för övervakning under processen.

Exempel på användningsområden

  • Arbetsstation som behöver hög prestanda men inte kritisk dataintegritet: RAID 0 (med regelbundna backuper).
  • Filserver med balans mellan kapacitet och redundans: RAID 5 eller RAID 6 beroende på diskstorlek.
  • Databas eller virtualiseringsvärd med högt IOPS-krav: RAID 10.
  • Arkiv som kräver hög tillgänglighet: spegling + offsite-backup.

Avslutande kommentarer

RAID är ett kraftfullt verktyg för att kombinera diskar till större och mer tillförlitliga lagringsenheter. Val av RAID-nivå bör baseras på en avvägning mellan prestanda, kostnad och hur viktig datatillgängligheten är. Viktigast är att komma ihåg att RAID inte ersätter backups — korrekt backup- och återställningsrutiner är alltid nödvändiga.

Referenser och vidare läsning

  • Den ursprungliga forskningsrapporten från 1988 ligger till grund för de flesta teorier kring RAID (ofta citerad i facklitteratur om RAID).
  • Litteratur om operativsystemets RAID-stöd (t.ex. mdadm, ZFS, Windows Storage Spaces) ger praktiska instruktioner för implementation.