RAID (redundant rekke uavhengige disker) er en lagringsteknologi som kombinerer flere diskstasjonskomponenter i en enkelt logisk enhet, slik at den oppfører seg som en stasjon når den er koblet til annen maskinvare. RAID 1 tilbyr redundans gjennom speiling, dvs. data er skrevet identisk til to stasjoner. RAID 0 tilbyr ingen redundans og bruker i stedet striping, dvs. data er delt over alle stasjonene. Dette betyr at RAID 0 ikke gir feiltoleranse; hvis noen av de kjørbare stasjonene feiler, mislykkes RAID-enheten.
RAID 0 | RAID 1 | |
---|---|---|
Nøkkelfunksjon | Striping | speiling |
Striping | Ja; data er stripet (eller delt) jevnt over alle diskene i RAID 0-oppsettet. | Nei; dataene er fullt lagret på hver disk. |
Speiling, redundans og feiltoleranse | Nei | Ja |
Opptreden | I teorien tilbyr RAID 0 raskere lese- og skrivehastigheter sammenlignet med RAID 1. | RAID 1 tilbyr lavere skrivehastigheter, men kan tilby samme leseytelse som RAID 0 hvis RAID-kontrolleren bruker multiplexing til å lese data fra disker. |
applikasjoner | Hvor data pålitelighet er mindre av en bekymring og hastighet er viktig. | Hvor datatap er uakseptabelt, f.eks. Dataregister |
Minimum antall fysiske disker kreves | 2 | 2 |
Paritetsdisk? | Ikke brukt | Ikke brukt |
Fordeler | Hastighet: veldig rask leser og skriver; ingen overhead for paritetsberegning. 100% diskutnyttelse. | God ytelse, selv om skriveren er litt tregere sammenlignet med RAID 0. Feiltoleranse med enkel gjenoppretting (bare kopier innholdet fra en stasjon til en annen) |
ulemper | Ingen redundans eller feiltoleranse. Hvis en stasjon i RAID mislykkes, går all data tapt. | Lagringskapasiteten er effektivt kuttet i halv fordi to kopier av all data lagres. Gjenoppretting fra en feil krever at du slår ned RAID, slik at data ikke er tilgjengelig under gjenopprettingen. |
RAID 0 tilbyr striping uten paritet eller speiling. Striping betyr at data deles jevnt over to eller flere disker. For eksempel, i en RAID 0-konfigurasjon med to disketter vil de første, tredje, femte (og så videre) datablokker bli skrevet til den første harddisken, og den andre, fjerde, sjette og så videre skrevet til den andre harddisken. En ulempe ved denne tilnærmingen er at hvis en av diskene krasjer, sviktes hele RAID 0-oppsettet fordi data blir uopprettelig. I tekniske termer beskrives dette som mangel på feiltoleranse.
Datalagring i et RAID 0-oppsett Datalagring i et RAID 1-oppsettEt RAID 1-oppsett er annerledes. Det er ingen striping; hele data er speiles på hver disk. Dette resulterer i flere kopier av data (overflødighet). Og hvis en av disken mislykkes, kan data fortsatt bli gjenopprettet fordi den er intakt på den andre disken (de fleste RAID 1-oppsett bruker kun 2 disker, men noen kan bruke mer), noe som betyr at RAID 1 er feiltolerant.
Her er en god video som forklarer forskjellen mellom RAID 0 og RAID 1-arrayer (en kortere video av samme person er på YouTube her):
RAID 1 gir høyere pålitelighet på grunn av redundans; Selv om en av stasjonene mislykkes, er data fortsatt tilgjengelig på den andre. RAID-arrayer beskytter imidlertid ikke data fra bitrot - det gradvise forfallet i lagringsmedia som forårsaker tilfeldige biter på harddisken for å vende og ødelegge dataene. Moderne filsystemer som ZFS og Btrfs beskytter mot bitrot via per-block checksumming, og bør brukes til å være alvorlige for å beskytte dataene sine i flere år:
Det er en vanlig misforståelse å tro at RAID beskytter data mot korrupsjon siden det introduserer redundans. Virkeligheten er akkurat det motsatte: Tradisjonell RAID øker sannsynligheten for data korrupsjon siden det introduserer flere fysiske enheter med flere ting å gå galt. Hva RAID beskytter deg mot, er datatap på grunn av den øyeblikkelige feilen på en stasjon. Men hvis stasjonen ikke er så forpliktende til bare å dø høflig på deg og i stedet begynner å lese og / eller skrive dårlige data, vil du fremdeles få så dårlige data. RAID-kontrolleren har ingen måte å vite om dataene er dårlige, siden paritet er skrevet på per-strip-basis og ikke per blokk-basis. I teorien (i praksis, paritet er ikke alltid strengt kontrollert på hver avlesning), kunne en RAID-kontroller fortelle deg at dataene i en stripe var korrupte, men det ville ikke være mulig å vite om de faktiske korrupte dataene var på en hvilken som helst måte kjøre.
RAID 0 tilbyr svært raske skrivetider fordi dataene er delt og skrevet til flere disker parallelt. Skriver til en RAID 1-enhet er tregere sammenlignet med RAID 0, men omtrent det samme som å skrive til en enkelt disk. Dette skyldes at hele data er skrevet til to disker, men parallelt.
Leser er også veldig raske i RAID 0. I ideelle scenarier er overføringshastigheten til arrayet overføringshastigheten til alle diskene lagt sammen, og begrenset bare av RAID-kontrollens hastighet. Leser fra RAID 1 kan eller ikke tilby slike ytelsesforbedringer, avhengig av RAID-kontrolleren. "Smart" controllere deler opplesningsoppgaven på en måte som utnytter data redundans og leser forskjellige blokker fra forskjellige disker. Dette gir en ytelsesforsterkning som ligner på RAID 0, men for styrere som ikke er i stand til slik multiplexing, leser hastigheter og er omtrent det samme som en enkelt harddisk.
Den totale lagringen som er tilgjengelig for RAID 0-enheten, er bare summen av lagerkapasiteten til de enkelte diskene fordi det ikke er noen redundans. I tilfelle av et RAID 1-array, er det imidlertid replikering av data, hvilket betyr at total lagringskapasitet på enheten er den samme som for en harddisk.
RAID 1 er et bedre valg hvis pålitelighet er et problem, og du vil unngå tap av data. Et typisk eksempel er dataregistreringsbehov. RAID 0 er et bedre valg i scenarier der et stort volum med høyhastighetslagring er nødvendig. For eksempel tar det ukomprimert HD-video over HDSDI og registrerer det rett på en harddisk, og krever veldig rask skriver og stor kapasitet. Et annet eksempel er store databaser som inneholder logger eller annen informasjon som har et høyt volum av leseoperasjoner.
RAID nivåer 0 og 1 kan kombineres for å lage en stripe av speil - RAID 10 - eller et speil av striper (RAID 01) konfigurasjon. Disse kalles nestede RAID-nivåer.
RAID 01 nestet konfigurasjon RAID 10-konfigurasjonRAID 10 er mer feiltolerant enn RAID 01, slik at den er mye brukt; RAID 01 er nesten aldri brukt fordi RAID 10 er bedre enn det mens du bruker det samme antallet disker.