1. RAID-översikt
År 1988 föreslog University of California, Berkeley, konceptet RAID (RedundantArrayofInexpensiveDisks), och i takt med att kostnaden för diskar fortsatte att sjunka blev RAID (RedundantArrayofIndependentDisks), men innehållet förändrades inte. SNIA, Berkeley och andra organisationer har satt de sju nivåerna i RAID0~RAID6 som standardnivåer i RAID, och standard-RAID kan kombineras med andra RAID-nivåer, och de mest använda nivåerna är RAID0, RAID1, RAID3, RAID5, RAID6 och RAID10. Varje RAID-nivå representerar en implementeringsmetod och teknik, och det finns ingen skillnad mellan nivåerna. I praktiska tillämpningar bör lämplig RAID-nivå och specifika implementeringsmetoder väljas baserat på användarens dataapplikations egenskaper, med hänsyn till tillgänglighet, prestanda och kostnad.
Ur implementeringsperspektiv delas RAID huvudsakligen in i tre typer: mjuk RAID, hård RAID och hybrid RAID. Alla funktioner i soft RAID utförs av operativsystemet och CPU:n, vilket naturligtvis är minst effektivt. Hard RAID är utrustat med specialiserade RAID-kontroll-/bearbetningschip samt I/O-processorchip och arraybuffertar, som inte tar upp CPU-resurser men är kostsamma. Hybrid RAID har RAID-kontroll-/bearbetningschip, men saknar I/O-processorchip, som kräver CPU och drivrutiner för att slutföras, och prestanda och kostnad ligger mellan mjuk och hård RAID.
2. Grundläggande principer
RAID är ett diskdelsystem bestående av flera oberoende, högpresterande diskstationer, vilket ger högre lagringsprestanda och dataredundansteknologi än en enda disk. RAID är en klass av multi-diskhanteringsteknik som erbjuder högpresterande lagring med hög datatillförlitlighet till en överkomlig kostnad för värdmiljön. De två huvudmålen med RAID är att förbättra datatillförlitligheten och I/O-prestandan. I en diskarray sprids data över flera diskar, men för ett datorsystem är det som en enda disk. Redundans uppnås genom att skriva samma data till flera diskar samtidigt (vanligtvis vid spegling) eller genom att skriva beräknade kontrolldata till en array, vilket säkerställer att dataförlust inte uppstår när en enda disk går sönder.
Det finns tre huvudsakliga begrepp och tekniker i RAID: Spegeling, DataStripping och Dataparitet:
Spegeling, som replikerar data till flera diskar, förbättrar tillförlitligheten å ena sidan och förbättrar läsprestandan genom att läsa data från två eller fler repliker samtidigt. Uppenbarligen är skrivprestandan för bilden något lägre, och det tar längre tid att säkerställa att datan skrivs korrekt till flera diskar. Data striping, som håller datafragment på flera olika diskar och flera datafragment tillsammans, bildar en komplett kopia av data, vilket skiljer sig från flera kopior av spegling, och det används ofta för prestandaaspekter. Dataremsor har högre samtidighetsgranularitet, och när data nås kan de läsa och skriva data på olika diskar samtidigt, vilket resulterar i en mycket betydande förbättring av I/O-prestandan. Dataverifiering, med användning av redundant data för felupptäckt och reparation, beräknas vanligtvis med hjälp av Hemingway-kod, XOR-funktion och andra algoritmer. Verifieringsfunktionen kan avsevärt förbättra tillförlitligheten, rån och feltoleransen hos diskarrayer. Datavalidering kräver dock att data läses från flera källor, beräknas och jämförs, vilket kan påverka systemets prestanda. Olika grader av RAID använder en eller flera av de tre teknologierna för att uppnå olika datatillförlitlighet, tillgänglighet och I/O-prestanda. När det gäller vilken RAID man ska designa (eller till och med en ny kvalitet eller typ) eller vilken form av RAID man ska använda, är det nödvändigt att göra ett rimligt val baserat på en djup förståelse av systemets behov och att noggrant utvärdera tillförlitlighet, prestanda och kostnad för att göra en kompromiss.
Generellt sett är de främsta fördelarna med RAID: stor kapacitet, hög prestanda, tillförlitlighet och hanterbarhet.
3. RAID-klassificering
JBOD (JustaBunchOfDisks) är inte ett standard RAID-lager, det används ofta för att representera en samling diskar som inte har kontrollprogramvara för att ge koordinerad kontroll. JBOD kopplar flera fysiska diskar i serie för att skapa en enorm logisk disk. Lagringsprestandan är exakt densamma som en enskild disk och ger ingen datasäkerhet. Den tillgängliga lagringskapaciteten är lika med summan av lagringsutrymmet för alla medlemsdiskar.
RAID0, kallad striping, är en enkel, okontrollerad datastriping-teknologi. Prestandan är den högsta av alla RAID-nivåer. Inga avgångspolicys av något slag erbjuds. 100 % användning av lagringsutrymme.
RAID1 kallas spegling, och den skriver data till den fungerande och den speglade disken helt konsekvent, och har en lagringsutrymmesanvändning på 50%. Prestandan påverkas när data skrivs, men data läses inte. Det ger det bästa dataskyddet, när den fungerande disken går sönder läser systemet automatiskt data från den speglade disken, vilket inte påverkar användarens arbete.
RAID2 kallas Heming Code Disk Array, och dess designidé är att använda Heming-kod för att uppnå dataverifieringsredundans. Ju större databredd, desto högre lagringsutrymmesanvändning, men desto fler diskar behöver du. Den har förmågan att rätta fel, men Hemingcodes dataredundansöverhead är för stor och datarekonstruktion är mycket tidskrävande, så RAID2 används sällan i praktiken.
RAID3 kallas en dedikerad paritetsremsa, som använder en dedikerad disk som kontrolldisk och resten av diskarna som datadisk, och datan lagras korslagrad på varje datadisk i bitar och bytes. RAID3 kräver minst tre diskar.
RAID4 och RAID3 fungerar enligt ungefär samma princip. Ger mycket bra läsprestanda, men dålig skrivprestanda. Och när antalet medlemsdiskar ökar kommer systemflaskhalsen för kontrollsummedisken att bli mer framträdande. Det är ovanligt i verkliga tillämpningar, och vanliga lagringsprodukter använder sällan RAID4-skydd.
RAID5 kallas den distribuerade paritetskontrollremsan, som för närvarande bör vara den vanligaste RAID-nivån, och principen liknar den i RAID4, men det finns ingen flaskhals i kontrolldiskens prestanda under samtidiga skrivoperationer i RAID4.
RAID6, kallad dubbelparitetsremsan, introducerar konceptet dubbelkontroller för att lösa problemet med dataintegritet när två diskar går sönder samtidigt som andra RAID-klasser inte kan lösa. Det kostar dock mycket mer än RAID5, har dålig skrivprestanda och är mycket komplext att designa och implementera. Därför används RAID6 sällan i praktiken och är generellt ett ekonomiskt alternativ till RAID10-lösningar.
Standard RAID-nivåer har sina styrkor och svagheter. Kombinera flera RAID-nivåer för att uppnå kompletterande fördelar och kompensera för varandras brister, för att uppnå ett RAID-system med högre prestanda, datasäkerhet och andra indikatorer. Naturligtvis är implementeringskostnaden för kombinationsnivån generellt mycket hög och används bara i några få specifika fall. Faktum är att endast RAID01 och RAID10 används i stor utsträckning.
RAID01 randas först och sedan speglas, vilket i princip innebär att avbilda den fysiska disken; RAID10 är att först avbilda och sedan stripa, vilket innebär att avbilda den virtuella disken. Under samma konfiguration har RAID01 vanligtvis bättre felkontroll än RAID10. RAID01 kombinerar fördelarna från RAID0 och RAID1, med en total diskutnyttjande på endast 50%.
4. Jämförelse av vanliga RAID-nivåer
RAID-konfiguration
Nivå/Beskrivning: | Feltolerans | förtjänst | brist | RAID 0
Mappa data över enheter för att skapa stora virtuella diskar. Eftersom varje fysisk disk bara bearbetar en del av förfrågan kan den ge högre prestanda. Men om en enhet går sönder blir den virtuella disken (VD) otillgänglig och datan förloras permanent. | inte | Bättre prestanda Ytterligare förvaring | Den får inte användas för kritisk data | RAID 1
Spegela data, lagra dataredundans på två enheter. Om en disk går sönder tar den andra disken över som primär enhet. | Diskfel Enda diskfel | Hög läsprestanda Återställ snabbt efter ett diskfel Dataredundans | Disköverhead är stor Begränsad kapacitet | RAID 5
Kartlägg data mellan enheter och lagra paritetsbitarna för varje dataremsa på olika enheter i VD. Paritetsbiten innehåller information som kan användas för att rekonstruera data från en trasig disk från en annan disk vid ett enskilt diskfel. | Diskfel Enda diskfel | Effektiv användning av drivkapacitet Hög läsprestanda Medelhög till hög skrivprestanda | Måttlig påverkan på diskfel På grund av omberäkningen av paritet är rekonstruktionstiden längre | RAID 6
Kartlägg data mellan enheter och lagra paritetsbitarna för varje dataremsa på olika enheter i VD. Till skillnad från RAID 5 utför RAID 6 två paritetsberäkningar (P och Q), vilket gör att den tål fel på dubbla diskar. | Dataredundans Hög läsprestanda | Diskfel Dubbeldiskfel | Skrivprestandan minskas på grund av två paritetsberäkningar Eftersom det är likvärdigt med att använda två diskar för paritet tillkommer en extra kostnad | RAID 10
Remsor på spegelsetet. Disköverheaden är hög, men det är en utmärkt lösning för hög prestanda, redundans och snabb återställning vid ett diskfel. | Diskfel Ett diskfel per bildset | Hög läsprestanda RAID-grupper med upp till 192 enheter kan stödjas | Den högsta kostnaden | RAID 50
RAID 5-serien på inspelningsplatsen. Genom att minska diskläsningar per paritetsberäkning kan prestandan förbättras med RAID 5, beroende på konfigurationen. | Diskfel Ett diskfel per period | Hög läsprestanda Medelhög till hög skrivprestanda RAID-grupper med upp till 192 enheter kan stödjas | Måttlig påverkan på diskfel På grund av omberäkningen av paritet är rekonstruktionstiden längre | RAID 60
RAID 6-serien på inspelningsplatsen. Med färre diskläsningar per paritetsberäkning kan prestandan förbättras med RAID 6, beroende på konfigurationen. | Diskfel Två skivor går sönder per spann | Hög läsprestanda RAID-grupper med upp till 192 enheter kan stödjas | Skrivprestandan minskas på grund av två paritetsberäkningar Eftersom det är likvärdigt med att använda två diskar för paritet tillkommer en extra kostnad |
5. Skillnad i RAID-mjukvara och hårdvara
Soft RAID
Soft RAID har inte ett dedikerat kontrollchip och I/O-chip, och operativsystemet samt CPU:n implementerar alla RAID-funktioner. Moderna operativsystem erbjuder i princip mjukt RAID-stöd, vilket ger en abstraktion mellan fysiska och logiska enheter genom att lägga till ett mjukvarulager ovanpå diskdrivrutiner. För närvarande är de vanligaste RAID-betygen som stöds av operativsystemet RAID0, RAID1, RAID10, RAID01 och RAID5. Till exempel stöder Windows Server RAID0, RAID1 och RAID5, Linux stöder RAID0, RAID1, RAID4, RAID5, RAID6, etc., och Mac OS X Server, FreeBSD, NetBSD, OpenBSD, Solaris och andra operativsystem stöder också motsvarande RAID-nivåer.
Konfigurationshanteringen och dataåterställningen av mjuk RAID är relativt enkel, men alla RAID-uppgifter utförs helt av CPU:n, såsom att beräkna kontrollvärden, så exekveringseffektiviteten är relativt låg.
Soft RAID implementeras av operativsystemet, så partitionen där systemet är placerat kan inte användas som en logisk medlemsdisk i RAID, och soft RAID kan inte skydda systemdisk D. För vissa operativsystem lagras RAID-konfigurationsinformation i systeminformation istället för som en separat fil på disken. På så sätt, när systemet kraschar oväntat och måste installeras om, förloras RAID-informationen. Dessutom stöder inte skivans feltoleransteknik fullt ut online-byte, hot swapping eller hot swapping, och om den kan stödja hot swap av fel disk beror på operativsystemets implementation.
Hard RAID
Hard RAID har egna RAID-kontrollprocessorer och I/O-processorchip, samt till och med arraybuffring, vilket är den bästa av de tre typerna av implementationer vad gäller CPU-användning och total prestanda, men som också har den högsta implementeringskostnaden. Hard RAID stödjer vanligtvis hot-swapping-teknik, som ersätter trasiga diskar medan systemet körs.
Hard RAID består av ett RAID-kort och ett RAID-chip integrerat på moderkortet, och serverplattformar använder ofta RAID-kort. Ett RAID-kort består av fyra delar: RAID-kärnprocessorn (CPU:n på RAID-kortet), porten, cachen och batteriet. Bland dessa avser portar de typer av diskgränssnitt som stöds av RAID-kort, såsom IDE/ATA, SCSI, SATA, SAS, FC och andra gränssnitt.
Blandad hård och mjuk RAID
Soft RAID är inte särskilt bra och skyddar inte systempartitioner, vilket gör det svårt att tillämpa på skrivbordssystem. Hard RAID är mycket dyrt, och olika RAD:er är oberoende av varandra och inte interoperabla. Därför använder människor en kombination av mjukvara och hårdvara för att implementera RAID, för att uppnå en kompromiss mellan prestanda och kostnad, det vill säga en hög kostnadsprestanda.
Även om detta RAID använder ett processorkontrollchip, är chipet ofta billigare och har svagare processorkraft för att spara kostnader, och det mesta av RAID:s arbetsuppgifter görs fortfarande av CPU:n via firmwaredrivrutiner.
6. Val av RAID-applikation
Det finns tre huvudfaktorer vid val av RAID-nivå: datatillgänglighet, I/O-prestanda och kostnad. Om tillgänglighet inte krävs, välj RAID0 för hög prestanda. Om tillgänglighet och prestanda är viktiga och kostnad inte är en avgörande faktor, välj RAID1 baserat på antalet diskar. Om tillgänglighet, kostnad och prestanda är lika viktiga, välj RAID3 eller RAID5 baserat på allmän dataöverföring och diskantal. I praktiska tillämpningar bör lämplig RAID-nivå väljas baserat på egenskaperna och specifika förhållandena i användarens dataapplikation, med hänsyn till tillgänglighet, prestanda och kostnad.
|