RAID er en løsning, der oprindeligt blev udviklet til netværksservermarkedet som et middel til at skabe stort lager til en lavere pris. I det væsentlige ville det tage flere lavere harddisker og sætte dem sammen via en controller for at give et enkelt større kapacitetstryk. Dette er hvad RAID står for: overflødig række billige drev eller diske. For at opnå dette var specialiseret software og controllere nødvendige for at styre dataene, der blev delt mellem de forskellige drev.
Til sidst tillod forarbejdningskraften i dit standardcomputer system funktionerne til at filtrere deres vej ind i pc-markedet.
Nu kan RAID-opbevaring være software- eller hardwarebaseret og kan bruges til tre forskellige formål. Disse omfatter kapacitet, sikkerhed og ydeevne. Kapacitet er en simpel, der typisk er involveret i næsten alle typer af RAID-opsætninger, der anvendes. For eksempel kan to harddiske kobles sammen som et enkelt drev til operativsystemet, hvilket effektivt gør en virtuel drev, der er to gange kapacitet. Ydeevne er en anden vigtig årsag til at bruge en RAID-opsætning på en pc. I samme eksempel på to drev, der bruges som et enkelt drev, kan styreenheden opdele en data-del i to dele og derefter sætte hver af disse dele på et separat drev. Dette fordobler effektivt udførelsen af at skrive eller læse dataene på lagringssystemet. Endelig kan RAID bruges til datasikkerhed.
Dette gøres ved at bruge nogle af pladsen på drevene til i det væsentlige at klone de data, der er skrevet til begge drev. Endnu engang kan vi med to drev gøre det, så dataene er skrevet til begge drev. Således, hvis et drev fejler, har den anden stadig dataene.
Afhængigt af målene for lagringsarrangementet, som du vil sammensætte til dit computersystem, vil du bruge et af de forskellige niveauer af RAID til at nå disse tre mål.
For dem, der bruger harddiske i deres computer, vil præstation sandsynligvis være mere et problem end kapacitet. På den anden side vil de, der bruger solid state-drev, sandsynligvis vil have en måde at tage de mindre drev på og forbinde dem sammen for at skabe et enkelt større drev. Så lad os tage et kig på de forskellige niveauer af RAID, der kan bruges sammen med en pc.
RAID 0
Dette er det laveste niveau af RAID og tilbyder faktisk ikke nogen form for redundans, hvorfor det henvises til et niveau 0. I det væsentlige tager RAID 0 to eller flere drev og sætter dem sammen for at danne et større kapacitetsdrev. Dette opnås gennem en processor kaldet striping. Datablokke er brudt op i databit og derefter skrevet i rækkefølge på tværs af drevene. Dette giver øget ydeevne, fordi dataene kan skrives samtidigt til drevene fra controlleren, der effektivt multiplicerer drevets hastighed. Nedenfor er et eksempel på hvordan dette kan fungere på tværs af tre diske:
| Drive 1 | Kør 2 | Drive 3 | |
|---|---|---|---|
| Blok 1 | 1 | 2 | 3 |
| Blok 2 | 4 | 5 | 6 |
| Blok 3 | 7 | 8 | 9 |
For at RAID 0 skal fungere effektivt for at øge systemets ydeevne, skal du prøve at have matchede drev. Hvert drev skal have den samme nøjagtige lagerkapacitet og præstationer egenskaber. Hvis de ikke gør det, vil kapaciteten være begrænset til et antal af de mindste af drevene og ydeevnen til den langsomste af drevene, da det må vente på, at alle striberne skal skrives, før de flyttes til det næste sæt. Det er muligt at bruge mismatched drev, men i så fald kan en JBOD opsætning være mere effektiv. JBOD står for bare en masse drev og effektivt er kun en samling af drev, der kan åbnes uafhængigt af hinanden, men vises som et enkelt lagringsdrev til operativsystemet. Dette opnås typisk ved at have dataspændet mellem drev. Dette kaldes ofte SPAN eller BIG. Effektivt ser operativsystemet dem alle som en enkelt disk, men blokkene vil blive skrevet over den første disk, indtil den fylder op og derefter fortsætter til den anden, tredje gang osv. Dette er nyttigt for at tilføje ekstra kapacitet til et eksisterende computersystem og med drev i forskellige størrelser, men det vil ikke øge ydeevnen af drevsystemet. Det største problem med RAID 0 og JBOD opsætninger er datasikkerhed. Da du har flere drev, øges chancerne for korruption af data, fordi du har flere punkter med fejl. Hvis et drev i et RAID 0-array mislykkes, bliver alle data utilgængelige. I et JBOD vil et drevfejl resultere i tab af data, der var tilfældet på det pågældende drev. Som et resultat er det bedst for dem, der ønsker at bruge denne metode til opbevaring at have andre midler til at sikkerhedskopiere deres data. Dette er et første ægte niveau af RAID, da det giver et fuldt niveau af redundans for de data, der er gemt på arrayet. Dette sker gennem en proces, der kaldes spejling. Effektivt kopieres alle data, der er skrevet til systemet, til hvert drev i et niveau 1-array. Denne form for RAID udføres typisk med blot et par drev, da tilføjelse af flere drev ikke vil tilføje yderligere kapacitet, bare mere redundans. For bedre at give et eksempel på dette, her er et diagram der viser, hvordan det ville blive skrevet til to drev: For at få den mest effektive brug fra et RAID 1-opsætning, vil systemet igen bruge matchede drev, der deler de samme kapacitet og ydeeværdier. Hvis der ikke anvendes mismatchede drev, er arraykapaciteten lig med det mindste kapacitetsdrev i arrayet. Hvis f.eks. Et halvanden terabyte og et terabyte-drev blev brugt i et RAID 1-array, ville kapaciteten af dette array på systemet blot være en enkelt terabyte. Dette niveau af RAID er yderst effektivt til datasikkerhed, fordi de to drev er effektivt ens. Hvis en af de to drev fejler, så har den anden den komplette data fra den anden. Problemet med denne type opsætning bestemmer generelt, hvilken af drevene der fejler, fordi lagringen ofte bliver utilgængelig, når en af de to fejler og ikke bliver ordentligt gendannet, indtil et nyt drev er indsat i stedet for den mislykkedes og et opsving processen køres. Som nævnt før er der også ingen præstationsgevinster fra dette. Faktisk vil der være et lille præstationstab fra controllers overhead til RAID. Dette er en noget kompliceret kombination af både RAID niveauerne 0 og niveau 1. Effektivt skal controlleren have mindst fire drev for at kunne fungere i denne tilstand, fordi det der skal gøres, er at lave to par drev. Det første sæt af drev er et spejlet array, som kloner dataene mellem de to. Det andet sæt drev er også spejlet men sat op til at være den første strimmel. Dette giver både data redundans og præstationsgevinster. Nedenfor er et eksempel på, hvordan data skulle skrives på tværs af fire drev ved hjælp af denne type opsætning: For at være ærlig er dette ikke en ønskelig måde at RAID kører på et computersystem. Selvom det giver nogle ydelse boost det er virkelig ikke så godt på grund af den enorme mængde af overhead på systemet. Derudover er det et stort spild af plads, da drevgruppen kun højst halvdelen af alle drevene kombineres. Hvis der anvendes mismatchede drev, vil ydeevnen være begrænset til den laveste af drevene, og kapaciteten vil kun være dobbelt det mindste drev. Dette er det højeste niveau af RAID, der findes i forbrugers computersystemer og er en langt mere effektiv metode til at øge kapaciteten og redundansen. Det opnår dette gennem en proces med data strimmel med paritet. Mindst tre drev er nødvendige for at gøre dette, da dataene er delt i striber på flere af drevene, men så er en blok over striben sat til side for paritet. For at forklare det bedre kan vi først se på, hvordan dataene kan skrives på tværs af tre drev: I det væsentlige tager drevstyringen en del af data, der skal skrives på tværs af alle drevene i arrayet. Den første bit af data er placeret på det første drev, og den anden er placeret på den anden. Det tredje drev får paritetsbitten, som i det væsentlige er en sammenligning af binære data på den første og anden. I binær matematik har du kun 0 og 1. En boolsk matematikproces er lavet for at sammenligne bitene. Hvis de to tilføjes til et lige antal (0 + 0 eller 1 + 1), vil paritetsbitten være nul. Hvis de to tilføjer et ulige tal (1 + 0 eller 0 + 1), vil paritetsbitten være en. Årsagen til dette er, at hvis en af drevene fejler, kan controlleren derefter finde ud af, hvad de manglende data er. For eksempel, hvis drev en fejler, så lad du bare køre to og tre, og drev to har en datablok af en og drev tre har en paritetsblok på en, så må den manglende datablok på drev en være nul. Dette giver en effektiv data redundans, der gør det muligt at genoprette alle data i tilfælde af en fejl i drev. Nu for de fleste forbrugeropsætninger vil en fejl stadig resultere i, at systemet ikke er, fordi det ikke er i funktionel tilstand. For at få systemet til at fungere, er det nødvendigt at udskifte det mislykkede drev med et nyt drev. Derefter skal en data rekonstruktion udføres på controllerniveauet, som derefter vil gøre en omvendt boolean funktion for at genskabe dataene på det manglende drev. Det kan tage lidt tid, især for større kapacitetsdrev, men det er i det mindste retablerbart. Kapaciteten i et RAID 5-array afhænger nu af antallet af drev i arrayet og deres kapacitet. Endnu en gang er arrayet begrænset af den mindste kapacitetsdrev i arrayet, så det er bedst at bruge matchede drev. Det effektive lagerplads er lig med antallet af drev minus en gange den laveste kapacitet. Så i matematiske termer er det (n-1) * Capacitymin . Så hvis du har tre 2GB drev i et RAID 5 array, vil den samlede kapacitet være 4GB. Et andet RAID 5-array, der brugte fire 2 GB-drev, ville have 6 GB kapacitet. Nu er performance for RAID 5 lidt mere kompliceret end nogle af de andre former for RAID på grund af den boolske proces, der skal gøres for at skabe paritetsbit, når dataene bliver skrevet til drevene. Dette betyder, at skriveydelsen vil være mindre end et RAID 0-array med det samme antal drev. Læsende ydeevne lider derimod ikke så meget som skrivningen, fordi den boolske proces ikke er færdig, fordi den læser de lige data fra drevene. Vi har diskuteret de forskellige fordele og ulemper ved hvert niveau af RAID, som kan bruges på pc'er, men der er et andet problem, som mange mennesker ikke ved, når det drejer sig om at oprette RAID-drevopsætninger. Før en RAID-opsætning kan bruges, skal den først konstrueres enten af hardwarecontrollersoftwaren eller i operativsystemets software. Dette initialiserer i det væsentlige den specielle formatering, der kræves for korrekt at spore, hvordan dataene skal skrives og læses på drevet. Dette lyder nok ikke som et problem, men det er, hvis du endda skal ændre, hvordan du vil have dit RAID array konfigureret. Sig for eksempel, at du kører lavt data og vil tilføje et ekstra drev til enten et RAID 0 eller RAID 5 array. I de fleste tilfælde vil du ikke kunne uden at omkonfigurere RAID-arrayet, som også fjerner nogen af de data, der blev gemt i disse drev.Dette betyder, at du skal sikkerhedskopiere dine data fuldt ud, tilføje det nye drev, omkonfigurer drevarrayet, formatere drevet og derefter genoprette dine originaldata tilbage til drevet. Det kan være en yderst smertefuld proces. Som følge heraf skal du sørge for, at du virkelig har arrayopsætningen, som du vil, første gang du gør det.RAID 1
Drive 1 Kør 2 Blok 1 1 1 Blok 2 2 2 Blok 3 3 3 RAID 1 + 0 eller 10
Drive 1 Kør 2 Drive 3 Kør 4 Blok 1 1 1 2 2 Blok 2 3 3 4 4 Blok 3 5 5 6 6 RAID 5
Drive 1 Kør 2 Drive 3 Blok 1 1 2 p Blok 2 3 p 4 Blok 3 p 5 6 Det store problem med alle RAID-opsætninger




