RAID är en lösning som ursprungligen utvecklades för nätverksservermarknaden som ett sätt att skapa stor lagring till en lägre kostnad. I grund och botten skulle det ta flera hårddiskar med låg kostnad och sätta dem ihop via en kontroller för att ge en enda större kapacitet. Det här är vad RAID står för: redundant utbud av billiga enheter eller diskar. För att uppnå detta behövdes specialiserad programvara och kontroller för att hantera data som delas mellan de olika enheterna.
Så småningom tillåter processkraften i ditt vanliga datorsystem funktionerna att filtrera sig in i persondatorns marknad.
Nu kan RAID-lagring vara programvara eller maskinvarubaserad och kan användas för tre olika syften. Dessa inkluderar kapacitet, säkerhet och prestanda. Kapacitet är en enkel som vanligtvis är involverad i nästan alla typer av RAID-inställningar som används. Till exempel kan två hårddiskar kopplas samman som en enda enhet till operativsystemet, vilket gör en virtuell enhet som är dubbelt så stor som möjligt. Prestanda är en annan viktig orsak till att du använder en RAID-inställning på en persondator. I samma exempel på att två enheter används som en enda enhet kan styrenheten dela upp en data-bit i två delar och sedan placera var och en av dessa delar på en separat enhet. Detta fördubblar effektiviteten av att skriva eller läsa data i lagringssystemet. Slutligen kan RAID användas för datasäkerhet.
Detta görs genom att använda en del av utrymmet på enheterna för att i huvudsak klona data som skrivs till båda enheterna. Återigen, med två enheter kan vi göra det så att data skrivs till båda enheterna. Således, om en enhet misslyckas, har den andra fortfarande data.
Beroende på målen för lagringsutrustningen som du vill sätta ihop för ditt datorsystem använder du en av de olika nivåerna av RAID för att uppnå dessa tre mål.
För dem som använder hårddiskar i sin dator kommer prestanda förmodligen att vara mer av ett problem än kapacitet. Å andra sidan kommer de som använder solid state-enheter säkert att ha ett sätt att ta de mindre enheterna och länka dem tillsammans för att skapa en enda större enhet. Så låt oss ta en titt på de olika nivåerna av RAID som kan användas med en persondator.
RAID 0
Detta är den lägsta nivån på RAID och erbjuder egentligen ingen form av redundans, varför den refereras till en nivå 0. I grund och botten tar RAID 0 två eller flera enheter och sätter dem ihop för att skapa en större kapacitet. Detta uppnås genom en processor som kallas stripning. Datablocken är uppdelade i databitar och skrivs sedan i ordning över enheterna. Detta ger ökad prestanda eftersom data kan skrivas samtidigt till enheterna av styrenheten, vilket effektivt multiplicerar frekvensomriktaren. Nedan följer ett exempel på hur det här kan fungera på tre skivor:
| Kör 1 | Enhet 2 | Kör 3 | |
|---|---|---|---|
| Block 1 | 1 | 2 | 3 |
| Block 2 | 4 | 5 | 6 |
| Block 3 | 7 | 8 | 9 |
För att RAID 0 ska fungera effektivt för att förbättra systemets prestanda, måste du försöka ha matchade enheter. Varje enhet ska ha samma exakta lagringskapacitet och prestanda egenskaper. Om de inte gör det kommer kapaciteten att begränsas till en multipel av de minsta av enheterna och prestanda till den långsammaste av enheterna, eftersom det måste vänta på att alla ränder skrivs innan de flyttas till nästa uppsättning. Det är möjligt att använda felaktiga enheter, men i så fall kan en JBOD-inställning vara effektivare. JBOD står för bara en massa enheter och effektivt är bara en samling av enheter som kan nås oberoende av varandra, men som en enda lagringsenhet till operativsystemet. Detta uppnås typiskt genom att ha dataspänningen mellan enheter. Ofta kallas detta SPAN eller BIG. Effektivt ser operatören dem alla som en enda skiva men blocken skulle skrivas över den första skivan tills den fylls upp, sedan fortsätter till den andra, tredje, etc. Det här är användbart för att lägga till extra kapacitet i ett befintligt datorsystem och med enheter i olika storlekar men det ökar inte frekvensomriktarens prestanda. Det största problemet med RAID 0 och JBOD-inställningar är datasäkerhet. Eftersom du har flera enheter ökar risken för att data är korrupt, eftersom du har fler misslyckanden. Om någon enhet i en RAID 0-array misslyckas blir alla data otillgängliga. I en JBOD kommer ett fel i drift att resultera i förlust av data som råkar vara på den enheten. Som ett resultat är det bäst för dem som vill använda den här metoden för lagring att ha andra sätt att säkerhetskopiera data. Detta är en första sann nivå för RAID, eftersom det ger en fullständig redundansnivå för de data som lagras i arrayen. Detta görs genom en process som kallas spegling. Effektivt kopieras all data som skrivs till systemet till varje enhet i en nivå 1-grupp. Denna form av RAID görs vanligen med bara ett par enheter, eftersom det inte går att lägga till ytterligare kapacitet med att lägga till fler enheter, bara mer redundans. För att bättre ge ett exempel på detta, här är ett diagram som visar hur det skulle skrivas till två enheter: För att få den mest effektiva användningen från en RAID 1-inställning, kommer systemet återigen att använda matchade enheter som delar samma kapacitet och prestanda betyg. Om felaktiga enheter används, är arraykapaciteten lika med den minsta kapacitetsenheten i arrayen. Om exempelvis en en och en halv terabyte och en terabyte-enhet användes i en RAID 1-grupp, skulle kapaciteten hos denna array på systemet bara vara en enda terabyte. Denna nivå av RAID är mycket effektiv för datasäkerhet eftersom de två enheterna är effektivt samma. Om en av de två enheterna misslyckas, har den andra den fullständiga data för den andra. Problemet med den här typen av inställningar bestämmer vanligtvis vilken av enheterna som misslyckas, eftersom lagringen ofta blir oåtkomlig när en av de två misslyckas och kommer inte att återställas på rätt sätt tills en ny enhet sätts in istället för den misslyckade och en återställning processen körs. Som tidigare nämnts finns det ingen prestationsvinst alls från detta. Faktum är att det kommer en liten prestandaförlust från överhuvudtaget för regulatorn för RAID. Detta är en något komplicerad kombination av både RAID-nivåerna 0 och nivå 1. Effektivt behöver styrenheten ha minst fyra enheter för att kunna fungera i det här läget, eftersom det som gör det är att göra två par enheter. Den första uppsättningen enheter är en speglad array som klonerna data mellan de två. Den andra uppsättningen enheter är också speglad men inställd för att vara den första stripen. Detta ger både data redundans och prestationsvinster. Nedan är ett exempel på hur data skulle skrivas över fyra enheter med hjälp av denna typ av inställning: För att vara ärlig är detta inte ett önskvärt sätt att RAID körs på ett datorsystem. Medan det ger en viss prestanda ökning är det verkligen inte så bra på grund av den stora summan av kostnader på systemet. Dessutom är det ett stort slöseri med rymden, eftersom frekvensomriktaren bara kommer att ha hälften av kapaciteten hos alla enheter i kombination. Om felaktiga enheter används, kommer prestandan att vara begränsad till den långsamaste av enheterna och kapaciteten blir bara dubbelt så liten som den minsta enheten. Detta är den högsta nivån av RAID som finns i konsumentdatorsystem och är en mycket effektivare metod för ökad kapacitet och redundans. Det uppnår detta genom en process med data-stripning med paritet. Minst tre enheter är nödvändiga för att göra detta eftersom data är uppdelad i ränder på flera av enheterna, men då är ett block över randen avsatt för paritet. För att förklara det här bättre kan vi först titta på hur data kan skrivas över tre enheter: I huvudsak tar drivregulatorn en bit av data som ska skrivas över alla enheter i arrayen. Den första biten av data placeras på den första enheten och den andra är placerad på den andra. Den tredje enheten får paritetsbiten som i huvudsak är en jämförelse av binärdata på den första och den andra. I binär matte har du bara 0 och 1. En booles matematikprocess görs för att jämföra bitarna. Om de två lägger till ett jämnt tal (0 + 0 eller 1 + 1) kommer paritetsbiten att vara noll. Om de två lägger till ett udda nummer (1 + 0 eller 0 + 1) kommer paritetsbiten att vara en. Anledningen till detta är att om en av enheterna misslyckas kan regulatorn ta reda på vad de saknade uppgifterna är. Till exempel, om en enhet misslyckas, lämnar du bara köra två och tre, och köra två har ett datablock av en och enheten tre har ett paritetsblock av en, då måste det saknade datablocket på enheten en vara noll. Detta ger en effektiv redundans för data som gör att alla data kan återställas vid ett fel på enheten. Nu för de flesta konsumentinställningar kommer ett fel fortfarande att leda till att systemet inte är för att det inte är i funktionell status. För att systemet ska kunna fungera är det nödvändigt att byta ut den misslyckade enheten med en ny enhet. Då måste en datauppbyggnadsprocess utföras på kontrollernivå som då gör en omvänd boolesfunktion för att återskapa data på den saknade enheten. Det kan ta lite tid, speciellt för större kapacitetsdrivningar men det är åtminstone återhämtningsbart. Kapaciteten hos en RAID 5-grupp beror nu på antalet enheter i arrayen och deras kapacitet. Återigen begränsas matrisen med den minsta kapacitetsdrivenheten i arrayen, så det är bäst att använda matchade enheter. Det effektiva lagringsutrymmet är lika med antalet enheter minus en gånger den lägsta kapaciteten. Så i matematiska termer är det (n-1) * Capacitymin . Så, om du har tre 2 GB-enheter i en RAID 5-serie, skulle den totala kapaciteten vara 4 GB. En annan RAID 5-serie som använde fyra 2 GB-enheter skulle ha 6 GB kapacitet. Nu är prestanda för RAID 5 lite mer komplicerat än några av de andra formerna av RAID på grund av den booleska processen som måste göras för att skapa paritetsbit när data skrivs till enheterna. Detta betyder att skrivprestanda blir mindre än en RAID 0-array med samma antal enheter. Läsprestanda, å andra sidan, lider inte lika mycket som skrivandet eftersom den booleska processen inte är klar för att den läser raka data från enheterna. Vi har diskuterat de olika fördelarna och nackdelarna för varje RAID-nivå som kan användas på persondatorer, men det finns ett annat problem som många inte inser när det gäller att skapa RAID-diskuppsättningar. Innan en RAID-inställning kan användas måste den först konstrueras antingen av hårdvarukontrollprogramvaran eller i operativsystemets programvara. Detta initierar i huvudsak den speciella formatering som krävs för att korrekt spåra hur data ska skrivas och läsas på enheten. Det här låter antagligen inte som ett problem men det är om du ens behöver ändra hur du vill att din RAID-array ska konfigureras. T ex säger att du kör låg data och vill lägga till en extra enhet för antingen RAID 0 eller RAID 5-array. I de flesta fall kommer du inte att kunna utan att först omkonfigurera RAID-arrayen som också tar bort någon av de data som lagrades i dessa enheter.Det innebär att du måste säkerhetskopiera dina data fullständigt, lägga till den nya enheten, omkonfigurera frekvensomriktaren, formatera den drivrutin och sedan återställa din ursprungliga data tillbaka till enheten. Det kan vara en extremt smärtsam process. Som ett resultat, se till att du verkligen har array-inställningen så som du vill första gången du gör det.RAID 1
Kör 1 Enhet 2 Block 1 1 1 Block 2 2 2 Block 3 3 3 RAID 1 + 0 eller 10
Kör 1 Enhet 2 Kör 3 Kör 4 Block 1 1 1 2 2 Block 2 3 3 4 4 Block 3 5 5 6 6 RAID 5
Kör 1 Enhet 2 Kör 3 Block 1 1 2 p Block 2 3 p 4 Block 3 p 5 6 Den stora utgåvan med alla RAID-inställningar




