Vad är RAID?

RAID står för antingen Redundant Array of Inexpensive Disks eller Redundant Array of Independent Disks. Det är en virtualiseringslösning för datalagring som behandlar flera fysiska enheter som en enda fysisk enhet. Syftet med RAID är att tillhandahålla dataredundans, prestandaförbättringar eller båda beroende på vilken RAID-nivå som används.

RAID-koncept

De tre huvudkoncepten i RAID är "spegling", "striping" och "paritet".

I RAID, spegling är replikering av data över flera diskar, vilket möjliggör en nivå av redundans till bekostnad av minskad lagringskapacitet. Till exempel, om en enhet misslyckas, går ingen data förlorad, eftersom all data på den felaktiga enheten också finns på en andra enhet. Vid det här laget kan den trasiga enheten bytas ut och RAID-arrayen kan byggas om från befintliga enheter.

RÄD ränder är konceptet att sprida data över flera enheter. Detta gör att alla enheters fulla kapacitet är tillgängliga för användning och möjliggör bättre prestanda eftersom data skrivs till eller läses från flera enheter samtidigt. Nackdelen med detta är att förlusten av någon enhet korrumperar hela arrayen.

RÄD paritet är en feltoleransprocess som utför en logisk process mellan varje bit på två enheter och lagrar resultatet på en tredje enhet. Om någon av enheterna misslyckas kan arrayen byggas om från de andra två. Paritet kan bara läggas till ovanpå andra raid-tillstånd.

Vanliga RAID-nivåer

RAID 0 är en enkel implementering av striping. Två eller flera diskar ingår i arrayen, som kombinerar deras totala kapacitet och läs-/skrivhastigheter. Denna raidnivå erbjuder hög prestanda men med risk för att all data går förlorad om någon enhet misslyckas. Prestandan för en RAID 0-array ökar när du lägger till fler enheter, men detta ökar också sannolikheten för att en av enheterna ska gå sönder och förstöra hela arrayen.

Tips: RAID 0 skiljer sig från att bara spänna över flera diskar tillsammans. Båda teknikerna tillåter användning av drivenheternas fulla kapacitet. Att spänna diskarna tillsammans ger inte den prestandaökning som kommer från striping av data, men det bevarar data som sparats på fungerande diskar om någon spännad disk misslyckas.

RAID 1 är en implementering av spegling, med data från en enhet speglad till en andra enhet. Om någon av enheterna misslyckas går ingen data förlorad. I större arrayer innehåller varje disk fortfarande exakt samma information. Så länge som en RAID 1-disk fungerar kan data läsas och arrayen byggas om.

RAID-nivåerna 4 och 5 använder striping för att öka prestandan, men inkluderar också paritet för att tillåta diskfel. RAID 4 dedikerar en enda enhet till paritet, detta kan orsaka minskade skrivhastigheter eftersom all paritetsdata bara skrivs till en disk. RAID 5 sprider paritetsdata över alla enheter i arrayen. Flaskhalsen som kom från att skriva paritetsdata till en disk tas bort, men paritetsbearbetningen måste fortfarande utföras vilket minskar prestandan lite jämfört med RAID 0. RAID-nivåerna 4 och 5 kräver båda minst tre enheter i arrayen och tillåter bara att en enda enhet misslyckas.

RAID 6 är identisk med RAID 5 men lagrar två paritetsblock över alla diskar i arrayen. Denna extra paritet fördubblar paritetsbearbetningen som krävs, vilket minskar prestandan mer än RAID 5, men fortfarande mindre än RAID 4. RAID 6 kräver minst fyra enheter i arrayen men kan hantera upp till två enheter som inte fungerar.

RAID 0+1 är kapslad RAID-array, den skapar först en RAID 0-array av striped diskar, sedan en RAID 1-spegel av den arrayen. Att kapsla dessa två typer av RAID-arrayer ger både redundansen för speglingen och hastighetshöjningen för striping. Nackdelarna med den här metoden är att minst fyra enheter krävs och att om en enhet misslyckas, misslyckas en hel spegel. Om någon enhet misslyckas, skadar den dess RAID 0-array. I en RAID 0+1-array med fyra skivor, skulle förlora en enda disk skada dess parade disk och lämna de andra två diskarna utan skydd av en spegel.

RAID 10 är en annan typ av kapslad RAID-array, den skapar en RAID 1-array av speglade diskar, sedan en RAID 0-remsa av den arrayen. Att kapsla arrayerna på detta sätt ger också samma redundans och prestandaökning som RAID 0+1. Med den här implementeringen kan du dock förlora många enheter så länge varje spegel har minst en fungerande disk. Det tar också kortare tid att bygga om arrayen i händelse av ett enhetsfel, eftersom endast en uppsättning speglade enheter behöver byggas om.