RAID 5 in de praktijk
![]() |
|
|
#2 |
|
Member
|
Goed artikel, Koen!
Ik begin me steeds meer te verdiepen in RAID. Ik heb ooit eens een RAID 1 opstelling gemaakt in mn PC(controller op mobo). RAID 0+1 of RAID 5 leek mij echt interessant. Met dit artikel is al een heel stuk duidelijk geworden. Alleen begrijp ik één ding nog niet; Als ik 3 schijven van 200 GB heb in een RAID 5 array, dan zou ik dus 400GB aan opslagruimte hebben. Hoe kan deze 400 GB geback-upt worden op de andere schijf, aangezien er nog maar 200GB beschikbaar is? |
|
|
|
|
|
#3 |
|
Hardware.Info Editor
|
Het is niet dat de 400 GB van twee schijven wordt gebackupd op één 200 GB schijf. Bij RAID 5 met drie schijven wordt op iedere schijf éénderde van de opslagcapaciteit gereserveerd voor foutcorrectie. Er worden geen één-op-één backups gemaakt, maar RAID 5 berekent pariteitsinformatie, waarmee het mogelijk is om de originele data te berekenen op basis van aanwezige backup-data. Die algoritmes zijn redelijk ingewikkeld dus om dat helemaal uit te leggen gaat wellicht wat te ver, maar uit de test blijkt dat het perfect werkt.
|
|
|
|
|
#4 |
|
Hardware.Info Editor
|
Hier even een wat simpelere uitleg. RAID 5 werkt niet exact zo, maar je hebt dan wel een idee van hoe het werkt.
Zoals je weet bestaat data binnen computers uit allemaal 0'en 1'en. Laten we een voorbeeld nemen van drie harddisks, waarop elk verschillende data staat. Laten we nu eens kijken naar de drie bits op dezelfde plaats op de drie harddisks. Dit kunnen bijvoorbeeld 0,0,0 zijn of 1,0,1 of 0,1,1, etc. Het berekenen van de pariteitsinformatie is niet zo moeilijk: we geven pariteit 0 als er een even aantal 1'en is, en pariteit 1 als er een oneven aantal 1'en is. Een paar voorbeeldjes: 0,0,0 -> Pariteit 0 0,1,0 -> Pariteit 1 1,1,0 -> Pariteit 0 1,1,1 -> Pariteit 1 Je ziet, deze pariteit is slechts één bit, ofwel slechts éénderde van de originele data. Stel één harddisk valt uit. Op basis van de pariteitsdata kun je nu altijd achterhalen wat de bits op die harddisk moesten zijn. Een paar voorbeeldjes: Stel hierbij dat bit X op een kapotte harddisk stond en dus verdwenen is. 0,X,0 met Pariteit 0. Het aantal 1'en moet even zijn, dus X moet 0 zijn. 0,X,0 met Pariteit 1. Het aantal 1'en moet oneven zijn, dus X moet 1 zijn. 1,1,X met Pariteit 0. Het aantal 1'en moet even zijn, dus X moet 0 zijn. X,0,1 met Pariteit 0. Het aantal 1'en moet even zijn, dus X moet 1 zijn. etc. Zoals gezegd wordt bij RAID 5 met drie harddisks op iedere schijf één derde van de opslagcapaciteit van iedere schijf gereserveerd voor pariteitsgegevens. Op iedere schijf staan de pariteitswaardes behorende bij de andere twee schijven. In bovenstaande voorbeelden heb je kunnen zien dat je met 1/3de van de opslagcapacitiet foutcorrectie kunt toepassen op de volledige opslagcapaciteit. Duidelijk zo? |
|
|
|
|
#5 |
|
Member
|
duidelijker kan haast niet. De verloren data wordt dus "teruggetoverd". Dan heb je dus eigenlijk aardig wat processorkracht nodig(van de CPU of controller)
|
|
|
|
|
|
#6 |
|
Hardware.Info Editor
|
Klopt. In dit geval overigens van de CPU, bij dure professionele RAID 5 kaarten van de controller. De prestaties zodra één schijf uitvalt zijn dus niet geweldig meer, maar het systeem blijft wel gewoon probleemloos werken en je kunt dus op je gemak een nieuwe schijf regelen en het array weer synchroniseren.
|
|
|
|
|
#7 |
|
Member
|
geweldige uitleg. Ik denk dat zelfs mijn vriendin dit zou snappen
Maar nu een variatie. Als je een groot bestand (bv image van een cd-rom) in pakt met rar, kun je ook parity files aanmaken met een programma als quickpar. Dan krijg je .par files waarmee je ook missende data terug kan rekenen. Hoe werkt dat dan? Ik neem aan dat het soortgelijk in elkaar zit. Arno |
|
|
|
|
|
#8 |
|
Hardware.Info Editor
|
Ik weet niet exact hoe dat bij Quickpar werkt, maar ga ervan uit dat het op dezelfde truc gebaseerd is. Mijn uitleg is uiteraard wel een zwaar gesimplificeerde versie ervan. Het kan uiteraard allemaal nog veel complexer en efficiënter.
Een zelfde soort technologie zorgt ervoor dat je een CD met krassen vaak ook nog prima kunt afspelen. |
|
|
|
|
#9 | |
|
Member
|
Ik zelf heb ook al een tijdje naar raid 5 gekeken, maar wist nooit precies hoe het werkte, dus petje af, want nu is het helemaal duidelijk.
Alleen 1 klein typfoutje: Citaat:
het > teken moet dus vervangen worden door een t Maar zoals ik al zei, een prima artikel. |
|
|
|
|
|
|
#10 |
|
Non-actief
|
Ik vind het toch een groot nadeel dat je bij RAID5 een aanzienlijk lagere schrijf performance hebt. Nu zal dit voor de thuisgebruiker niet zo'n heel groot probleem zijn maar wetende dat RAID5 het populairste RAID systeem is in de server wereld snap ik niet waarom men niet vaker kiest voor het beter presterende RAID 0+1. De extra kosten van een schijf wegen in mijn ogen dan niet op tegen te aanzienlijke prestatieverhoging. Vooral ism. bijv. SQL server/Oracle en veel transactieverwerken komt RAID5 behoorlijk tekort omdat het schrijven naar de disks en het aanmaken van parity een behoorlijke bottleneck is.
Mijn voorkeur gaat dan toch uit naar RAID0+1 (of nog liever het sublieme RAID7 met noodzakelijke RAIDte dure controller) |
|
|
|
|
|
#11 |
|
Member
|
Dit is wel heel toevallig!
Afgelopen week hebben we op het werk een noodstroomtest gehad. Keurig PC en alles los van het stopcontact en toch was er 1 van de 8 schijven in onze RAID 5 array gecrashed (toeval?). De slimmerds die het gingen repareren hebben toen NIET het boekje gevolgd (zegt: nieuwe lege schijf erin), maar hebben de gecrashte schijf verwijderd en weer terug gestopt. Resultaat: complete array naar de haaien... Het ziet er nu naar uit dat de heren 1,2 TB aan data kwijt zijn. En de gebruiker wiens data erop stond dacht dat deze Promise-toren een backup was. Niet dus. Er was wel al een tweede toren besteld, maar dat was dus TE LAAT. Weer een wijze les: volg het boekje! |
|
|
|
|
|
#12 |
|
Hardware.Info Editor
|
Hoeveel langzamer dan een gemiddelde enkele SATA schijf is een dergelijk RAID 5 array bij schrijfbewerkingen?
|
|
|
|
|
#13 |
|
Non-actief
|
Ik heb onlangs een FSC RX300 3.4Ghz Xeon rackserver met een losse LSI MegaRaid adaptor op mogen tuigen met 4xU320 15.000rpm 74Gb SCSI schijven. Hierop moest een SQL server database komen te runnen. In eerste instantie koos ik voor het gebruikelijke RAID5 met 3 schijven en 1 hot spare. Maar de performance van de database was om te huilen. Ik ben gaan testen en kwam met leessnelheden ver boven het gemiddelde (ruim 100MB/s), maar de schrijfsnelheden waren redelijk onstabiel tussen de 7 en 15Mb/s. Dat bleek uiteindelijk het probleem. Ook na een 2de keer opnieuw optuigen kreeg ik dezelfde resultaten. Toen ik koos voor 4 schijven op RAID0+1 bleef de leessnelheid gelijk en de schrijfsnelheid schoot omhoog naar 70MB/s. Kan dus best veel schelen.
De 74Gb Raptor in m'n werkstation heeft een schrijfsnelheid van rond de 40MB/s Kortom RAID5 op een gemiddelde controller is ideaal voor webservers en file/print servers maar komt in mijn ogen tekort voor bijv. database en mail servers. Voor de desktop lijkt het me ook geen ideale opstelling omdat dit toch redelijk prijzig is en de onboard controllers niet bekend staan om hun uitmuntende prestaties. Vooral de CPU wordt zwaar belast. |
|
|
|
|
|
#14 | |
|
Senior Member
|
Citaat:
voordeel van RAID5 is dat het simpel uit te breiden is met meerdere schijven. bij RAID 0, 1 en 0+1 is dit niet te doen zonder de array opnieuw op te bouwen. Bij RAID5 duw je er gewoon een schijf bij, geeft aan in de software dat er een schijf bij is gekomen, en de parity informatie wordt opnieuw verdeeld. Het wordt overigens ook altijd aangraden om transaction logs van SQL-servers niet op een RAID5 array te zetten, vanwege de belasting van het systeem. Het beste is om deze op een aparte RAID1 Array te zetten Wat is overigens RAID7? |
|
|
|
|
|
|
#15 | |||
|
Non-actief
|
Citaat:
Je bedoelt RAID5 Citaat:
Dat klopt, ik had helaas echter niet de mogelijkheid om naast een RAID5 array ook nog een RAID1 array te maken. Citaat:
In mijn ogen het meest mooie maar ook duurste RAID systeem. Komt zeldzaam voor door de hoge kosten maar levert overall de beste prestaties. De fouttolerantie is extreem hoog door de mogelijkheid van meerdere hotspares in de array. Restoren zeer gemakkelijk door het gebruik van parity berekening op de controller. Dit belast vervolgens ook de CPU nauwelijks. De controller heeft naast 256Mb/512Mb geheugen een grote hoeveelheid cache aanboord voor de data transfer. Hierdoor heeft RAID7 zowel de beste write als read snelheden. Dit alles weegt nauwelijks op tegen de veel hogere kosten. Je hebt minmaal 3 HD's nodig en die hele dure controller... |
|||
|
|
|
|
|
#16 | |
|
Member
|
Citaat:
Als je veel bewerking op je hdds doet dan is Raid5 zo geweldig nog niet... Ikzelf heb Raid 1+0. Ben ook niet 100% zeker van de herstelprocedures in Raid5, ik begrijp wel hoe het werkt maar het lijkt me toch niet dat je zomaar data kan terugtoveren aan de hand van andere data. Op basis van algoritme oke, dan kan je een deel terugvinden, maar wat nou als je een file van 1gb hebt die ingepakt is waarin losse filetjes staan die totaal anders in elkaar zitten? Dan denkt de raid controller dus dat de missende data zo en zo moet worden ingevult terwijl het niet zo is.. Zou me weinig verbazen als je corrupte data terugkrijgt. Ik hou het daarom liever op Raid 1+0, je bent wel één extra schijf kwijt voor deze setup, maar je hebt wel meer zekerheid en niet te vergeten een betere performance. |
|
|
|
|
|
|
#17 |
|
Non-actief
|
Ik kies ook voor RAID1+0. Heb ooit een keer een kapotte controller gehad in een RAID5 server. Het is me toen niet gelukt de data te recoveren. Bij de onboard controllers op desktop moederborden is de kans op recovery bij controller uitval ook gering.
|
|
|
|
|
|
#18 | ||
|
Senior Member
|
Citaat:
Hmm, in mijn ogen is dit dus gewoon RAID5 aan een dure controller met een hotspare. Beetjs belachelijk dat dit weer een nieuwe naam krijgt |
||
|
|
|
|
|
#19 |
|
Non-actief
|
Uhm...RAID7 bestaat al even hoor. En het lijkt nog het meeste op RAID4. Door de alle bovengenoemde voordelen is RAID minimaal 1.5 keer tot maximaal 6 keer sneller dan welk ander RAID systeem dan ook. Vooral de cache onboard van de controller geeft nagenoeg geen toegangstijden op de array. Ook de mogelijkheid om tot maximaal 48 disks te gaan in 1 array maakt dit een veel gebruikte oplossing voor mainframes.
Bron |
|
|
|
|
|
#20 |
|
Senior Member
|
ah, nu zie ik het. De parity staat op aparte schijven, aan een aparte bus, zodat de bus waar de werkelijke data op staat niet belast wordt door de parity berekeningen. Of snap ik het nu nog niet?
|
|
|
|
|
|
#21 |
|
Member
|
Ik vraag me al een tijdje het volgende af:
wat als je vaak van moederbord wisselt. Stel, ik maak nu een RAID5 array op een nForce4 chipset. Binnen x-aantal tijd komt de nForce5 (of iets dergelijks) uit. Dus: nieuw moederbord. Ik veronderstel dat het dan niet mogelijk zal zijn de array gewoon op het andere moederbord te prikken en dat het dan zal werken. Ok, ik weet ook wel dat windows in eerste instantie niet zal draaien, maar volgens mij zal je zelfs je hele array niet meer aan de praat krijgen zelfs al wil je je windows herinstalleren. En dus : data weg... De enige manier om dit te vermijden is volgens mij een losse RAID kaart die je dan ook mee verhuist naar je andere moederbord. Of zie ik dat verkeerd? |
|
|
|
|
|
#22 |
|
Hardware.Info Editor
|
Ik vermoed dat degene die vaak van moederbord wisselt ook vaak van computer wisselt, aangezien dit niet de normaalste zaak van de wereld is. De bestanden die je nodig zult hebben kun je dan eenvoudig overzetten via een netwerk- of USB-kabel.
|
|
|
|
|
#23 |
|
Member
|
Ja, dat kan, maar dan moet je al een tweede PC hebben, EN voldoende opslagcapaciteit erop om al die data van de eerste over te zetten.
Ik zou niet graag een 500gig via een 100baseT netwerkje overzetten... Gigabit ja, maar dat heeft ook nog bijna niemand... (hoewel het wel meer en meer standaard komt op de moederborden) Ik bedoel dat als je niet in een RAID setup werkt, het gewoon een kwestie is van HD verplaatsen, partitie waar OS op staat formatteren, windows opnieuw installeren, klaar. Dat gaat niet zo simpel met een RAID denk ik... (ik weet het niet hoor, want ik heb geen RAID... en ik zou wel graag tegengesproken worden als ik het verkeerd heb! |
|
|
|
|
|
#24 | ||
|
Non-actief
|
Citaat:
Ja dat klopt...en het is alleen de controller die de parity uitrekent, niet de CPU van de server. Naast de data en parity worden ook alle array gegevens op zowel de schijven als de controller zelf opgeslagen waardoor een eventuele controller uitval ook nog recovered kan worden (wat overigens bij meerdere RAID levels ook mogelijk is). Citaat:
Op de meeste onboard RAID controllers is pech hebben als je controller/moederbord het begeeft. Dit komt omdat er geen array gegevens op de array wordt opgeslagen maar alleen op een rom op het moederbord. Alleen bij RAID1 is er niets aan de hand, bij de overige levels ben je de data kwijt. |
||
|
|
|
|
|
#25 | |
|
Member
|
Citaat:
Daarom had ik destijds een losse pci raid kaart gekocht, ben inmiddels ook al een keer van moederbord overgestapt dus het had wel nut |
|
|
|
|
|
|
#26 |
|
Non-actief
|
|




