På grund av hotet om oåterställbara läsfel (URE) vid återuppbyggnad av en trasig disk, används RAID 5 sällan nuförtiden. När allt kommer omkring kan en URE göra att hela arrayen misslyckas.
RAID 6 eller RAID 10 rekommenderas generellt som säkrare alternativ. Men dessa RAID-nivåer har vissa nackdelar jämfört med RAID 5. Och med storleken på RAID-arrayer nuförtiden kan de ibland också vara otillräckliga.
Så är RAID 5 värt att använda nuförtiden? Eller ska du alltid satsa på högre nivåer som RAID 10 trots dess nackdelar? Vi kommer att försöka svara på sådana frågor i den här artikeln.
Vad är RAID 5?
RAID 5 är en standard RAID-nivå som delar upp blockstorlekar av data över hela arrayen. Den använder diskutrymme för att lagra paritetsdata som distribueras över arrayen. Som sådan erbjuder RAID 5 en bra blandning av allt (prestanda, feltolerans, lagringskapacitet).
Fördelar:
- Utmärkt användbar förvaring
- Bra för läsintensiva arbetsbelastningar
Nackdelar:
- Jämförelsevis dålig skrivprestanda
- Klarar bara ett diskfel
- Lång ombyggnadstid
Vad är RAID 10?
RAID 10, eller tekniskt sett RAID 1+0, är en kapslad RAID-nivå. Den kombinerar RAID 1 (endast spegling) som det första lagret och RAID 0 (endast striping) som det andra lagret. Som sådan kallas det också en spegelremsa.
Liksom RAID 5, strippar RAID 10 också databitar på blocknivå. Men den använder spegling istället för paritetsberäkning för feltolerans. Och till skillnad från RAID 5, som är en allrounder, prioriterar RAID 10 prestanda och redundans framför lagringseffektivitet.
Fördelar:
- Utmärkt skrivprestanda
- Kan potentiellt hantera flera diskfel
Nackdelar:
- Endast 50 % av användbar lagring
- Större RAID 10-arrayer är dyra
RAID 5 vs. RAID 10: Nyckelskillnader
RAID 5 och RAID 10 skiljer sig markant åt, den viktigaste är hur och i vilken utsträckning de ger feltolerans.
Feltolerans
RAID 5 beräknar paritetsinformation genom att utföra XOR-operationer på varje databyte. Den distribuerar denna paritetsdata över arrayen så att den upptar hela utrymmet på en disk.
Om en disk i arrayen misslyckas och måste bytas ut, kan denna paritetsdata, tillsammans med de för närvarande arbetande diskarna, användas för att rekonstruera förlorad data. Tack vare detta kan RAID 5-arrayer motstå ett diskfel.
RAID 10 använder spegling istället för paritetsberäkning för att ge feltolerans. Eftersom de lägre lagren är par av speglade diskar (RAID 1), kan varje RAID 1-array stödja upp till 1 diskfel. Generellt sett betyder detta att nivån på RAID 10-feltolerans varierar kraftigt.
Låt oss säga att du har en RAID 10-array med 12 diskar. Din array kan hantera upp till 6 samtidiga diskfel, eller så kan den misslyckas eftersom båda diskarna i samma RAID 1-array misslyckades. Som bäst kan RAID 10:s feltolerans vara oöverträffad. I värsta fall blir det samma som RAID 5.
Även om bara en enhet misslyckas, tenderar RAID 10 att prestera bättre vid ombyggnad, särskilt med större arrayer. Detta beror på att RAID 5 behöver läsa data från alla diskar i arrayen, medan RAID 10 bara hanterar ett speglat par.
Läs-/skrivprestanda
Läs- och skrivhastigheter beror i allmänhet på hur din arbetsbelastning i första hand ser ut. RAID 10 hanterar slumpmässig I/O bättre eftersom du har två identiska datamängder att arbeta med, vilket hjälper till att minska söktiden.
Men med sekventiell I/O ger RAID 5 jämförbar prestanda. För läsintensiva arbetsbelastningar har vi till och med sett fall där RAID 5 presterade bättre. Men att skriva föreställningen är en annan historia.
RAID 5 beräknar och skriver en paritetsbit för varje dataremsa. Denna overhead leder till minskad skrivprestanda. RAID 10 behöver tekniskt sett skriva data två gånger på grund av spegling, men eftersom skrivningarna görs parallellt med två olika enheter finns det ingen overhead.
Som sådan vinner RAID 10 när det gäller skrivprestanda, även när det hanteras sekventiell I/O.
Minsta diskar
RAID 5 kräver minst två diskar för striping och en disk med utrymme för att lagra paritetsdata. Detta innebär att varje RAID 5-array kräver minst 3 diskar. Utöver det kan du lägga till så många diskar du vill.
RAID 10 stripes speglade par, vilket betyder att du behöver ett jämnt antal diskar totalt. Dessutom kräver en standard RAID 10-array minst 4 diskar (två för spegling och två till för att stripe den speglade matrisen). Vissa icke-standardiserade implementeringar som Linux MD stöder dock RAID 10 med så få som 2 diskar.
Användbar lagring
En RAID 5-array reserverar endast en disk med utrymme för paritetsdata. Det här är inte bra för redundans, men på samma sätt är det bra när det gäller lagringseffektivitet. Detta uttalande är ännu mer sant med större RAID 5-arrayer.
RAID 10 är raka motsatsen. Eftersom den använder speglade par kan endast 50 % av det totala lagringsutrymmet användas eftersom resten behövs för redundans. Med stora arrayer leder detta till en betydande mängd oanvändbart utrymme. Men på samma sätt får du också potentiellt oöverträffad feltolerans.
Hur är RAID 5 och RAID 10 lika?
Vi har redan täckt de viktigaste skillnaderna mellan RAID 5 och RAID 10, men det finns också vissa likheter som gäller båda. Till att börja med kan du implementera både med hjälp av hårdvara eller mjukvara.
När du konfigurerar någon av dessa RAID-nivåer bör du använda diskar av samma storlek för att maximera användbar lagring. Att använda skivor av blandade storlekar leder till en flaskhals, som visas nedan.
Dessutom kommer regelbunden diskrensning att förbättra tillförlitligheten för din RAID-konfiguration avsevärt, oavsett vilken specifika nivå du väljer.
Ska du använda RAID 5?
RAID 5 är mycket lagringseffektivt och samtidigt kostnadseffektivt. Detta gör den till ett bra alternativ för personlig eller småskalig användning. RAID 5 hanterar sekventiella arbetsbelastningar bra, så länge den inte är överdrivet I/O-intensiv. Detta gör den lämplig för saker som mediaservrar, filservrar och säkerhetskopior.
Det kan också vara en kostnadseffektiv lösning när du behöver sätta upp ett stort array. Men eftersom tillförlitligheten för RAID 5 minskar med ökande skala, måste du väga för- och nackdelar för att fatta ett beslut.
När är RAID 10 bäst?
För skriv- och I/O-intensiva arbetsbelastningar är RAID 10 det bästa alternativet. Det används mycket ofta för SQL-servrar. Förutom databasservrar är den även lämplig för saker som e-postservrar, webbservrar etc.
Om säkerhet och prestanda är prioritet är RAID 10 ett utmärkt alternativ. Men eftersom bara hälften av lagringsutrymmet kan användas kan det vara en dyr upplevelse att sätta upp stora RAID 10-arrayer. Precis som med RAID 5 måste du fatta ditt beslut baserat på dina huvudsakliga behov och budget.
Slutligt omdöme: RAID 5 vs. RAID 10
När man jämför RAID 5 och RAID 10 är den ena inte universellt bättre eller sämre än den andra. Det handlar mer om vad du planerar att använda din RAID-konfiguration till. Generellt sett är RAID 5 ett komplett och prisvärt alternativ för de flesta. RAID 10 är bäst när datatillgänglighet och prestanda är högsta prioritet.
Men oavsett vad du väljer, kom ihåg att syftet med RAID är drifttid. RÄD! = backup.
God praxis kan minimera risken för dataförlust när du använder RAID, men även med någon av de “säkrare” RAID-implementeringarna är dataförlust alltid en möjlighet. En separat, och helst offsite, offsite backup är det bästa skyddet mot detta.
Sammanfattningsvis är dessa de viktigaste skillnaderna mellan RAID 5 och RAID 10:
| RAID 5 | RAID 10 | |
| Feltolerans | Klarar ett diskfel. | Den kan motstå fel på en till hälften av diskarna i arrayen. |
| Prestanda | Anständig läsprestanda med sekventiell I/O. | Utmärkt skrivprestanda och jämförbar läsprestanda. |
| Antal diskar | Du behöver minst 3 diskar. | Du behöver minst 4 skivor. |
| Användbar lagring | Paritetsdata tar upp utrymme motsvarande en disk. | Endast 50 % av lagringsutrymmet är allmänt användbart. |
