Raid
RAID (IPA: /reɪd/) är en uppsättning metoder för att få två eller flera hårddiskar att samarbeta som en enhet, ofta med avsikter som att minska risken för dataförlust (genom redundans), öka åtkomsthastighet och/eller att få en stor enhet av flera mindre. Detta kan göras med hårdvara eller mjukvara, men i allmänhet brukar hårdvara föredras om det inte finns starka ekonomiska skäl.
RAID är en backronym för Redundant Array of Independent Disks, ungefär "feltolerant uppsättning av oberoende hårddiskar". Den ursprungliga akronymen är Redundant Array of Inexpensive Disks, "feltolerant uppsättning av billiga diskar".
Nivåer
[redigera | redigera wikitext]Det finns flera olika sätt att sätta ihop diskarna. Man brukar skilja på varianterna genom att ange en nivå. Det finns fler än dessa, men 0, 1 och 5 är de som används i praktiken i någon större utsträckning. Dessutom kan olika RAID-nivåer sättas samman till "nästlade" nivåer. Dessa brukar ha två- eller tresiffriga beteckningar där siffrorna motsvarar vilka RAID-nivåer som kombinerats och i vilken ordning, ofta med plustecken mellan siffrorna. (Exempel på det är till exempel RAID 1+0, även känt som RAID 10.)
RAID 0
[redigera | redigera wikitext]Den enklaste formen av RAID, som endast går ut på att öka åtkomsthastigheten och lagringsutrymmet utan att öka feltoleransen. Den ingick inte i de ursprungliga nivåerna. En sammanslagning av ett antal, vanligen två, lika stora diskar till en logisk enhet. Alla data som skrivs till enheten sprids ut jämnt över alla diskarna. På det här sättet vinner man prestanda, eftersom flera diskar kan arbeta samtidigt. Det totala utrymmet blir summan av diskarnas individuella storlek, men om en disk går sönder förloras all data på alla diskar. Ju fler diskar man använder, desto större är risken att data går förlorade.
En variant på detta är JBOD, eller Just a Bunch Of Disks ("bara en bunt diskar"). Här slås flera diskar samman rakt av till en enhet, utan att data sprids ut jämnt fördelade. Det används oftast när man på enklast möjliga sätt vill slå ihop flera enheter till en enda, utan andra avsikter. Det kan sägas motsvara att skapa en partition som sträcker sig över flera diskar. Dock minskas risken för dataförlust något, gentemot vanlig RAID 0, eftersom det är lite mindre risk att data hamnar på två eller fler diskar och därmed mindre mängd data behöver återskapas om en disk kraschar.
RAID 1
[redigera | redigera wikitext]Ett antal, vanligen två, lika stora diskar speglas så att alla innehåller en exakt kopia av samma data. Det tillgängliga utrymmet blir aldrig mer än vad en disk skulle rymma själv, men i gengäld kan alla utom en disk gå sönder utan att data förloras. Det har även fördelen att läsprestanda kan höjas, då varje disk var för sig kan användas för läsning. Denna variant är vanligast i bättre kontorsdatorer.
RAID 4
[redigera | redigera wikitext]Data sprids ut över flera diskar precis som i RAID 0, men en disk reserveras för lagring av en checksumma (XOR) av datablocken på de andra diskarna. Om en disk går förlorad kan data återskapas med hjälp av checksumman och de återstående diskarna. Om disken med checksummorna förloras degraderas systemet till RAID 0. RAID 4 är numera ovanlig och ersatt av RAID 5.
RAID 2 och 3 fungerar på samma sätt fast med checksumma per bit respektive byte i stället för block. Det kräver också att diskarnas rotationer är synkroniserade, vilket moderna hårddiskar inte har stöd för.
RAID 5
[redigera | redigera wikitext]RAID 5 fungerar som RAID 4, men checksumman sprids ut över alla diskarna av prestandaskäl. Resten av diskarna sätts ihop och kan användas i sin helhet för lagring. Checksumman gör att en förlorad disk kan återskapas med hjälp av checksumman och de återstående diskarna. Om man sätter ihop n diskar med RAID 5 så kommer man att kunna utnyttja n - 1 enheter utrymme, och man kan förlora en disk utan att förlora några data. Den här varianten är vanlig i servrar, ofta med 3–8 diskar.
Ett problem som ibland drabbar RAID 5 är att alla diskar i RAID:en ofta är lika gamla. Det gör att när en disk går sönder och ersätts med en ny så är även de andra diskarna nära slutet av sin livslängd. Den intensiva datatrafik som uppkommer när datan från den trasiga disken återskapas på den nya kan därför få ytterligare en disk att fallera.
RAID 6
[redigera | redigera wikitext]RAID 6 liknar RAID 5, men har dubblerade checksummor. Det gör att checksumman tar totalt upp utrymme motsvarande exakt två diskar, men utspritt över samtliga diskar. Om man sätter ihop n diskar med RAID 6 så kommer man att kunna utnyttja n - 2 enheter utrymme, och man kan förlora två diskar utan att förlora data. RAID 6 har därför högre dataintegritet än RAID 5.
RAID 1+0
[redigera | redigera wikitext]Detta är en RAID av RAID-enheter, något som inte var en del av de ursprungliga RAID-nivåerna. Två eller flera RAID 1-enheter (speglade diskar) sätts samman med RAID 0. Detta ger god prestanda och en god chans att överleva om flera diskar går sönder samtidigt, eftersom samtliga diskar i minst en av RAID 1-enheterna måste gå sönder innan hela RAID 1+0-enheten fallerar. Denna lösning är dyr men vanlig på databasservrar och andra maskiner där prestanda och kraschsäkerhet är viktigare än priset.
RAID 0+1
[redigera | redigera wikitext]Två eller flera RAID 0-enheter sätts samman med RAID 1. Sämre kraschsäkerhet än 1+0 eftersom det räcker med att en disk i varje RAID 0-enhet går sönder, därför mindre använd. Även för den vanligaste konfigurationen, fyra diskar sammansatta i par, är 0+1 mindre tillförlitligt än 1+0.
Historia
[redigera | redigera wikitext]RAID föreslogs första gången 1988 av David A. Patterson, Garth A. Gibson och Randy H. Katz i deras artikel "A Case for Redundant Arrays of Inexpensive Disks (RAID)". Det publicerades vid SIGMOD-Konferensen 1988, vilket var första gången termen RAID användes. Artikeln var startskottet för vad som sedan blev en hel industri. Den tidigare filosofin var att utveckla individuella diskar med inbyggd och allt mer sofistikerad feldetektering och felkorrigering. Nackdelen med de komplexa diskarna var ett högt pris och det faktum att man ändå tvingades utveckla stöd för striping (senare RAID 0) och spegling (senare RAID 1). Med RAID kunde man dra nytta av att kunna använda prisvärda, massproducerade diskar och istället bygga in mer funktionalitet för felkorrigering i den programvara som styr disksystemet.
Externa länkar
[redigera | redigera wikitext]- Information om RAID (engelska)
- Raid Controller Information (tyska)
- "RAID and you!" En guide om RAID på Sweclockers.com (svenska)
- "When to not use Raid 5" Why Raid 5 stopped working in 2009 (engelska)