Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren.
Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies.
Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.
De term 'RAID', Redundant Arrays of Inexpensive Disks, vindt haar oorsprong in de Universiteit van Californië op Berkeley. Op 1987 bogen een aantal onderzoekers zich over een goedkope oplossing voor een snelle doch veilige opslagsysteem. In die tijd waren grote, snelle en zeer betrouwbare harde schijven relatief duur, je mag gerust spreken van prijsverschillen in tienvoud. Het idee achter RAID is om een aantal goedkope kleine schijven samen te laten werken als één grote schijf. Al die kleine schijven bij elkaar waren toentertijd goedkoper dan één grote schijf van dezelfde capaciteit.
Preventie dataverlies: wanneer je meerdere schijven bij elkaar als één schijf laat werken, wordt de (gezamelijke) kans groter dat een schijf overlijdt en dat daarmee gepaard dataverlies optreedt. De betrouwbaarheid van zulke schijfconfiguraties werd dan verhoogd met behulp van RAID.
Verschillende configuraties: in de loop van de tijd waren er steeds verschillende RAID configuraties onderzocht en ontwikkeld. Elke RAID configuratie heeft zo haar eigen voor- en nadelen, welke kunnen worden afgewogen tegen de eisen en doelstellingen van het opslagsysteem. Bijvoorbeeld Databaseservers hebben naast een zo optimaal mogelijk benut opslagcapaciteit een grotere eis met betrekking tot leessnelheid dan tot schrijfsnelheid, in dit geval is RAID5 een geschikte oplossing. Videobewerking daarentegen vereist naast een snelle leessnelheid ook nog een snelle schrijfsnelheid, hiervoor is RAID 01 of 10 (ook wel 0+1 respectievelijk 1+0 genoemd) uitermate geschikt.
Van goedkoop naar onafhankelijk: eind de jaren negentig waren de prijsverschillen tussen de kleine en grote harde schijven steeds kleiner; tegenwoordig is het zelfs zo dat bijvoorbeeld één 40GB harde schijf goedkoper is dan twee 20GB harde schijven. Mede daardoor was de term Inexpensive (goedkoop) in RAID een beetje misplaatst, deze werd langzamerhand dan ook gewijzigd in Independent (onafhankelijk).
Er zijn veel verschillende manieren om een RAID array (samenwerkende harde schijven) te configureren, hieronder vallen de volgende methoden: mirroring (kopieren), striping (verdelen) en parity check (berekening van de pariteit bit). De verschillende manieren om een array te maken worden levels genoemd. De levels worden weer onderverdeeld in single en multiple levels, afhankelijk van de gebruikte RAID methode. Zo is de single level RAID 0 louter striping en is de multiple level RAID 15 een combinatie van mirroring (1) en parity check (5).
Twee mogelijkheden: de multiple levels worden dus aangeduid door de twee single levels samen te voegen, zoals dat de multiple level RAID 10 een combinatie is van de single levels RAID 0 en RAID 1. Maar de multiple level RAID 01 is óók een combinatie van dezelfde single levels. Het verschil zit 'em in de configuratie:
RAID 01
-
verdeel acht harde schijven in twee RAID 0 arrays
-
nu heb je twee virtuele harde schijven
-
laat de twee virtuele harde schijven in RAID 1 lopen
RAID 10
-
verdeel acht harde schijven in vier RAID 1 arrays
-
nu heb je vier virtuele harde schijven
-
laat de vier virtuele harde schijven in RAID 0 lopen
Het verschil is simpel: hardwarematige RAID controllers hebben een eigen processor en vaak ook eigen cache geheugen. De softwarematige controllers maken gebruik van de processor en het geheugen op het moederbord. Hardwarematige controllers zijn over het algemeen sneller, maar ook duurder.
HardwareRAID: dankzij een gespecialiseerde I/O processor zijn praktisch alle RAID levels met pariteitsberekeningen (RAID3, RAID5, RAID15, etc) sneller op hardwarematige controllers dan op softwarematige controllers. Bij RAID0, RAID1, RAID10 en JBOD is een hardwarematige controller in principe geldverspilling. De snelheidsverschil is haast nihil en soms zelfs in het voordeel van de softwarematige oplossing.
SoftwareRAID: de gangbare Promise en Highpoint chipjes/kaartjes (FT100/FT133/HPT370/HPT374/etc) zijn allemaal softwarematige RAID controllers. Het maakt nog steeds misbruik van de CPU en het geheugen op het moederbord. De echte hardwarematige RAID controllers maken allemaal gebruik van een éigen CPU en éigen geheugenruimte (nooit afgevraagd waarom die 'zware' RAID controllers in verhouding erg duur zijn? ).
Twee soorten SoftwareRAID: je hebt wel twee soorten softwarematige RAID. De ene wordt gestuurd via de BIOS/drivers, zoals bij de welbekende Promise en Highpoint controllers (ook wel firmware RAID genoemd), en de andere wordt louter via gespecialiseerde software gestuurd, zoals die is geïntegreerd in Win2K/XP. Met het eerste heb je het voordeel dat je van elk denkbaar RAID array kunt booten, bij de tweede kun je alleen booten van een mirror, terwijl de striped array's pas benaderbaar zijn wanneer het hele besturingssysteem is opgestart. Zie voor meer achtergrondinformatie ook dit gedeelte van OM FAQ: Basic vs Dynamic disks.
Prestatieverschillen: de prestaties tussen deze twee vormen van software RAID verschillen nauwelijks. In ieder geval is de tweede vorm over het algemeen beter schaalbaar. Oftewel een extra schijf levert een snelheidstoename op wat haast gelijk is aan de snelheid van desbetreffende schijf.
MultiRAID: een ander groot voordeel van OS-based software RAID onder Win2K/XP is dat je meerdere RAID levels door elkaar heen kunt gebruiken en dan wel RAID0, RAID1 en RAID5, al dan niet met behulp van een kleine Hack. Zie ook onderstaand screenshot:
Een dergelijke configuratie is niet mogelijk met een hardware danwel firmware RAID controller. Intel biedt met haar ICH6 southbridge (welke in de Intel 9xx chipsets voorkomt) wel de mogelijkheid om een RAID0 én een RAID1 array op 2 schijven te indelen. Maar daar blijft het ook bij.
Review: in BalusC's review van de Mylex AcceleRAID 600 zijn ook enkele SoftwareRAID benchmarks meegenomen ter vergelijk met de HardwareRAID scores: [Review] Mylex AcceleRAID 600
Velen denken dat Spanning ook onder RAID valt, maar het tegendeel is waar. Spanning is zo ongeveer het tegengestelde van meerdere partities op één harde schijf: één partitie bestaande uit meerdere harde schijven. De manier van het lezen en schrijven van de data blijft onveranderd; er treedt dus geen mirroring, striping en parity check op. Wanneer de eerste harde schijf is volgeschreven, dan wordt er simpelweg aan de volgende harde schijf begonnen en ga zo voorts. Spanning wordt overigens ook weleens JBOD genoemd: Just a Bunch Of Disks.
Ja, dat kan. Gewoon even de HDD aan de controller hangen. Bij sommige RAID controllers (bijv. Highpoint) hoef je verder niks te doen, terwijl je bij andere RAID controllers (bijv. oudere Promise exemplaren) eerst een array moet toewijzen eer je van de HDD gebruik kan maken. Duik hiertoe de RAID BIOS in, selecteer de harddisk en maak een single-disk RAID0/1/whatever array aan
Jumpertje: op de modernere moederborden hoef je zelfs slechts een jumpertje te omzetten om de RAID controller om te zetten in een normale IDE controller. Zie de handleiding van het moederbord voor meer details.
Ja, dat kan Alleen moet je rekening houden met het feit dat de grootte en de snelheid van de kleinste resp langzaamste schijf bepalend is voor de totale grootte en snelheid. Stel, je hebt een 20GB 5400rpm 2MB cache schijf en een 40GB 7200rpm 8MB cache schijf en je wilt deze in RAID0 laten draaien. Er wordt dan slechts 20GB van de 40GB schijf benut en de totale snelheid is ongeveer tweemaal de snelheid van de 5400rpm schijf. De schijfcache blijft onaangeroerd.
SoftwareRAID: mocht je in het geval van verschillende schijfgroottes de beschikbare schijfruimte 100% te willen benutten, dan ben je beter af met OS-based software RAID onder Win2K/XP. Zie ook Hardware of Software?
Bij zuivere mirrors (RAID1) is dat tot zover bekend geen probleem. Je hoeft enkel de array te verhuizen en eventueel in de BIOS de bronschijf opnieuw rebuilden naar de mirrorschijf. Maar bij RAID levels waarbij striping wordt gebruikt (RAID0, RAID5, RAID10, etc) is dat minder makkelijk. De stelregel is:
zelfde merk/type > zelfde merk/type = geen probleem
zelfde merk, ene type > andere type = geen probleem, meestal alleen "forward compatible"
ene merk > andere merk = no-go
Forward compatible: met "forward compatible" wordt er dus bedoeld, dat wanneer je de schijven verplaatst van een oudere controller (bijv. Promise Fasttrak66) naar een nieuwere type controller van hetzelfde merk (bijv. Promise Fasttrak133), dat de array gewoon opnieuw wordt herkend en de data dus behouden blijft. Omgekeerd gaat dat niet altijd.
Dat hangt ervan af: wanneer je OS-based SoftwareRAID gebruikt, dan is het totaal geen probleem. Een voorwaarde is wel dat je Windows 2000 of XP draait. Soms laat de schijf zich niet zien, dan zul je deze even via de schijfbeheer moeten "importeren", dat wijst normaal gesproken vanzichzelf uit. Wanneer je daarentegen FirmwareRAID of HardwareRAID draait, dan geldt hiervoor de punt hierboven: Kan ik veranderen van RAID controller met behoud van data? De beste aanpak is dus: aan dezelfde controller hangen en dan uitlezen.
Dat hangt af van de RAID controller. De meeste controllers ondersteunen de uitbreiding van een bestaande RAID array met extra schijf/schijven zonder dataverlies alleen bij single RAID levels met een pariteit (RAID3/4/5/etc). Enkele controllers, vooral de duurdere exemplaren (Areca bijvoorbeeld), ondersteunen uitbreidingen bij alle denkbare levels. Dat is normaliter wel in de handleiding van de controller terug te vinden en het is vooralsnog niet mogelijk bij firmware RAID en software RAID. Het zonder dataverlies uitbreiden van een enkele schijf naar een RAID array is in het algemeen alleen mogelijk bij mirrors (RAID1) en dat wordt door praktisch alle controllers ondersteund, ook door firmware RAID en software RAID. De duurdere controllers (Areca bijvoorbeeld) kunnen zonder dataverlies van een enkele schijf naar een willekeurige RAID array omgezet worden.
Dat is alleen mogelijk met specifieke hardware- en firmware controllers, bijvoorbeeld die van Areca, Intel en Promise. Dat is gewoonlijk wel in de specificaties en de handleiding van de controller terug te vinden. Dit eigenschap wordt gewoonlijk "RAID level migration" genoemd. Bij andere software/firmware/hardware controllers die het niet ondersteunen moet je dus backuppen naar andere harddisk(s) CD's, DVD's en/of tapes, de array breken, een nieuwe array bouwen en vervolgens de backup terugzetten.
Kort: cluster size geldt voor de partitie en block size (ook wel stripe size genoemd) geldt voor de array. Hieronder volgt een iets diepzinnigere uitleg.
Partitie: bij een cluster size van bijvoorbeeld 4KB wordt de data wordt per blokjes van 4KB over de partitie verdeeld. Stel: je hebt een bestand van 10KB, dan zullen er 3 volledige clusters in beslag worden genomen: 4KB - 4KB - 2KB. De resterende 2KB wordt slackspace genoemd en kan niet gevuld worden met andere bestanden.
Schijven: bij een block size van bijvoorbeeld 64KB wordt de data wordt per blokjes van 64KB over de schijven verdeeld. Stel: je hebt een bestand van 200KB en een 2-disk RAID0 array, dan komt eerst 64KB op schijf A, daarna 64KB op schijf B, daarna weer 64KB op schijf A en tenslotte de resterende 8KB op schijf B. Hierbij is geen sprake van de zgn slackspace. De block size staat boven de cluster size, dus deze blokken worden weer onderverdeeld over clusters
Prestaties: de block size is overigens minder relevant bij mirrors. Maar bij stripes is een grotere block size van minimaal 128KB sneller wanneer je veel met grote bestanden werkt (audio/video, etc). En een kleinere block size van maximaal 128KB is dan weer sneller wanneer je veel met kleine bestanden werkt (Word documenten, mailtjes, Operating System, etc).
Bij sommige RAID controllers zie je ook de BIOS optie 'Chunk size' staan. Dat is de minimale grootte van een datarequest dat de controller aan een schijf van een RAID config kan doen. Het is alleen nuttig bij RAID configs waarin striping wordt gebruikt (RAID0, RAID5, RAID10, etc.. en dus niet bij RAID1 - mirroring).
Voorbeeldje: hier heb je even een simpel voorbeeldje van de werking van Chunk size: stel, je hebt een 2-disk RAID0 config met een block size (stripesize) van 16KB en je wil daarvan een bestand van 1MB lezen. De controller moet dus 64 maal een blok van 16KB uitlezen. Bij een chunk size van 32KB wordt dus eerst twee blokken (chunk size / block size = 32/16 = 2) bij de ene schijf uitgelezen, daarna 2 blokken bij de andere schijf en dan weer 2 blokken bij de ene schijf etcetera. Bij een chunk size van 128KB wordt dus omstebeurt 128/16 = 8 blokken bij de schijven uitgelezen
Prestaties: wat betreft performance, hier geldt hetzelfde als bij de block size/stripesize: wanneer je veel met grote bestanden werkt (audio/video, etc), dan is een grotere chunk size sneller. Een kleinere chunk size is dan weer sneller wanneer je veel met kleine bestanden werkt (Word documenten, mailtjes, Operating System, etc). Ook geldt: hoe sneller de schijfconfig is (SCSI, SATA, IDE schijven op aparte kanalen, etc), hoe kleiner de chunk size kan zijn, zonder dat je performanceverlies bemerkt bij grote bestanden t.o.v. de kleine bestanden.
Broken RAID Arrays, terwijl de schijven in orde zijn: deze kun je meestal nog wel herstellen door nogmaals exact dezelfde RAID array in de BIOS van de controller te instellen. Verder zijn er (freeware) tooltjes beschikbaar wanneer je serieuze Broken RAID Array problemen hebt. Kijk eens op de Highpoint RAID Controller FAQ van Sudhian.com. Een groot deel van deze tips werken ook met de andere merken RAID controllers. De datarecoverytooltjes UFS Explorer en R-Studio kunnen trouwens ook met broken RAID arrays werken. Met het RAID Reconstructor tooltje kun je een image maken van een broken RAID array, waarna je GetDataBack erop los kan laten.
Hieronder worden enkele aan RAID gerelateerde termen nader toegelicht:
bit
-
een bit is gelijk aan 0 óf 1
byte
-
een byte is gelijk aan acht bits
data
-
alle data dat wordt opgeslagen bestaat uit bits, dat zijn dus allemaal enen en nullen
redundant
-
de data wordt meer dan één keer vastgelegd door mirroring en/of pariteit
mirroring
-
de data wordt exact gekopieërd naar een andere schijf
pariteit
-
dat is grof gezegd de som van de data, stel: er valt een schijf uit, dan kan de oorspronklijke data met behulp van de bestaande data en de pariteit worden achterhaald
striping
-
de data wordt in meerdere stukken gesplitst en verdeeld over meerdere schijven, zuivere striping (zonder enige vorm van mirroring en pariteit) is géén vorm van redundantie
block
-
een block is een deel van de data met een vaste grootte, dit kan 4KB, 8KB, 16KB, 32KB, etc. zijn
array
-
een groep harde schijven dat als één harde schijf werkt
De verschillende vormen van opslag worden hierna ook nader toegelicht:
bit-level striping
-
de data wordt per bit verdeeld over meerdere schijven
byte-level striping
-
de data wordt per (kilo)byte verdeeld over meerdere schijven
block-level striping
-
de data wordt per block verdeeld over meerdere schijven
aparte pariteit
-
de pariteit wordt vastgelegd in één afzonderlijke schijf
In feite mag RAID 0 niet tot RAID worden gerekend, omdat pure striping niet Redundant is. Immers, de data wordt simpelweg zonder enige vorm van extra controle verdeeld over de schijven. Dat verklaart ook min of meer de benaming van deze level: RAID 0 (nul).
Bij RAID 0 wordt de data in blokjes verdeeld en elk blokje komt telkens op een andere harde schijf terecht. De grootte van deze blokken zijn vooraf instelbaar. Geen redundancy betekent ook geen bescherming van de data; mocht er een harde schijf uitvallen, dan ben je al je data kwijt.
Eigenschap
Beschrijving
controller eisen
ondersteund door praktisch elke controller, zowel SCSI als IDE
aantal schijven
minimaal twee harde schijven, het maximum is afhankelijk van de controller
array capaciteit
(grootte van kleinste schijf) x (aantal schijven)
bruikbare opslagruimte
100%, indien identieke schijven worden gebruikt
fout tolerantie
geen, alle data gaat verloren bij de minste geringste fout
beschikbaarheid
laagst van alle RAID levels, door het ontbreken van fout tolerantie is er relatief veel tijd nodig om alles te herstellen
degradatie en herstel
niet van toepassing
random leessnelheid
zeer goed, op haar best als je een grotere blok grootte gebruikt
random schrijfsnelheid
zeer goed, op haar best als je een grotere blok grootte gebruikt
sequentiële leessnelheid
uitmuntend
sequentiële schrijfsnelheid
zeer goed
kosten
laagst van alle RAID levels
toepassing
onbelangrijke data, zoals data dat continu aan veranderingen onderhevig is, audio en video, webservers, zware spelletjes en virtueel geheugen
Bij RAID 1 wordt de data gekopieerd naar twee harde schijven, waardoor er op elke harde schijf exact dezelfde data staat. Dit verhoogt de veiligheid; immers, als de ene harde schijf kapot gaat, dan heb je nog altijd een backup ervan op de andere harde schijf.
Eigenschap
Beschrijving
controller eisen
ondersteund door praktisch elke controller, zowel SCSI als IDE
aantal schijven
twee harde schijven
array capaciteit
grootte van kleinste schijf
bruikbare opslagruimte
50%, indien identieke schijven worden gebruikt
fout tolerantie
zeer goed, er is zogezegd een realtime backup
beschikbaarheid
zeer goed, de meeste controllers ondersteunen automatische herstel van de data
degradatie en herstel
degradatie brengt de prestatie niveau tot de niveau van een enkele harde schijf en herstel is relatief snel
random leessnelheid
goed, beter dan een enkele harde schijf, maar slechter dan de meeste RAID levels
random schrijfsnelheid
goed, beter dan een enkele harde schijf, maar slechter dan de meeste RAID levels
sequentiële leessnelheid
voldoende, ongeveer dezelfde als een enkele harde schijf
sequentiële schrijfsnelheid
goed, beter dan de meeste RAID levels
kosten
relatief hoog, door de beperkte opslag capaciteit
toepassing
belangrijke data, zoals boekhoudingen, kleine databaseservers, thuisgebruikers met mp3, divx, etc.
De RAID level 1.5 is ontwikkeld door Highpoint en is in principe een 'veredelde' vorm van mirroring. Highpoint claimt hiermee de schrijfsnelheid van RAID1 te kunnen combineren met de relatief hoge leessnelheid van RAID0. Een beetje intelligente controller zou dat in principe inderdaad moeten kunnen bereiken. Maar de praktijk met de tot zover als enig beschikbare RAID1.5 controller Highpoint HPT372N laat anders zien: het performeert praktisch dezelfde als RAID1.
De eigenschappen komen voorlopig volledig overeen met die van RAID1. Misschien dat dit in de toekomst verandert wanneer er beter afgestelde controllers op de markt komen, waarbij de leessnelheid ook daadwerkelijk die van RAID0 benadert.
Bij RAID 2 wordt ECC (Error Correcting Code) gebruikt om de fouten in de data te controleren en eventueel te corrigeren. Dit is vergelijkbaar met de welbekende ECC geheugenreepjes. De striping geschiedt niet per data blok, maar per data bit, wat het allerkleinste deel van de data is. Als er zich een fout in een enkele bit voordoet, dan kan het 'on the fly' (zonder vertraging) worden gecorrigeerd.
Deze RAID level is nooit echt groot geworden. Het is erg duur en er zijn na RAID 2 ook nog andere levels met parity check ontworpen, welke simpelweg superieur zijn aan RAID 2.
Eigenschap
Beschrijving
controller eisen
gespecialiseerde controller met ECC processor vereist (zeldzaam)
aantal schijven
afhankelijk van de controller, een veel voorkomende configuratie bestaat uit 10 harde schijven voor data en 4 harde schijven voor ECC (10+4), verder zijn er ook 32+7 configuraties (39 harde schijven!)
array capaciteit
afhankelijk van de controller, bij 10+4 zijn dat dus 10 harde schijven
bruikbare opslagruimte
afhankelijk van de controller, bij 10+4 is dat 71%
fout tolerantie
voldoende
beschikbaarheid
zeer goed, voornamelijk door de 'on the fly' foutcorrectie
degradatie en herstel
degradatie heeft een relatief kleine invloed en herstel is relatief snel
random leessnelheid
voldoende, door de bit level striping is het niet mogelijk om de schijven tegelijk te benaderen
random schrijfsnelheid
slecht, door de bit level striping en ECC berekeningen
sequentiële leessnelheid
zeer goed, door het grote aantal schijven
sequentiële schrijfsnelheid
voldoende
kosten
erg hoog, door het grote aantal schijven en een gespecialiseerde controller
toepassing
afgeschreven, doordat er erg hoge kosten aan verbonden zijn en door de relatief slechte prestaties wordt RAID 2 tegenwoordig niet meer gebruikt in moderne systemen
De data wordt bij RAID 3 gesplitst in stukjes van kleiner dan 1KB, waarvan de precieze grootte afhankelijk is van de controller. Deze stukjes worden vervolgens verspreid over verschillende schijven, terwijl er zich een pariteit controle op een aparte schijf plaatsvindt.
Soms is er verwarring met RAID 4, aangezien dat de principe nagenoeg gelijk is. Echter, er is wel een fundamenteel verschil, bij RAID 4 wordt de data in blokken van groter dan 4KB gesplitst. De blokgroottes van RAID 4 zijn ook nog zelf naar eigen smaak in te stellen.
Eigenschap
Beschrijving
controller eisen
gespecialiseerde controller vereist
aantal schijven
minimaal drie harde schijven, het maximum is afhankelijk van de controller
array capaciteit
(grootte van kleinste schijf) x (aantal schijven - 1)
bruikbare opslagruimte
(aantal schijven - 1) / (aantal schijven), indien identieke schijven worden gebruikt
fout tolerantie
goed, kan verlies van een hele schijf tolereren
beschikbaarheid
zeer goed, hot spare en automatisch herstel zijn gewoonlijk standaard
degradatie en herstel
degradatie heeft een relatief kleine invloed en herstel duurt relatief lang
random leessnelheid
goed, maar niet zeer goed, door de byte level striping
random schrijfsnelheid
slecht, door de byte level striping en pariteit berekeningen
sequentiële leessnelheid
zeer goed
sequentiële schrijfsnelheid
voldoende
kosten
vallen best wel mee
toepassing
grote bestanden, zoals multimedia en grote databases
Terwijl bij RAID 3 de data op byte-level wordt gestript, wordt de data bij RAID 4 in blokken verdeeld, waarvan de grootte vooraf instelbaar is. Dat vergroot de random lees- en schrijfsnelheden, maar het verkleint de sequentiële lees- en schrijfsnelheden.
Eigenschap
Beschrijving
controller eisen
gespecialiseerde controller vereist
aantal schijven
minimaal drie harde schijven, het maximum is afhankelijk van de controller
array capaciteit
(grootte van kleinste schijf) x (aantal schijven - 1)
bruikbare opslagruimte
(aantal schijven - 1) / (aantal schijven), indien identieke schijven worden gebruikt
fout tolerantie
goed, kan verlies van een hele schijf tolereren
beschikbaarheid
zeer goed, hot spare en automatisch herstel zijn gewoonlijk standaard
degradatie en herstel
degradatie heeft een relatief kleine invloed en herstel duurt relatief lang
random leessnelheid
zeer goed, op haar best als je een grotere blok grootte gebruikt en als de controller de schijven onafhankelijk van elkaar kan benaderen
random schrijfsnelheid
voldoende, door de pariteit berekeningen
sequentiële leessnelheid
goed
sequentiële schrijfsnelheid
voldoende
kosten
vallen best wel mee
toepassing
wordt als een compromis gezien tussen RAID 3 en RAID 5
Dat is een van de meest populaire RAID levels. Het lijkt op RAID 4, maar de pariteit is in dit geval ook met de data mee verspreid over de schijven. Je kunt zo ongeveer spreken van een gestripte pariteit. Dat heeft een positieve invloed op de schrijfsnelheden.
Eigenschap
Beschrijving
controller eisen
gespecialiseerde controller vereist
aantal schijven
minimaal drie harde schijven, het maximum is afhankelijk van de controller
array capaciteit
(grootte van kleinste schijf) x (aantal schijven - 1)
bruikbare opslagruimte
(aantal schijven - 1) / (aantal schijven), indien identieke schijven worden gebruikt
fout tolerantie
goed, kan verlies van een hele schijf tolereren
beschikbaarheid
zeer goed, hot spare en automatisch herstel zijn gewoonlijk standaard
degradatie en herstel
beiden voldoende, niet te langzaam, maar ook niet snel
random leessnelheid
uitmuntend, op haar best als je een grotere blok grootte gebruikt
random schrijfsnelheid
voldoende, door de pariteit berekeningen, maar nog altijd beter dan RAID 3 en 4
sequentiële leessnelheid
zeer goed, op haar best als je een grotere blok grootte gebruikt
sequentiële schrijfsnelheid
voldoende
kosten
vallen best wel mee
toepassing
algemeen, van kleine webservers tot grote databaseservers, maar wanneer er een grotere schrijfsnelheid wordt vereist, ben je beter af met RAID 10
Je kunt RAID 6 ook 'RAID 5 met een extra pariteit' noemen. Verder zijn er geen noemenswaardige verschillen, zij het dan dat de lees- en schrijfsnelheid iets minder is dan bij RAID 5.
Eigenschap
Beschrijving
controller eisen
gespecialiseerde controller vereist
aantal schijven
minimaal vier harde schijven, het maximum is afhankelijk van de controller
array capaciteit
(grootte van kleinste schijf) x (aantal schijven - 2)
bruikbare opslagruimte
(aantal schijven - 2) / (aantal schijven), indien identieke schijven worden gebruikt
fout tolerantie
uitmuntend, kan verlies van twee hele schijven tolereren
beschikbaarheid
uitmuntend
degradatie en herstel
beiden voldoende, niet te langzaam, maar ook niet snel
random leessnelheid
zeer goed, op haar best als je een grotere blok grootte gebruikt
random schrijfsnelheid
slecht, door de dubbele pariteit berekeningen
sequentiële leessnelheid
goed, op haar best als je een kleinere blok grootte gebruikt
sequentiële schrijfsnelheid
voldoende
kosten
relatief hoog, door de beperkte opslag capaciteit
toepassing
in feite net als RAID 5, maar dan betrouwbaarder, alhoewel RAID 6 toch niet vaak wordt gebruikt dankzij hot spare mogelijkheden bij RAID 5
Deze bijzondere level is een gepatenteerd product van Storage Computer. Het is in principe gewoon een HDD-kastje met een enorm snelle RAID4 "controller" (mini-mobo, mini-CPU, wat cache geheugen, gespecialiseerd Firmware/OS). Je kunt zo'n ding een realtime-RAID4 controller noemen; je hebt in principe geen tijdverlies bij het schrijven/lezen van de schijven. Storage Computer heeft er een patent op genomen en "RAID7" genoemd. Het was verkrijgbaar onder de noemers StorageSuite en OmniRAID.
Eigenschap
Beschrijving
controller eisen
gespecialiseerde controller met processor en cache vereist
aantal schijven
minimaal drie harde schijven, het maximum is afhankelijk van de controller
array capaciteit
(grootte van kleinste schijf) x (aantal schijven - 1)
bruikbare opslagruimte
(aantal schijven - 1) / (aantal schijven), indien identieke schijven worden gebruikt
fout tolerantie
goed, kan verlies van een hele schijf tolereren
beschikbaarheid
uitmuntend, mede door het gebruik van meerdere hot spares
degradatie en herstel
veel beter dan alle RAID levels, door hardwarematige ondersteuning
random leessnelheid
uitmuntend, op haar best als je een grotere blok grootte gebruikt
random schrijfsnelheid
zeer goed, mede door de cache
sequentiële leessnelheid
uitmuntend, op haar best als je een grotere blok grootte gebruikt
sequentiële schrijfsnelheid
zeer goed
kosten
erg hoog, door het gebruik van een controller met een gespecialiseerde processor en cache
toepassing
voor diegenen die de beste van het beste willen, maar minderbedeelden kunnen nog altijd ruimschoots mee met RAID 10
De meest populaire multiple level RAID zijn zonder twijfel RAID 01 en RAID 10. Vooral RAID 10, maar soms ook RAID 01, worden ook ondersteund door goedkopere controllers, waardoor deze RAID levels ook toegankelijk zijn voor de kleinbehuisde particulier. Deze RAID levels zijn een uitstekende combinatie van de snelle RAID 0 en de veilige RAID 1, wat resulteert op een relatief snel, doch veilig systeem. En dat allemaal zonder noodzaak tot een dure controller om de pariteits berekeningen uit te voeren.
De verschillen tussen deze twee levels zijn niet wereldschokkend groot, maar over het algemeen heeft RAID 10 een betere fout tolerantie en een snellere herstel van data dan RAID 01. Dat komt vooral doordat er bij RAID 01 eerst gemirrored en dan gestript wordt; mocht er wat data verloren gaan, dan moet er opnieuw worden gemirrored én gestript. Bij RAID 10 hoeft er vaak alleen te worden gemirrored.
Eigenschap
Beschrijving
controller eisen
meestal wordt alleen RAID 01 ondersteund, terwijl de duurdere controllers de beide levels ondersteunen
aantal schijven
een even aantal harde schijven met een mininum van vier, het maximum is afhankelijk van de controller
array capaciteit
(grootte van kleinste schijf) x ((aantal schijven) / 2)
bruikbare opslagruimte
50%, indien identieke schijven worden gebruikt
fout tolerantie
zeer goed voor RAID 01 en uitmuntend voor RAID 10
beschikbaarheid
zeer goed voor RAID 01 en uitmuntend voor RAID 10
degradatie en herstel
degradatie en herstel hebben een relatief kleine invloed op RAID 10 en is wat groter bij RAID 01
random leessnelheid
zeer goed, op haar best als je een grotere blok grootte gebruikt
random schrijfsnelheid
goed, op haar best als je een grotere blok grootte gebruikt
sequentiële leessnelheid
zeer goed
sequentiële schrijfsnelheid
goed
kosten
relatief hoog, door de beperkte opslag capaciteit
toepassing
belangrijke data dat snel verkrijgbaar is, zoals enterprise servers, grotere databaseservers en de thuisgebruiker met mp3, divx, etc.
De RAID levels 03 en 30 maken gebruik van de snelheid van een dubbele stripe en de veiligheid van de pariteit. Bij RAID 03 worden de datablokken die uit RAID 3 komen op hun beurt weer gestript door RAID 0, terwijl dat bij RAID 30 precies omgekeerd is. Velen noemen RAID 30 ook wel RAID 53, wat helemaal onjuist is. De data ondergaat eerst een zuivere stripe, RAID 0 dus, voordat de pariteit wordt berekend door RAID 3.
De verschillen zijn hier ook marginaal. RAID 30 wint met een kleine marge door de grotere fout tolerantie en een snellere herstel van data.
Eigenschap
Beschrijving
controller eisen
gespecialiseerde controller vereist
aantal schijven
minimaal zes harde schijven, het maximum is afhankelijk van de controller
array capaciteit
RAID 03: (grootte van kleinste schijf) x (aantal schijven in een RAID 0 set) x ((aantal RAID 0 sets) - 1) RAID 30: (grootte van kleinste schijf) x ((aantal schijven in een RAID 3 set) - 1) x (aantal RAID 3 sets)
bruikbare opslagruimte
RAID 03: ((aantal RAID 0 sets) - 1) / (aantal RAID 0 sets) RAID 30: ((aantal schijven in een RAID 3 set) - 1) / (aantal schijven in een RAID 3 set)
fout tolerantie
goed voor RAID 03 en zeer goed voor RAID 30
beschikbaarheid
zeer goed
degradatie en herstel
degradatie en herstel hebben een relatief kleine invloed op RAID 30, doch meer dan bij RAID 10, en is wat groter bij RAID 03
random leessnelheid
zeer goed, op haar best als je een grotere blok grootte gebruikt
random schrijfsnelheid
voldoende
sequentiële leessnelheid
uitmuntend
sequentiële schrijfsnelheid
goed
kosten
relatief hoog, door het grote aantal schijven en een gespecialiseerde controller, maar bedenk wel dat opslag capaciteit beter is dan bij RAID 01 en 10
toepassing
overvloed aan belangrijke data dat snel verkrijgbaar is, zoals enterprise servers, grotere database servers en file servers
De RAID levels 05 en 50 vertonen grote overeenkomsten met 03 en 30, met natuurlijk als enige verschil dat er RAID 5, block-level striping met een verspreide pariteit, wordt gebruikt in plaats van RAID 3. RAID 05 en 50 profiteren van alle voordelen van RAID 5, verrijkt met het grootste voordeel van RAID 0: een goede random schrijfsnelheid. Evenals de andere multiple RAID levels bieden deze RAID levels een grotere fout tolerantie, zeker bij RAID 50.
Eigenschap
Beschrijving
controller eisen
gespecialiseerde controller vereist
aantal schijven
minimaal zes harde schijven, het maximum is afhankelijk van de controller
array capaciteit
RAID 05: (grootte van kleinste schijf) x (aantal schijven in een RAID 0 set) x ((aantal RAID 0 sets) - 1) RAID 50: (grootte van kleinste schijf) x ((aantal schijven in een RAID 5 set) - 1) x (aantal RAID 5 sets)
bruikbare opslagruimte
RAID 05: ((aantal RAID 0 sets) - 1) / (aantal RAID 0 sets) RAID 50: ((aantal schijven in een RAID 5 set) - 1) / (aantal schijven in een RAID 5 set)
fout tolerantie
goed voor RAID 05 en zeer goed voor RAID 50
beschikbaarheid
zeer goed
degradatie en herstel
degradatie en herstel hebben een relatief kleine invloed op RAID 50, en is wat groter bij RAID 05
random leessnelheid
uitmuntend
random schrijfsnelheid
goed
sequentiële leessnelheid
zeer goed
sequentiële schrijfsnelheid
goed
kosten
relatief hoog, door het grote aantal schijven en een gespecialiseerde controller, maar bedenk wel dat opslag capaciteit beter is dan bij RAID 01 en 10
toepassing
overvloed aan belangrijke data dat snel verkrijgbaar en verwerkbaar is, zoals grotere database servers en file servers
De RAID levels 15 en 51 zijn de enige levels die gebruik maken van zowel mirroring als parity check. Deze levels zijn vergelijkbaar met de RAID 01 en 10, behalve dan dat er zich een pariteit controle tijdens de striping plaatsvindt.
Door het gebruik van de beide redundantie methoden zijn de fout tolerantie en de beschikbaarheid ongetwijfeld uitmuntend te noemen. Maar daar staat tegenover dat er wel veel verlies van opslagruimte optreedt. Bij een minimale configuratie van 6 schijven is de bruikbare opslagruimte zelfs slechts 33%.
Eigenschap
Beschrijving
controller eisen
gespecialiseerde controller vereist, eventueel met extra hardware- of softwarematige besturing
aantal schijven
minimaal zes harde schijven, het maximum is afhankelijk van de controller
array capaciteit
(grootte van kleinste schijf) x (((aantal schijven) / 2) - 1)
bruikbare opslagruimte
(((aantal schijven) / 2) - 1) / (aantal schijven)
fout tolerantie
uitmuntend
beschikbaarheid
uitmuntend
degradatie en herstel
beiden voldoende, niet te langzaam, maar ook niet snel
random leessnelheid
zeer goed, op haar best als je een grotere blok grootte gebruikt
random schrijfsnelheid
goed, op haar best als je een grotere blok grootte gebruikt
sequentiële leessnelheid
zeer goed
sequentiële schrijfsnelheid
goed
kosten
erg hoog, door het grote aantal schijven, een gespecialiseerde controller en de beperkte opslag capaciteit
toepassing
zeer belangrijke data dat een zeer hoge fout tolerantie vereist, zoals de zogenaamde critical mission servers, maar in de praktijk ben je zeker niet veel slechter af met de relatief veel goedkopere RAID 10
Windows 2000 Pro en Windows XP Pro zijn voorzien van een gestripte versie van de Veritas Volume Manager. Dat is een tooltje waarmee je dynamische volumes op de harddisks kunt aanmaken en beheren. In de eerste instantie is dat handig wanneer je een extra harddisk aan je systeem toevoegt en een bestaande partitie zonder gegevensverlies kan uitbreiden naar de nieuwe harddisk, zodat je extra schijfruimte onder eenzelfde schijfletter krijgt. In het jargon wordt dat ook wel Spanning en JBOD (Just a Bunch Of Disks) genoemd.
Maar het tooltje heeft meer mogelijkheden, het kan ook RAID volumes aanmaken en dan wel RAID0 (Striping), RAID1 (Mirroring) en RAID5 (Striping met pariteit). Enkel zijn de laatste twee vormen van RAID voorbehouden aan de Server versies van de genoemde besturingssystemen. Maar dat is natuurlijk met een kleine aanpassing realiseerbaar in de Pro versies (let wel: dit is niet mogelijk in XP Home). De Win2K/XP RAID Hack is hieronder beschreven.
Voor meer informatie omtrent RAID kun je terecht op de RAID FAQ
Let op: wanneer je na de hack SP2 gaat installeren, dan worden de gehackte bestanden vervangen door nieuwere versies. De bestaande SWRAID1 en SWRAID5 volumes zullen hierna niet meer bereikbaar worden. Maar je kunt gewoon de hack opnieuw doen op de nieuwe bestanden. Daarna zul je de volumes terugkrijgen zonder enige vorm van dataverlies.
Benodigdheden & Methode
Windows 2000 Professional of Windows XP Professional
het bestand \%systemroot%\system32\dmadmin.exe[/b]
het bestand \%systemroot%\system32\dmconfig.dll[/b]
het bestand \%systemroot%\system32\drivers\dmboot.sys[/b]
De %systemroot% directory is dus de directory waar Windows is geïnstalleerd. Voor Win2K is dat gewoonlijk \winnt\ en voor WinXP is dat \windows\. Kopieer de genoemde bestanden naar een andere subdirectory en maak een dubbele backup, zodat je in geval van nood de originele bestanden alsnog kunt terugzetten. Ga dan als volgt met een hex-editor te lijf:
Screenshot
Uitvoering
Open dmadmin.exe en zoek naar "servernt".
Wijzig deze in "winnt".
Let er wel op dat het woord op dezelfde punt moet beginnen en dat je de resterente ruimte met nulbytes vult.
Open dmboot.sys en zoek naar "winnt" en "servernt".
Wijzig deze in "SERVERNT" respectievelijk "WINNT".
Let er wel op dat wanneer het oorspronkelijke woord in hoofdletters is geschreven, dat het vervangende woord eveneens in hoofdletters geschreven dient te worden.
Open dmconfig.dll en zoek naar "servernt" en "winnt".
Wijzig deze in "WINNT" respectievelijk "SERVERNT".
Herstart Windows in de beveiligde modus (druk op F8 bij de systeemstart). Kopieer daarna deze bestanden naar de volgende subdirectories: \%systemroot%\system32\dmadmin.exe \%systemroot%\system32\dmconfig.dll \%systemroot%\system32\drivers\dmboot.sys
Doe dit één voor één, na elk bestand moet je even wachten op een beveiligingsfoutmelding zoals weergeven op de screenshot. Negeer deze gewoon door op 'Annuleren' te klikken en klik bij een bevestigings-popup die daarop verschijnt op 'Ja'.
Voer hierna de volgende kopieeractie uit: \%systemroot%\system32\dllcache\dmadmin.exe \%systemroot%\system32\dllcache\dmconfig.dll \%systemroot%\system32\dllcache\dmboot.sys
Herstart nu de computer.
Als het kopieren echt niet lukt doordat de beveiligingsfoutmelding lastig begint te worden, dan kun je ook met bijvoorbeeld via de recovery console van de 2K/XP setup CD in een DOS omgeving komen. Daarin kun je de bestanden naar de juiste plaatsen kopieren met behulp van de COPY commando.
Indien alles succesvol is verlopen, zul je na de herstart de opties 'Mirrored volume' (RAID1) en 'RAID5' op de volume wizard tegenkomen.
Nu kun je naar hartelust volumes in diverse smaken creeëren
Noot: deze screenshots zijn genomen tijdens het bewerken van de WinXP versies van de bestanden; binnen Win2K ziet het er natuurlijk iets anders uit, maar het komt er dus op neer dat enkel "winnt" gewijzigd moet worden in "servernt" en vice versa.
Disclaimer - BalusC verklaart zich hierbij niet verantwoordelijk voor de gevolgen van je eigen handelingen bij het nadoen van deze modificatie.
(C) Juni 2003, BalusC
[Voor 89% gewijzigd door Twynn op 25-09-2007 15:11]