Olika RAID-nivåer erbjuder olika fördelar. Vissa ger prestandaförbättringar genom att slå samman lagringskapacitet och läs/skriv-I/O, medan andra skyddar mot maskinvarufel genom dataredundans.
Bland dessa nivåer har RAID 5 och 6 varit två av de mest populära i på senare tid, eftersom de ger en kombination av både prestanda och säkerhet. På grund av deras olika likheter kan det vara förvirrande att ta reda på när det är bäst att använda RAID 5 vs RAID 6.
Som sådan kommer vi att diskutera exakt vad dessa två RAID-nivåer är, deras huvudsakliga likheter och skillnader, och när man ska använda någon av dem i den här artikeln.
Vad är RAID 5?
Som sagt fokuserar olika RAID-nivåer på dataskydd och prestandaförbättringar i varierande grad. RAID 5 tillhandahåller båda dessa genom block-interleaved distribuerad paritet.
Detta betyder att striping sker på blocknivå. Storleken på dessa block, även känd som chunk size, är upp till användaren att ställa in, men den varierar vanligtvis från 64KB – 1MB.
Dessutom skrivs en bit paritetsdata för varje remsa. Dessa paritetsblock är utspridda över arrayen istället för att lagras på en dedikerad paritetsskiva.
Vi kommer att täcka varför RAID 5 hanterar paritet som denna längre fram i artikeln, men i slutändan resulterar detta i att en disk värd utrymme reserveras för paritetsdata.
Proffs: Feltolerans mot enstaka diskfel Hög användbar lagringskapacitet Hög läshastighet Kan ställas in med en hårdvarukontroller eller implementeras via mjukvara Nackdelar: Straff på skrivprestanda Kan bara hantera ett diskfel. Fler leder till misslyckande i arrayen Riskfylld återuppbyggnadsprocess
Vad är RAID 6?
RAID 6 är ungefär som RAID 5, men den använder två distribuerade paritetsblock över en stripe istället för ett. Den här detaljen ändrar allt från nivån på feltolerans som tillhandahålls av arrayen till prestanda och användbar lagring.
Att skriva paritet två gånger gör arrayen mycket mer tillförlitlig, men på samma sätt drabbas skrivprestanda också dubbelt så mycket. Läsprestanda är dock, ungefär som RAID 5, utmärkt.
Fördelar: Feltolerans mot två diskfel Utmärkt läsprestanda Återuppbyggnad efter diskfel är säkrare Nackdelar: Högre skrivprestanda overhead Två diskar värt utrymme som behövs för paritet
RAID 5 vs RAID 6 – Huvudskillnader
RAID 5 och 6 skiljer sig huvudsakligen i det faktum att RAID 6 använder två paritetsblock per stripe, medan RAID 5 använder bara en. Men som sagt leder detta till ett antal andra skillnader också, som vi kommer att täcka i följande avsnitt.
Feltolerans
Det första som paritetsblockräkningen påverkar är feltoleransnivån. I en RAID 5-matris skrivs en blockstorlek paritetsdata för varje remsa. I händelse av diskfel kan förlorad data beräknas om med hjälp av paritetsdata och data på de andra diskarna i arrayen.
I huvudsak betyder detta att en RAID 5-array kan hantera ett diskfel utan någon dataförlust. Vanligtvis i alla fall. Denna feltolerans var anledningen till att RAID 5 var mycket populärt fram till 2010-talet. Nuförtiden används dock RAID 5 sällan eftersom dess tillförlitlighet inte längre är i nivå. Detta beror på hur de flesta hårdvaru-RAID-kontroller hanterar ombyggnader.
Om styrenheten stöter på ett Unrecoverable Read Error (URE) under ombyggnaden, kommer den vanligtvis att markera hela arrayen som misslyckad för att förhindra ytterligare datakorruption. Om du inte har säkerhetskopior eller planerar att återställa data från enskilda diskar, går data förlorad.
Hårddiskstorlekarna har växt exponentiellt under de senaste två decennierna, men läs-/skrivhastighetsförbättringarna var mycket mer måttliga. I grund och botten ökade storleken på arrayer mycket snabbare än dataöverföringshastigheterna, vilket innebar att återuppbyggnadstiderna började bli mycket långa.
Beroende på inställningen kan det ta från timmar att bygga om arrayen efter att en disk har gått sönder. till dagar. Sådana ombyggnadstider innebar en högre chans att stöta på URE under ombyggnaden, vilket översätts till en högre chans att hela arrayen misslyckas.
Under de senaste åren har URE-förekomstfrekvensen i hårddiskar sjunkit avsevärt tack vare tekniska förbättringar. På grund av detta används RAID 5 fortfarande här och där. Men den allmänna konsensus från branschen är att fortfarande välja RAID 6 eller andra nivåer, och det är av goda skäl.
I RAID 6 skrivs paritetsdata två gånger per stripe. Detta innebär att en RAID 6-array kan upprätthålla upp till två diskfel utan dataförlust. Detta gör RAID 6 mycket mer tillförlitlig och därmed bättre lämpad för större arrayer med viktig data.
Skrivprestanda
En RAID 5-array måste läsa data, beräkna pariteten, skriva data och sedan pariteten. På grund av detta drabbas RAID 5 av ett straff på arbetsbelastningar som involverar skrivningar.
RAID 6 involverar beräkning och skrivning av paritet två gånger, vilket är bra för tillförlitligheten, men det betyder också att det belastar dubbelt så mycket för skrivoperationer.
För mindre I/O-storlekar ( typiskt 256 KB och mindre), RAID 5 och 6 har mycket jämförbar skrivprestanda. Men med större I/O-storlekar är RAID 5 definitivt överlägsen.
Antal diskar
RAID 5 kräver två diskar för striping och ett diskutrymme för att lagra paritetsdata. Det betyder att en RAID 5-array kräver minst 3 diskenheter.
RAID 6 är liknande, men den kräver minst 4 diskar eftersom paritetsdata upptar utrymme för två diskar.
Användbar lagring
I en RAID 5-array kan den användbara lagringen beräknas med (N – 1) x (Minsta diskstorlek), där N är antalet diskenheter. Till exempel har vi visat en RAID 5-array med tre 1 TB-diskar nedan. Ett diskutrymme används för att lagra paritetsdata, och eftersom den minsta diskstorleken är 1 TB blir det användbara utrymmet 2 TB.
Det är viktigt att försöka använda diskar av samma storlek, annars skulle den minsta disken skapa en flaskhals som resulterar i mycket oanvändbart utrymme. Exemplet nedan visar samma scenario, där 500 GB-disken har resulterat i att 1,5 TB är oanvändbar.
I en RAID 6-array beräknas det användbara lagringsutrymmet med (N – 2) x (minsta diskstorlek). Återigen är det viktigt att använda diskar av samma storlek för att säkerställa att det inte finns något oanvändbart utrymme i arrayen.
Paritetsberäkning
I RAID 5 utförs en XOR-operation på varje byte med data för att beräkna paritetsinformation i RAID 5 Låt oss till exempel säga att den första byten med data i en 4-diskarray ser ut ungefär så här:
A1 – 11010101
A2 – 10001100
A3 – 10101100
Om vi utför en XOR-operation på de två första remsorna (A1 och A2) och sedan gör samma sak med utgången och den tredje remsan (A3), är utgången paritetsinformationen (Ap). I det här fallet är dess värde 11110101.
När någon disk (till exempel Disk 1) misslyckas, händer det här. Först ger A2 XOR A3 oss utgången 00100000. När vi använder denna utgång i en XOR-operation med Ap får vi 11010101 som ett resultat, vilket är förlorad data.
00100000
11110101
11010101
Det här är i princip hur paritetsdata beräknas och används för att räkna om förlorade data i RAID 5.
RAID 6 är mycket mer komplex eftersom den beräknar paritet två gånger. Beroende på inställningen implementeras detta på olika sätt, såsom dubbelkontrolldataberäkning (paritet och Reed–Solomon), ortogonal dubbelparitetskontrolldata, diagonalparitet, etc.
RAID Controller
RAID 5 kan implementeras med både hårdvara och mjukvara. Den förra involverar uppenbarligen användningen av en dedikerad hårdvaru-RAID-kontroller. Eftersom RAID 5 kräver paritetsberäkning är detta den rekommenderade vägen.
Detta är särskilt viktigt i vissa fall, som med en NAS, där processorn inte är tillräckligt kraftfull för att hantera beräkningarna utan att skapa en betydande flaskhals.
Även om det inte är idealiskt av prestandaskäl, RAID 5 kan också ställas in med mjukvarulösningar. Till exempel låter Windows dig slå ihop dina diskar med hjälp av lagringsutrymmesfunktionen. Du kan också skapa en RAID 5-volym via Diskhantering.
RAID 6, å andra sidan, kräver en RAID-styrenhet för hårdvara. Detta beror på att polynomberäkningarna som utförs för att beräkna det andra paritetslagret är ganska processorintensiva.
Är RAID 5 och RAID6 liknande?
Det bör vara uppenbart vid denna tidpunkt att medan RAID 5 och 6 har några viktiga skillnader, de är också lika på många sätt. Till att börja med, till skillnad från RAID 1, ger RAID 5 och 6 feltolerans genom paritet istället för spegling.
Särskilt använder de distribuerad paritet, vilket skiljer sig från de dedikerade paritetsdiskar som används av RAID 2, 3 och 4. Med distribuerad paritet behöver du inte oroa dig för flaskhalsar som med en enstaka paritet disk.
Både RAID 5 och 6 har utmärkt läsprestanda tack vare datastripning. Men på samma sätt drabbas båda två också av skrivprestanda, om än i varierande grad.
Vad är bra med RAID 5?
RAID 5 erbjuder en bra blandning av användbar lagring , dataskydd och prestanda. Du kan också ställa in den med färre diskar, vilket gör den till ett budgeteffektivt alternativ.
Om du vill tänka i termer av prestanda, är RAID 5 bäst lämpad för arbetsbelastningar som involverar mycket lästa operationer som e-postservrar.
När det gäller feltolerans har vi redan täckt hur RAID 5 har blivit mindre tillförlitlig under åren. Det är fortfarande bra för små arrayer, men med större arrayer, där det finns en högre chans för misslyckade ombyggnader, skulle vi inte rekommendera RAID 5.
När är RAID 6 bättre?
RAID 6:s tillförlitlighet kommer på bekostnad av skrivprestanda och användbar lagring. Men denna lilla skillnad är utan tvekan värt det när data på diskarna är viktiga.
RAID 6 är inte det bästa för mindre arrayer (t.ex. 4 diskar), eftersom en betydande del av lagringen går förlorad. till redundans. Om redundans krävs i små arrayer skulle RAID 5 eller något liknande RAID 10 vara bättre.
Istället är RAID 6 bäst lämpad för större arrayer där det finns en chans att förlora mycket mer data om installationen är t tillförlitlig.
Slutlig dom – RAID 5 vs RAID 6
RAID 5 är inte helt opålitligt, och det är fortfarande användbart för mindre arrayer. Men med riktigt kritiska data vill du prioritera skydd framför mindre prestandaskillnader, och det är där RAID 6 tar kakan.
Oavsett vilken RAID-nivå du väljer är det dock viktigt att förstå att RAID är inte en säkerhetskopia. RAID:s redundans skyddar endast mot diskfel. Även en RAID 6-array kan misslyckas under ombyggnader.
Om data på diskarna är tillräckligt viktiga för att du ska kunna använda RAID 6 eller andra”pålitliga”versioner, får du inte ta lätt på säkerhetskopior och patrullläsning, antingen. Slutligen, för att sammanfatta, här är de viktigaste skillnaderna mellan RAID 5 vs RAID 6: