RAID (redundante reeks onafhankelijke schijven) is een opslagtechnologie die meerdere schijfstationcomponenten combineert in een enkele logische eenheid, zodat deze zich als één schijf gedraagt wanneer deze is aangesloten op een andere hardware. RAID 1 biedt redundantie door middel van spiegeling, d.w.z. gegevens worden identiek geschreven aan twee schijven. RAID 0 biedt geen redundantie en gebruikt in plaats daarvan striping, d.w.z. gegevens worden over alle schijven verdeeld. Dit betekent dat RAID 0 geen fouttolerantie biedt; als een van de samenstellende schijfeenheden uitvalt, mislukt de RAID-eenheid.
RAID 0 | RAID 1 | |
---|---|---|
Belangrijk kenmerk | striping | mirroring |
striping | Ja; gegevens worden gelijkmatig over alle schijven in de RAID 0-opstelling gestreept (of gesplitst). | Nee; gegevens worden volledig opgeslagen op elke schijf. |
Spiegeling, redundantie en fouttolerantie | Nee | Ja |
Prestatie | In theorie biedt RAID 0 snellere lees- en schrijfsnelheden vergeleken met RAID 1. | RAID 1 biedt lagere schrijfsnelheden maar zou dezelfde leesprestaties kunnen bieden als RAID 0 als de RAID-controller multiplexen gebruikt om gegevens van schijven te lezen. |
toepassingen | Waar betrouwbaarheid van gegevens minder zorgwekkend is en snelheid belangrijk. | Waar gegevensverlies onaanvaardbaar is, b.v. Gegevensarchief |
Minimaal aantal fysieke schijven vereist | 2 | 2 |
Pariteitsschijf? | Niet gebruikt | Niet gebruikt |
voordelen | Snelheid: zeer snel lezen en schrijven; geen overhead voor pariteitsberekening. 100% schijfgebruik. | Geweldige prestaties, zelfs als schrijven iets trager is in vergelijking met RAID 0. Fouttolerantie met eenvoudig herstel (kopieer eenvoudig de inhoud van de ene schijf naar de andere) |
nadelen | Geen redundantie of fouttolerantie. Als een schijf in de RAID faalt, gaan alle gegevens verloren. | Opslagcapaciteit wordt effectief gehalveerd omdat twee kopieën van alle gegevens worden opgeslagen. Herstellen van een fout vereist het uitschakelen van de RAID zodat gegevens niet toegankelijk zijn tijdens het herstel. |
RAID 0 biedt striping zonder pariteit of spiegeling. striping betekent dat gegevens "gelijkmatig" worden verdeeld over twee of meer schijven. In een RAID 0-opstelling met twee schijven bijvoorbeeld, zouden de eerste, derde, vijfde (en dergelijke) gegevensblokken naar de eerste harde schijf worden geschreven en zouden de tweede, vierde, zesde (enzovoort) blokken worden geschreven naar de tweede harde schijf. Een nadeel van deze aanpak is dat als zelfs een van de schijven crasht, de hele RAID 0-installatie mislukt omdat gegevens niet meer kunnen worden hersteld. In technische termen wordt dit beschreven als een gebrek aan fouttolerantie.
Gegevensopslag in een RAID 0-opstelling Gegevensopslag in een RAID 1-opstellingEen RAID 1-opstelling is anders. Er is geen striping; de volledige gegevens zijn gespiegeld op elke schijf. Dit resulteert in meerdere kopieën van gegevens (overtolligheid). En als een van de schijven faalt, kunnen de gegevens nog steeds worden hersteld omdat deze nog intact is op de tweede schijf (de meeste RAID 1-setups gebruiken slechts 2 schijven, hoewel sommige meer kunnen gebruiken), wat betekent dat RAID 1 fouttolerant is.
Hier is een goede video waarin het verschil tussen RAID 0 en RAID 1-arrays wordt uitgelegd (een kortere video van dezelfde persoon staat hier op YouTube):
RAID 1 biedt een hogere betrouwbaarheid vanwege redundantie; zelfs als een van de schijven helemaal niet werkt, zijn er nog steeds gegevens beschikbaar. RAID-arrays beschermen echter niet de gegevens tegen bitrot - het geleidelijke verval in opslagmedia waardoor willekeurige bits op de harde schijf worden gekanteld en de gegevens worden beschadigd. Moderne bestandssystemen zoals ZFS en Btrfs beschermen tegen bitrot via controlesommen per blok, en moeten worden gebruikt door mensen die hun gegevens al jarenlang serieus willen beschermen:
Het is een veel voorkomende misvatting om te denken dat RAID gegevens beschermt tegen corruptie omdat het redundantie introduceert. De realiteit is precies het tegenovergestelde: traditionele RAID verhoogt de kans op datacorruptie omdat het meer fysieke apparaten introduceert met meer dingen die fout kunnen gaan. Waar RAID je voor beschermt, is gegevensverlies door het onmiddellijke falen van een schijf. Maar als de schijf niet zo verplicht is om gewoon beleefd op je te sterven en in plaats daarvan slechte gegevens gaat lezen en / of schrijven, krijg je nog steeds die slechte gegevens. De RAID-controller kan niet weten of de gegevens slecht zijn, omdat pariteit op basis van per-stripes en niet per blok wordt geschreven. In theorie (in de praktijk wordt pariteit niet altijd strikt gecontroleerd bij elke leesactie), een RAID-controller kan u vertellen dat de gegevens in een streep corrupt waren, maar er is geen manier om te weten of de feitelijke corrupte gegevens zich op een gegeven moment bevonden rijden.
RAID 0 biedt zeer snelle schrijftijden omdat de gegevens parallel aan verschillende schijven worden gesplitst en geschreven. Schrijfbewerkingen naar een RAID 1-eenheid zijn langzamer in vergelijking met RAID 0, maar ongeveer hetzelfde als naar een enkele schijf schrijven. Dit komt omdat de volledige gegevens naar twee schijven worden geschreven, maar parallel.
Lezingen zijn ook erg snel in RAID 0. In ideale scenario's is de overdrachtssnelheid van de array de overdrachtssnelheid van alle schijven bij elkaar opgeteld en alleen beperkt door de snelheid van de RAID-controller. Lezen van RAID 1 kan al dan niet een dergelijke prestatieverbetering bieden, afhankelijk van de RAID-controller. "Slimme" controllers splitsen de leestaak op een manier die gebruikmaakt van gegevensredundantie en leest verschillende blokken van verschillende schijven. Dit biedt een prestatieverbetering vergelijkbaar met RAID 0 maar voor controllers die niet in staat zijn tot multiplexen, leessnelheden en ongeveer hetzelfde zijn als een enkele harde schijf.
De totale beschikbare opslagruimte voor de RAID 0-eenheid is eenvoudigweg de som van de opslagcapaciteit van afzonderlijke schijven omdat er geen redundantie is. In het geval van een RAID 1-array is er echter sprake van replicatie van gegevens, wat betekent dat de totale opslagcapaciteit van de eenheid dezelfde is als die van één harde schijf.
RAID 1 is een betere keuze als betrouwbaarheid een probleem is en u gegevensverlies wilt voorkomen. Een typisch voorbeeld is behoefte aan gegevensarchivering. RAID 0 is een betere keuze in scenario's waarbij een groot volume aan snelle opslag nodig is. Als u bijvoorbeeld ongecomprimeerde HD-video over HDSDI vastlegt en deze rechtstreeks op een harde schijf opneemt, moet u zeer snel schrijven en een grote capaciteit gebruiken. Een ander voorbeeld zijn grote databases met logboeken of andere informatie met een groot aantal leesbewerkingen.
RAID-niveaus 0 en 1 kunnen worden gecombineerd om een reeks spiegels - RAID 10 - of een spiegel met strepen (RAID 01) te maken. Dit worden geneste RAID-niveaus genoemd.
RAID 01 geneste configuratie RAID 10-configuratieRAID 10 is fouttoleranter dan RAID 01, dus wordt het veel gebruikt; RAID 01 wordt bijna nooit gebruikt omdat RAID 10 daar superieur aan is terwijl hetzelfde aantal schijven wordt gebruikt.