Skip to main content

Hva er RAID? (Redundant Array of Cheap Drives)

Commemorating the Peenemunde Raid (Juni 2026)

Commemorating the Peenemunde Raid (Juni 2026)
Anonim

RAID er en løsning som ble opprinnelig opprettet for nettverksservermarkedet som et middel til å skape stor lagring til en lavere pris. I hovedsak ville det ta flere lavere harddisker og sette dem sammen gjennom en kontroller for å gi en enkelt større kapasitetsdrift. Dette er hva RAID står for: Redundant utvalg av billige stasjoner eller disker. For å oppnå dette var det behov for spesialisert programvare og kontroller for å administrere dataene som er delt mellom de ulike stasjonene.

Til slutt tillater prosessorkraften til det vanlige datasystemet funksjonene til å filtrere seg inn i personmarkedet.

Nå kan RAID-lagring være programvare eller maskinvarebasert, og kan brukes til tre forskjellige formål. Disse inkluderer kapasitet, sikkerhet og ytelse. Kapasitet er en enkel som vanligvis er involvert i nesten alle typer RAID-oppsett som brukes. For eksempel kan to harddisker kobles sammen som en enkelt stasjon til operativsystemet, noe som effektivt lager en virtuell stasjon som er to ganger kapasiteten. Ytelse er en annen viktig grunn til å bruke et RAID-oppsett på en personlig datamaskin. I samme eksempel på to stasjoner som brukes som en enkelt stasjon, kan styreenheten dele en data-bit i to deler og deretter sette hver av disse delene på en separat stasjon. Dette dobler effektivt ytelsen til å skrive eller lese dataene på lagringssystemet. Til slutt kan RAID brukes til datasikkerhet.

Dette gjøres ved å bruke litt av plassen på stasjonene for å klone dataene som er skrevet til begge stasjonene. Igjen, med to stasjoner kan vi gjøre det slik at dataene er skrevet til begge stasjonene. Dermed, hvis en stasjon mislykkes, har den andre fortsatt dataene.

Avhengig av målene for lagringsarrangementet du vil sette sammen for datasystemet, vil du bruke et av de ulike nivåene av RAID for å oppnå disse tre målene.

For de som bruker harddisker i datamaskinen, vil ytelsen sannsynligvis være mer et problem enn kapasitet. På den annen side vil de som bruker solid state-stasjoner, trolig vil ha en måte å ta de mindre stasjonene på og koble dem sammen for å lage en enkelt, større stasjon. Så la oss ta en titt på de ulike nivåene av RAID som kan brukes med en personlig datamaskin.

RAID 0

Dette er det laveste nivået på RAID, og ​​tilbyr egentlig ingen form for redundans, og det er derfor referert til et nivå 0. I hovedsak tar RAID 0 to eller flere stasjoner og setter dem sammen for å mote en større kapasitetsdrift. Dette oppnås gjennom en prosessor kalt striping. Datablokkene er brutt opp i databiter og deretter skrevet i rekkefølge over stasjonene. Dette gir økt ytelse fordi dataene kan skrives samtidig til stasjonene av kontrolleren, som effektivt multipliserer frekvensen til stasjonene. Nedenfor er et eksempel på hvordan dette kan fungere over tre disker:

Kjør 1Kjør 2Kjør 3
Blokk 1123
Blokk 2456
Blokk 3789

For at RAID 0 skal fungere effektivt for å øke ytelsen til systemet, må du prøve å ha matchede stasjoner. Hver stasjon skal ha samme nøyaktige lagringskapasitet og ytelsesegenskaper.

Hvis de ikke gjør det, vil kapasiteten bli begrenset til flere av de minste av stasjonene og ytelsen til den tregeste av stasjonene, da det må vente på at alle stripene skal skrives før de flyttes til neste sett. Det er mulig å bruke feilaktige stasjoner, men i så fall kan et JBOD-oppsett være mer effektivt.

JBOD står for bare en haug med stasjoner og effektivt er bare en samling stasjoner som kan nås uavhengig av hverandre, men vises som en enkelt lagringsplass til operativsystemet. Dette oppnås vanligvis ved å ha dataspannen mellom stasjoner. Ofte blir dette referert til som SPAN eller BIG.

Effektivt ser operasjonen dem alle som en enkelt disk, men blokkene vil bli skrevet over den første disken til den fylles opp, og deretter fortsette til den andre, deretter tredje osv. Dette er nyttig for å legge til ekstra kapasitet i et eksisterende datasystem og med stasjoner av forskjellige størrelser, men det vil ikke øke ytelsen til stasjonsarrangementet.

Det største problemet med RAID 0 og JBOD-oppsett er datasikkerhet. Siden du har flere stasjoner, øker sjansene for korrupsjon av data fordi du har flere feilpunkter. Hvis en hvilken som helst stasjon i en RAID 0-array mislykkes, blir alle data utilgjengelige. I en JBOD, vil en stasjonsfeil resultere i tap av data som skjedde på den stasjonen. Som et resultat er det best for de som vil bruke denne metoden for lagring å ha andre metoder for å sikkerhetskopiere dataene sine.

RAID 1

Dette er et første sant nivå av RAID, da det gir et helt nivå av redundans for dataene som er lagret på arrayet. Dette gjøres gjennom en prosess som kalles speiling. Effektivt blir alle dataene som er skrevet til systemet kopiert til hver stasjon i et nivå 1-array. Denne form for RAID er vanligvis gjort med bare et par stasjoner, fordi det å legge til flere stasjoner ikke vil legge til noen ekstra kapasitet, bare mer redundans. For å gi et eksempel på dette, her er et diagram som viser hvordan det skulle skrives til to stasjoner:

Kjør 1Kjør 2
Blokk 111
Blokk 222
Blokk 333

For å få mest mulig utbytte av et RAID 1-oppsett, vil systemet igjen bruke matchede stasjoner som har samme kapasitets- og ytelsesgrader.

Hvis feilaktige stasjoner brukes, vil arraykapasiteten være lik den minste kapasitetsdriften i arrayet. Hvis for eksempel en en og en halv terabyte og en terabyte-stasjon ble brukt i et RAID 1-array, ville kapasiteten til denne gruppen på systemet bare være en enkelt terabyte.

Dette nivået av RAID er svært effektivt for datasikkerhet fordi de to stasjonene er effektivt de samme. Hvis en av de to stasjonene feiler, så har den andre den komplette dataen til den andre. Problemet med denne typen oppsett bestemmer generelt hvilken av stasjonene som er mislyktes, fordi lagringen ofte blir utilgjengelig når en av de to mislykkes og ikke blir riktig gjenopprettet til en ny stasjon er satt inn i stedet for den mislykkede og en gjenoppretting prosessen kjøres. Som nevnt tidligere, er det heller ingen ytelse gevinst i det hele tatt fra dette. Faktisk vil det være en liten ytelse tap fra overhead av kontrolleren for RAID.

RAID 1 + 0 eller 10

Dette er en noe komplisert kombinasjon av både RAID nivåene 0 og nivå 1. Effektivt, vil kontrolleren trenge minst fire stasjoner for å kunne fungere i denne modusen, fordi det som skal gjøres, er å lage to par stasjoner. Det første settet av stasjoner er et speilet array klonene dataene mellom de to. Det andre settet av stasjoner er også speilet, men satt opp for å være den første stripen. Dette gir både data redundans og ytelse gevinster. Nedenfor er et eksempel på hvordan data skulle skrives over fire stasjoner ved hjelp av denne typen oppsett:

Kjør 1Kjør 2Kjør 3Kjør 4
Blokk 11122
Blokk 23344
Blokk 35566

For å være ærlig er dette ikke en ønskelig modus for RAID å kjøre på et datasystem. Selv om det gir noe ytelsesforhøyelse, er det egentlig ikke så bra på grunn av den enorme mengden overhead på systemet. I tillegg er det et stort sløsing med plass, da stasjonsarrangementet kun vil ha halvparten av kapasiteten til alle stasjonene kombinert. Hvis feilaktige stasjoner brukes, vil ytelsen bli begrenset til den tregeste på stasjonene, og kapasiteten vil bare være dobbelt så liten som mulig.

RAID 5

Dette er det høyeste nivået av RAID som finnes i forbrukerens datasystemer, og er en mye mer effektiv metode for å øke kapasiteten og redundansen. Det oppnår dette gjennom en prosess med datastriping med paritet. Minst tre stasjoner er nødvendig for å gjøre dette da dataene er delt inn i striper på flere av stasjonene, men så er en blokk over stripen satt til side for paritet. For å forklare dette bedre, kan vi først se på hvordan dataene kan skrives på tre stasjoner:

Kjør 1Kjør 2Kjør 3
Blokk 112 p
Blokk 23 p 4
Blokk 3 p 56

I hovedsak tar stasjonskontrollen en bit av data som skal skrives på tvers av alle stasjonene i arrayet. Den første biten av data er plassert på den første stasjonen og den andre er plassert på den andre. Den tredje stasjonen får paritetsbiten, som i hovedsak er en sammenligning av binære data på første og andre. I binær matte har du bare 0 og 1. En boolsk matematikkprosess er gjort for å sammenligne biter. Hvis de to legger til et jevnt tall (0 + 0 eller 1 + 1), vil paritetsbiten være null. Hvis de to legger opp til et oddetall (1 + 0 eller 0 + 1), vil paritetsbiten være en. Årsaken til dette er at hvis en av stasjonene feiler, kan kontrolleren da finne ut hva de manglende dataene er. For eksempel, hvis stasjonen svikter, forlater bare å kjøre to og tre, og kjøre to har en datablok av en og stasjonen tre har en paritetsblokk av en, og den manglende datablokken på stasjonen må være null.

Dette gir effektiv data redundans som gjør at alle dataene kan gjenopprettes ved en feil i stasjonen. Nå for de fleste forbrukeroppsett vil en feil fortsatt føre til at systemet ikke er fordi det ikke er i funksjonell tilstand. For å få systemet til å fungere, er det nødvendig å erstatte den mislykkede stasjonen med en ny stasjon. Deretter må en data rekonstruksjonsprosess gjøres på kontrollnivånivå som da vil gjøre en omvendt boolean funksjon for å gjenopprette dataene på den manglende stasjonen. Dette kan ta litt tid, spesielt for større kapasitetsdrev, men det er i det minste gjenvinnbart.

Nå er kapasiteten til et RAID 5-array avhengig av antall stasjoner i arrayet og deres kapasitet. Igjen er arrayet begrenset av den minste kapasitetsdriften i arrayet, så det er best å bruke matchede stasjoner. Den effektive lagringsplassen er lik antall stasjoner minus en ganger den laveste kapasiteten. Så i matematiske termer er det (n-1) * Capacitymin . Så hvis du har tre 2 GB-stasjoner i et RAID 5-array, vil den totale kapasiteten være 4 GB. Et annet RAID 5-array som brukte fire 2 GB-stasjoner, ville ha 6 GB kapasitet.

Nå er ytelsen til RAID 5 litt mer komplisert enn noen av de andre formene av RAID på grunn av den boolske prosessen som må gjøres for å skape paritetsbit når dataene skrives til stasjonene. Dette betyr at skriveytelsen vil være mindre enn en RAID 0-array med samme antall stasjoner. Les ytelse, derimot, lider ikke så mye som skrivingen fordi den boolske prosessen ikke er gjort fordi den leser de rette dataene fra stasjonene.

Det store problemet med alle RAID-oppsett

Vi har diskutert de ulike fordeler og ulemper ved hvert nivå av RAID som kan brukes på personlige datamaskiner, men det er et annet problem som mange ikke skjønner når det gjelder å opprette RAID-stasjonsoppsett. Før et RAID-oppsett kan brukes, må det først bygges enten av maskinvarekontrolleringsprogramvaren eller i operativsystemets programvare. Dette initierer i hovedsak den spesielle formatering som kreves for å kunne spore hvordan dataene skal skrives og leses på stasjonen.

Dette høres kanskje ikke ut som et problem, men det er hvis du til og med trenger å endre hvordan du vil at RAID-konfigurasjonen skal være konfigurert. For eksempel, si at du kjører lavt data og vil legge til en ekstra stasjon for enten et RAID 0 eller RAID 5-array. I de fleste tilfeller vil du ikke kunne uten å omkonfigurere RAID-arrayet som også fjerner noen av dataene som ble lagret i de stasjonene.Dette betyr at du må sikkerhetskopiere dataene dine fullt ut, legge til den nye stasjonen, omkonfigurer stasjonsarrangementet, formatere stasjonsarrangementet og deretter gjenopprette originaldataene tilbake til stasjonen. Det kan være en ekstremt smertefull prosess. Som et resultat, må du sørge for at du virkelig har arrayoppsettet slik du vil første gang du gjør det.