Door Femme Taken

UX Designer

Hardware en software RAID 5 performance in Windows XP

01-04-2003 • 16:08

52

Multipage-opmaak

Inleiding

Harde schijven / RAID aankondigingWie wel eens wat gespeeld heeft met het aanmaken van partities in de Disk Manager van Windows XP Professional weet dat het nieuwste desktopbesturingsysteem van Microsoft naast ondersteuning voor simpele partities ook spanning en striping beheerst. Software striping (RAID 0) is een goed alternatief voor firmware RAID-oplossingen zoals de goedkope ATA RAID controllers van Promise en HighPoint. In beide gevallen wordt het verdelen van de gegevens over de aanwezige schijven afgehandeld door de CPU. Er zijn daardoor nauwelijks prestatieverschillen tussen software striping en firmware RAID 0. Het voornaamste nadeel van software striping is het feit dat niet geboot kan worden vanaf een software RAID 0 partitie. Veel mensen geven daarom de voorkeur aan firmware RAID controllers, die vanwege hun lage kosten dan ook zeer populair zijn onder het tweakend publiek.

De serverversies van Windows bieden naast striping en spanning ook de mogelijkheid om RAID 1 (mirroring) en RAID 5 (striping met distributed parity) partities aan te maken. Vooral de laatste mogelijkheid is interessant omdat hardwarematige RAID 5 ondersteuning alleen is terug te vinden op kostbare intelligente ATA en SCSI RAID controllers. De techneuten van het Duitse c't Magazine hebben een methode ontdekt waarmee software RAID 1 en RAID 5 ondersteuning middels een paar eenvoudige aanpassingen in Windows XP gehackt kan worden. De hack kan binnen 10 minuten geklaard zijn en maakt software RAID 1 en RAID 5 ook mogelijk in de gewone desktopversie van Windows! In dit artikel geven we je stap voor stap uitleg over het uitvoeren van de patch en vergelijken we de prestaties van software RAID 5 met de performance van een hardwarematige RAID 5 adapter.

Windows XP Disk Manager met RAID 5 regenererende RAID 5 partities
Windows XP Disk Management met software RAID 5 partitie

Wat is RAID 5?

Striping, Mirroring, RAID 0 en RAID 1 zullen ongetwijfeld geen onbekende begrippen meer zijn voor de gemiddelde tweaker. RAID 5 geniet daarentegen minder bekendheid, vooral vanwege het feit dat deze technologie voor een veel kleinere groep bereikbaar is. RAID 5 is een methode om de voordelen van redundancy en striping te combineren met een lage overhead. RAID 1 en RAID 10 (striping + mirroring) hebben weliswaar een hoge betrouwbaarheid en - zeker in het tweede geval - een hoge performance, maar daar tegenover staat een zeer hoge overhead van 50 procent. Voor elke gigabyte effectieve opslagcapaciteit moet de dubbele hoeveelheid fysieke opslagcapaciteit ingezet worden. Om het kostenpatroon van continue systemen onder controle te houden, is er gezocht naar een manier om te besparen op het aantal drives ten opzichte van RAID 1 en RAID 10, maar met behoudt van de hoge beschikbaarheidsgraad. Bij RAID 5 wordt er met behulp van een XOR algoritme uit de aangeboden data een zogeheten pariteit (parity) berekend. De parity wordt verdeeld over de aanwezige schijven. Bij een crash van één van de schijven kan uit de data van de defecte drive gereconstrueerd worden uit de pariteitsgegevens die zijn verdeeld over de overige schijven. Het opslagsysteem blijft beschikbaar, hoewel de performance wel sterk zal afnemen zolang er geen rebuild heeft plaatsgevonden op een vervangende schijf.

Door het toepassen van block striping en verdeling van parity ontstaat een systeem dat zowel hoge betrouwbaarheid als goede prestaties kan bieden. RAID 5 is daarom goed toe te passen in multi-user omgevingen met veel I/O requests en is tegelijkertijd goed in staat performance te leveren voor leesopdrachten. De prestaties bij het wegschrijven van gegevens is lager dan bij RAID 0, 1 en 3 (parity op een fixed disk), maar omdat bij veel servertoepassingen het merendeel van de I/O operaties wordt vertegenwoordigd door leesopdrachten hoeft de lagere schrijfperformance van RAID 5 geen groot probleem te zijn.

Hardware vs Software RAID 5 - parity verdeling
RAID 5 striping en distributed parity

De lagere schrijfperformance van RAID 5 wordt veroorzaakt door het feit dat voor elke schrijfoperatie twee extra leesoperaties nodig zijn. Voordat de nieuwe parity berekend kan worden, moeten eerst de oude data en de oude parity ingelezen worden van het blok dat wordt herschreven. Omdat zelfs de snelste 15.000 toeren harde schijven een relatief hoge gemiddelde toegangstijd van 5,5 tot 6 milliseconden hebben, zal er door de extra leesoperaties een aanzienlijke vertraging optreden. Het nadelige effect is het grootst bij het wegschrijven van kleine stukjes data. Het gebruik van een intelligente I/O processor, die de CPU ontlast van de parityberekening, en het gebruik van een groot cachegeheugen op de RAID controller kan de schrijfperformance van een RAID 5 opstelling aanzienlijk verbeteren.

Het verdelen van de parity over de aanwezige drivers levert uiteraard verlies op van de beschikbare opslagcapaciteit. Bij een configuratie met drie schijven bedraagt de overhead 33 procent, bij vijf schijven is de overhead 20 procent en bij zeven schijven is de overhead 14 procent. Vooral bij de grotere arrays is RAID 5 veel efficiënter dan RAID 1 en RAID 10. Dankzij de hoge betrouwbaarheid, goede performance en lage overhead is RAID 5 heden ten dage de meest toegepaste RAID-implementatie in professionele systemen.

Uitvoering van de patch

Het uitvoeren van de Windows XP RAID 5 patch is tamelijk eenvoudig. Het benodige gereedschap bestaat enkel uit een hexeditor. Het idee achter de patch is om Windows XP te laten geloven dat de RAID partitioneringsmogelijkheden van de serverversies toebehoren aan de desktopversies en vice versa. Daartoe moet in een aantal bestanden de string 'SERVERNT' vervangen worden door 'WINNT' en de originele verschijningen van 'WINNT' vervangen worden door 'SERVERNT'. Het stappenplan is als volgt:

1) Kopieer de volgende bestanden uit de Windows subdirectories naar een andere plaats om ze daar vervolgens met een hexeditor te lijf te gaan:

\system32\drivers\dmboot.sys
\system32\dmconfig.dll
\system32\dmadmin.exe

Verzeker je jezelf ervan dat je een backup hebt van de bovenstaande drie bestanden, voor het geval de wet van Murphy toeslaat.

2) Open de bestanden in een hexeditor en vervang 'SERVERNT' of 'servernt' door 'WINNT' / 'winnt' en vice versa ('WINNT' vervangen door 'SERVERNT'). Zorg ervoor dat de lengte van de files niet verandert. Het verschil in lengte tussen de string SERVERNT en WINNT moet opgevuld worden met nulbytes.

3) Kopieer de drie aangepaste bestanden naar hun oorspronkelijke locatie. Dit kun je doen vanuit de recovery console, maar admins mogen het ook direct vanuit Windows doen. Zorg er in dat geval voor dat de installatie cd van Windows XP zich niet in de CD-ROM speler bevindt. Geef niet toe aan het geklaag van Windows dat een paar gewijzigde systeembestanden vervangen moeten worden door hun originelen.

copy dmboot.sys system32\drivers
copy dmboot.sys system32\dllcache
copy dmconfig.dll system32
copy dmconfig.dll system32\dllcache
copy dmadmin.exe system32
copy dmadmin.exe system32\dllcache

4) Reboot de computer.

Na het uitvoeren van de patch zul je in Disk Management de mogelijkheid aantreffen om RAID 1 en RAID 5 partities te bouwen. RAID partities kunnen uitsluitend aangemaakt worden op schijven die zijn geconfigureerd als Dynamic Disk. Basic Disks kunnen geconverteerd worden naar Dynamic Disks door in het schijfoverzicht met de rechtermuisknop op de naam van de betreffende schijf te klikken.

Windows XP Disk Manager met RAID 5 support

Testconfiguratie

De RAID 5 prestatietests werden uitgevoerd op de configuratie die in de
Tekram DC-390U4B Ultra320 SCSI adapter

Low-level performance

We binnen onze benchmarkparade met een paar low-level benchmarks van de sequentiële transfer rates en de gemiddelde toegangstijden. De software RAID 5 opstelling laat zich meteen van zijn beste kan zien en noteert een overdonderende throughput van 136MB/s in de Winbench 99 Disk Inspection-test. De prestaties van de MegaRAID Elite 1600 zijn teleurstellend; de transfer rate is niet hoger dan van een enkele Cheetah 10K.6. Het is opmerkelijk dat de MegaRAID over het gehele schijfbereik een constante transfer rate heeft. De gemiddelde toegangstijd neemt licht toe bij zowel de softwarematige als de hardwarematige RAID 5 opstelling. De MegaRAID levert wederom de slechtste prestaties.

Winbench 99 v2.0 - Sequentiële transfer rate - Begin (MB/s)
Software RAID 5 - 3x 10K.6 136000
Seagate Cheetah 15K.3 75800
Seagate Cheetah 10K.6 70500
Elite 1600 RAID 5 - 3x 10K.6 69100
Winbench 99 v2.0 - Sequentiële transfer rate - Eind (MB/s)
Software RAID 5 - 3x 10K.6 80000
Elite 1600 RAID 5 - 3x 10K.6 69200
Seagate Cheetah 15K.3 50700
Seagate Cheetah 10K.6 41400
Winbench 99 v2.0 - Gemiddelde toegangstijd (ms)
Seagate Cheetah 15K.3 6,37
Seagate Cheetah 10K.6 8,07
Software RAID 5 - 3x 10K.6 8,29
Elite 1600 RAID 5 - 3x 10K.6 8,43

Een totaal ander beeld wordt zichtbaar zodra ATTO Disk Benchmark aan het werk wordt gezet. De MegaRAID Elite 1600 is niet onder de indruk van ATTO's 32MB kleine throughput-test en gooit zijn 128MB grote cachegeheugen met vol gewicht in de strijd. Het resultaat mag er wezen, want in het zicht van de MegaRAID-scores verbleken de transfer rates van de Cheetah 10K.6 en de Cheetah 15K.3. De software RAID 5 configuratie houdt stand als het aankomt op de lees-doorvoersnelheid. De schrijfperformance is echter dermate slecht dat software RAID 5 bij transfers van 512 bytes nog maar ter nauwernood een floppydrive (in ideale omstandigheden) kan bijbenen. Vanaf transfergroottes van 128KB komt de schrijf- performance op een acceptabel niveau. Speelt de MegaRAID vals spel, of heeft het cachegeheugen daadwerkelijk grote invloed op de prestaties in de desktopbenchmarks en serversimulaties?

ATTO score Seagate Cheetah 10K.6
Tekram DC-390U4B - Seagate Cheetah 10K.6

ATTO score Software RAID 5 3x 10K.6
Tekram DC-390U4B - 3x Cheetah 10K.6 - Software RAID 5

ATTO score MegaRAID Elite 1600 RAID 5 3x 10K.6
LSI Logic MegaRAID Elite 1600 - 3x Cheetah 10K.6 - RAID 5

Serversimulaties

Nadat de schijven hebben warmgelopen in Winbench en ATTO komt het echte werk aan de beurt: de

Tweakers.net StorageMark 2003 - Fileserver - Gewogen gemiddelde (IOps)
Elite 1600 RAID 5 - 3x 10K.6 397,7
Software RAID 5 - 3x 10K.6 337,9
Seagate Cheetah 10K.6 246,4

Het webserver toegangspatroon is gebaseerd op een evenwichtige verdeling tussen lees- en schrijfopdrachten. De webserver simulatie belooft daarom een harde kluif te worden voor de software RAID 5 opstelling. Onze vrees wordt bewaarheid als blijkt dat software RAID 5 slechter presteert dan een single Cheetah 10K.6. De MegaRAID levert tussen 2 en 128 uitstaande I/O's wel beduidend betere prestaties, maar vanaf een queuegrootte van 128 I/O's zakken de prestaties als pudding in elkaar. In werkelijkheid komen zware belastingen van meer dan 64 uitstaande I/O's zelden voor, waardoor de inzinking van de MegaRAID niet als een groot probleem beschouwd hoeft te worden.

Hardware vs Software RAID 5 - Webserver simulatie
Tweakers.net StorageMark 2003 - Webserver - Gewogen gemiddelde (IOps)
Elite 1600 RAID 5 - 3x 10K.6 343,1
Seagate Cheetah 10K.6 264,5
Software RAID 5 - 3x 10K.6 257,1

Tenslotte hebben we de Cheetah 10K.6 en de RAID 5 configuraties getest op het webserver toegangspatroon van StorageReview.com. De simulatie van Storage Review gaat uit van 100 procent leesopdrachten, een omstandigheid die ideaal is voor een RAID 5 implementatie. De software RAID 5 configuratie slaagt erin om voor het eerste betere prestaties te leveren dan de MegaRAID. In beide gevallen is de prestatiewinst ten opzichte van de single disk configuratie aanzienlijk. De software RAID 5 setup is maar liefst 91 procent sneller, terwijl de MegaRAID een 81 procent hogere doorvoer op de klok zet.

Hardware vs Software RAID 5 - Storage Review Webserver simulatie
Storage Review Webserver DriveMarks - Gewogen gemiddelde (IOps)
Software RAID 5 - 3x 10K.6 446,4
Elite 1600 RAID 5 - 3x 10K.6 423,3
Seagate Cheetah 10K.6 233,2

Vanzelfsprekend waren we uiterst benieuwd naar de processorbelasting van RAID 5. De wildwest verhalen die hierover de rondte doen, worden geenzins bewaarheid. Onder de zwaarste omstandigheid, het webserver toegangspatroon met een queue van 256 uitstaande I/O's, is de gedeelde belasting van de twee Athlon XP 2400+ processors slechts 4,14 procent. De ruim twee procent extra processorbelasting ten opzichte van hardware RAID 5 is geen reden om software RAID 5 oplossingen buiten spel te zetten. Bij kleine I/O queues zakt de processorbelasting onder een niet noemenswaardige twee procent.

Tweakers.net StorageMark 2003 - Webserver - CPU belasting bij 256 uitstaande I/O's (%)
Seagate Cheetah 10K.6 1,55
Elite 1600 RAID 5 - 3x 10K.6 1,97
Software RAID 5 - 3x 10K.6 4,14

MegaRAID desktop performance

De

Conclusie

De drie serversimulaties waarin we de software RAID 5 opstelling hebben getest, vormen een perfecte illustratie van situaties waarin software RAID 5 slecht, matig en zeer goed kan presteren. De slechte reputatie van software RAID 5 kon in onze tests niet bevestigd worden. Alleen in omgevingen waarin schrijfoperaties zeer sterk vertegenwoordigd zijn, levert software RAID 5 ondermaatse prestaties. De CPU-belasting van softwarematige parityberekening was op het dual Athlon XP 2400+ testsysteem zelfs onder de zwaarste omstandigheden niet hoger dan enkele procenten. Indianenverhalen als zou software RAID 5 een enorme belasting op de CPU leggen, kunnen in ieder geval in het huidige tijdperk van supersnelle processors naar het rijk der fabelen verwezen worden.

De prestaties van hardware RAID 5, in onze tests vertegenwoordigd door de LSI Logic MegaRAID Elite 1600, bleken over het algemeen hoger te zijn dan van software RAID 5. Vooral in voor RAID 5 lastige omstandigheden - situaties met naar verhouding veel schrijfoperaties - presteerde hardware RAID 5 aanzienlijk beter dan software RAID 5. De pure leesperformance van software RAID 5 was daarentegen wel hoger dan van de hardware RAID adapter. Het is niet ondenkbaar dat moderne Ultra320 SCSI RAID adapters dankzij snellere I/O processors, sneller cachegeheugen en een snellere SCSI-interface wél onder alle omstandigheden beter presteren dan software RAID 5.

LSI MegaRAID Elite 1600 (I/O processor heatsink)
Intel 960RN I/O processor

Onze bevindingen wijzen uit dat er zeker toepassingen zijn te bedenken waarin software RAID 5 kan functioneren. Een voorbeeld is een ontwikkelomgeving die niet teveel mag kosten of een low-budget webserver in de hobby of non-profit sfeer. Software RAID 5 biedt tegen lage kosten een betere redundancy dan single disk volumes en kan bij arrays van drie schijven tot 90 procent beter presteren zolang de verhouding schrijf/leesoperaties laag blijft. Hardware RAID adapters bieden naast betere prestaties talloze andere voordelen, die de keuze tussen hardware en software RAID 5 feitelijk een non-issue maken. Dankzij features als global online hotspares, hotswapping, online capacity expansion, online RAID level migration en platform onafhankelijke remote management bieden hardwarematige RAID adapters een veel hogere betrouwbaarheid, beschikbaarheid en schaalbaarheid dan software RAID 5 oplossingen. Het prijsverschil tussen SCSI en SCSI RAID adapters is sterk gedaald nu goedkopere single channel Ultra320 SCSI RAID adapters dezelfde bandbreedte kunnen bieden als duurdere en complexere dual channel Ultra160 adapters voorheen. Single channel Ultra320 SCSI RAID adapters van Adaptec, Mylex en LSI Logic zijn verkrijgbaar vanaf 550 euro, wat niet eens het dubbele is van de prijs van een single channel Ultra320 SCSI adapter.

Prijzen Ultra320 SCSI en SCSI RAID adapters
Adaptec ASC-29320R (1x U320 SCSI, PCI-X, RAID 0/1)Onbekend
Tekram DC-390U4W (2x U320 SCSI, PCI-X, RAID 1)Onbekend
Adaptec ASR-2120S (1x U320 SCSI RAID, 64MB, PCI64/66)Onbekend
LSI MegaRAID 320-1 (1x U320 SCSI, Low profile, PCI-X)Onbekend
Mylex AcceleRAID 400 (1x U320 SCSI, 32MB, Low profile, PCI-X)Onbekend

De afgelopen jaren is ook de markt voor intelligente ATA RAID adapters tot ontwikkeling gekomen. Inmiddels zijn 3ware, Adaptec, ICP Vortex, LSI Logic en Promise actief met Parallel en Serial ATA RAID adapters. Dankzij betaalbare producten zoals de populaire vier-kanaals SCSI4me.com opgepikt. Uiteindelijk is zo'n hardware RAID 5 adapter toch veel mooier speelgoed dan een software RAID 5 patch voor Windows XP, al was het maar vanwege de l33te RAID BIOS-tweaks en de stoere remote management tools (RAID configgen vanaf de pc van een bevriende mede-tweaker! ).

Tot slot zou ik de volgende personen en bedrijven willen bedanken voor hun medewerking: Marie-Pierre Degoulet van Seagate voor het beschikbaar stellen van een Cheetah 15K.3 en drie Cheetah 10K.6 schijven, Tekram Duitsland en Albert Uythof van SMG Benelux voor het beschikbaar stellen van de Tekram Ultra320 SCSI adapter en niet te vergeten c't Magazine voor het uitdokteren van de software RAID 5 patch.

Reacties (52)

52
50
46
5
0
0
Wijzig sortering
Zeer interessant artikel en het spreekt zeker de spookverhalen over CPU belasting,etc tegen als het gaat om de implementatie van RAID5. RAID5 is gewoon (theoretisch ;) )ideaal als je veiligheid en snelheid wilt hebben.

Maar de spookverhalen zijn niet geheel onterecht, mede door eigen ervaringen met Compaq SCSI RAID controllers, en ik denk dat het grotendeels afhankelijk is van de gebruikte RAID controller (en de daarbij horende gebruikte chipset) en het besturingssysteem. Er zijn verschillende verhalen over slechtere RAID5 performance onder Windows 2000 Server dan normale disk access (lezen en schrijven) en waar ik meerdere malen mee te maken heb gehad. Gelukkig verhielp Windows 2000 SP3 + nieuwe drivers dit in de meeste gevallen maar deed in sommige gevallen onder bij softwarematige RAID5.
Dankzij betaalbare producten zoals de populaire vier-kanaals Promise SX4000, die verkrijgbaar is voor prijzen vanaf 190 euro exclusief cachegeheugen, is hardware RAID 5 binnen het bereik gekomen van tweakers en hobbyïsten.
De Hightpoint RocketRaid 404 controller ondersteund sinds kort (d.m.v. een BIOS update naar versie 3.01) het gebruik van RAID5 met IDE hardeschijven onder alle besturingssystemen. Het is daardoor ideaal om een lowcost (hardware?)RAID5 implementatie te realiseren voor gebruik met servers en werkstations. De retail uitvoering is al te verkrijgen vanaf € 144,-.

Meer informatie over RAID5 ondersteuning is te vinden op de website van Highpoint : www.highpoint-tech.com/rr404_down.htm.

Wellicht dat RAID5 performance onder Windows 2000, Linux en FreeBSD ook eens op t.net zou moeten verschijnen ;)
de Rocketraid 404 ondersteunt inderdaad raid 5, maar hou dan wel in de gaten dat je daar raid 0/1 voor op moet geven. in mijn geval doe ik dit graag aangezien ik 4X 80GB schijven in mijn systeem heb zitten. dit geeft toch ongeveer 80 GB ruimte meer zonder de veiligheid op te geven. Deze ondersteuning is inderdaad hardwarematig, maar als je al raid 0/1 hebt draaien dan kan je hem niet zomaar overzetten naar raid 5. de disken zullen leeg moeten beginnen.
ik denk dat RAID5 onder 2k niet wezenlijk zal verschillen met XP (nt5.0 versus 5.1), en dat dat daarom geen optie is. Linux of een BSD daarentegen wel, zeker een goed punt. :)
Mischien handig om te weten..:

Ik heb hier onlangs een software raid overgebouwd van een 2000 naar een XP machine.

Ik ging er vanuit dat ik de raid opnieuw moest maken/formateren.

Wat schetste echter mijn verbazing:
Bij het booten van de Xp machine kon ik de raid gelijk weer installeren (local disk manager).
Zonder enig data verlies, alles gelijk weer 100% beschikbaar.

:*)
Over de software vs. hardware performance verschillen:

CPU:

De CPU van de server is sneller dan die op zo'n hardware kaartje. Op goedkope hardware kaartjes is die controller dan ook vaak de limiterende factor (in deze test dus niet...) en is de software RAID zelfs sneller!

Read:

Ach, eigenlijk is het een stripe waarbij je de parity negeert. Dus hier verwacht je geen gekkigheden.

Kleine Write opdrachten:

Om 1 byte te schrijven moet de software smaak in het optimale geval eerst 2 blocks lezen (typische blokgrootte is 64k), namelijk het origineel en de parity, wijzigen en terugschrijven. Waarschijnlijk leest hij 4 blocks uit (alles behalve parity) en berekent na de update de parity opnieuw. Niet vreemd dat de performance nu zuigt. De hardware uitvoering kan die paar bytes in de cache zetten en veel efficienter verwerken.

Grote blokken Write:

Hierbij heeft de software uitvoering maar een nadeel: Hij moet 20% meer data over de memory/PCI bus sturen, namelijk de parity data. De hardware uitvoering doet dit buiten de PCI om, de parity rekent hij zelf uit (en deze SCSI bus heeft nogal een riante bandbreedte van 320MB/s).

Als je dit op een IDE setje op een desktop machine gaat doen, dan ga je tegen de PCI bandbreedte van 133MB/s aan lopen. Een hardware controller kan hier makkelijk een 20% winst pakken (vanwege de parity...).
Hulde voor de test.

De super tip van C'T is leuk voor de mensen zonder Win2k prof/server of XP pro.

Natuurlijk leuk dat er van een Ultra320 adapter wordt gewerkt en 3 SCSI HDD's. Dan snijdt zo'n test hout voor de zakelijke servermarkt en de kleinere webhosters. Qua pekunia is het minder aantrekkelijk.

Voor de tweakers audio,video en warez servertjes was t wellicht leuker geweest om een minder heftige server setup te testen (ik heb in ieder geval geen 2x 2400+ MP in de gang staan als thuis-server :( ).

Test sys:

Single CPU systeem:
bijv een P3-800
512 MB SDRAM)
3x 7200 RPM WD 8 MB cache 60 of 80 GB

en dan:
schijven los op ATA100
Software RAID 5 op ATA-100 kaartje
'hardware' RAID 5 op een SX4000 zonder cache
'hardware' RAID 5 op een SX4000 +128 MB cache
'hardware' RAID 5 op een SX6000
'hardware' RAID 5 op een SX6000 +128 MB cache

Waarom ATA100 ?? Weinig HDD's doen echt ATA133 en zowel de SX4000 als de SX6000 zijn ATA100 controllertjes.

OS smaken:
Win2k Pro of server
WinXP
Linux

Lijken imho wel de setups die de gemiddelde tweakert heeft of zou willen hebben.

BTW om probs te voorkomen van inbeslag genomen IDE kanalen bij software RAID wel 2 ATA100 controlertjes anders krijg je probs bij benaderen van de master/slave op t zelfde kanaal.
AuteurFemme UX Designer @Pantagruel1 april 2003 22:02
Voor de tweakers audio,video en warez servertjes was t wellicht leuker geweest om een minder heftige server setup te testen (ik heb in ieder geval geen 2x 2400+ MP in de gang staan als thuis-server ).
Het doel van de tests is om aan te tonen hoe software RAID 5 presteert ten opzichte van hardware RAID 5. Omdat ik al een paar SCSI schijven had liggen ivm een review en in het bezit ben van een SCSI RAID controller was het een uitgesproken kans om een artikel te maken over software RAID 5 en hardware RAID 5 toen de patch van c't zaterdag op het forum werd gepost. Het heeft weinig zin om de benchmarks dan weer opnieuw te gaan draaien op een ATA setup met een tragere proc. De CPU-belasting zal logischerwijs wat hoger zijn en ATA schijven naar verhouding minder presteren in de serversimulaties. De absolute getalletjes zullen ook wat lager zijn. Dat vind ik niet zo interessant omdat het vooral gaat om verhoudingen.

Wat me wel een keer interessant lijkt is om een paar firmware en hardware ATA RAID controllers door de desktopbenchmarks te halen zodat gekeken kan worden over en grote verschillen bestaan in real world prestaties. Een tijdje geleden stonden op de frontpage van Storage Review een paar RankDisk benchmarks van een firmware ATA RAID 0 opstelling die nauwelijks beter bleek te presteren dan een single drive. De MegaRAID heeft in onze benchmarks wél een duidelijke betere real world performance, mogelijk vanwege het cachegeheugen. Voor de Promise SX4000 geldt wellicht hetzelfde.
'hardware' RAID 5 op een SX4000 zonder cache
'hardware' RAID 5 op een SX4000 +128 MB cache
'hardware' RAID 5 op een SX6000
'hardware' RAID 5 op een SX6000 +128 MB cache
Zowel de SuperTrak SX4000 als de 6000 werken *niet* zonder cache.
Maar ik ben zelf eigenlijk ook wel benieuwd naar het verschil in performance tussen een gehackte onboard/software IDE controller en een harwarematige Raid controller.
Wat ik mis in het verhaal en is mijn grootste angst.

- Wat is de performance als er een harddisk defect is. Hij moet dan alles terugrekenen als de info aangevraagd word.

- Wat is de performance tijdens het opnieuw opbouwen van de configuratie als de defect harddisk vervangen is..

Dit zijn bij mijn weten over het algemeen de problemen bij software-raid.
Als een schijf in je RAID kapot is dan blijf je het systeem natuurlijk niet gebruiken, maar vervang je de schijf en rebuild je het array zo snel mogelijk. Performance tijdens het rebuilden lijkt daarom me niet zo interessant om te testen, aangezien dat een uitzonderlijke situatie is die hoogstens een paar uur in beslag neemt.
Als een schijf in je RAID kapot is dan blijf je het systeem natuurlijk niet gebruiken, maar vervang je de schijf en rebuild je het array zo snel mogelijk.
Dus tijdens een storing zet ik mijn systeem direct uit om een harddisk te vervangen? Kunnen mijn gebruikers weer niet werken... Dagh RAID5 voordeel.
Performance tijdens het rebuilden lijkt daarom me niet zo interessant om te testen, aangezien dat een uitzonderlijke situatie is die hoogstens een paar uur in beslag neemt.
Klopt, maar als je geduren die paar uur NIET kan werken omdat de server te traag is dan heb ik dus alsnog een probleem. Dan hoef ik net zo goed geen RAID te ghebben.
Een rebuild zal altijd nog sneller klaar zijn dan een complete backup terug zetten, dus je houd nog wel voordeel van de RAID-5.
Maar ik koop een raid controller om in de lucht te kunnen blijven als er een disk kapot is. Niet omdat ik geen tijd heb om een backup terug te zetten..

Als software-RAID dat niet kan verhelpen heb ik dus alsnog hardwareRAID nodig. Die kunnen prima doordaaien met een defecte harddisk. Geen dagen natuurlijk, maar je kan de uitval wel plannen....
Met swRAID kun je wel gewoon doordraaien, maar dat heb ik dus bij mij thuis niet gedaan, om de kans op een 2e defecte drive zo veel mogelijk te minimaliseren. (en IDE is niet hot swap-able). De rebuild heb ik gewoon via het netwerk gestart, oftewel in multi-user mode. De computer was dus wel gewoon bruikbaar, alleen een heel stuk trager.
Meestal heb je bij een RAID5 setup een extra disk erbij hangen die meteen gebruikt wordt als er eentje uitvalt. Dan moet je je systeem nog laten rebuilden ja, maar dat gebeurt dan meteen.

En RAID5 is toch nog altijd stukken beter dan moeten terugzetten van je data van een backup: met RAID5 heb je alles nog, met een backup alleen de data totdat je die backup gemaakt hebt. Is toch wel een wereld van verschil...
Jawel hoor er zijn wel degelijk HOT swap-able IDE controllers te verkrijgen.
Zoek maar eens even op google.
Bij swRAID onder linux kun je instellen wat de gegarandeerde lees-performance is tijdens de rebuild. In de praktijk werkt dat met IDE- schijven toch niet helemaal lekker, daar de rebuild eerst gedaan wordt tot de rebuild-bandbreedte vol zit en wat dan over blijft wordt gebruikt voor toegang tot het filesystem. Oftewel, al zet je de gegarandeerde lees-performance op 100 MB/s, dan nog is het systeem een stuk trager tijdens de rebuild (meer dan 1 MB/s kon ik met tests hier niet halen)
Een hardwarematige RAID controller zou bij een kapotte schijf (theoretisch) blijven werken bij gebruik van RAID5.

Bij softwarematige RAID5 zou dit ook zo moeten zijn maar dien je het systeem te rebooten voor de nieuwe schijf en deze handmatig te rebuilden (dit heb ik één keer kunnen testen d.m.v. VMWARE met 3 diskimages onder Windows 2000 Server en Linux), het rebuild proces kan dan vervolgens naar de achtergrond geschoven worden dus je kan er op door werken na de initalisatie/rebuild startup.

In geval van een hot-swappable cabinet of server is het vervolgens voldoende om de schijf te vervangen waardoor de hardware RAID controller (wederom theoretisch ;) ) na een kleine configuratie de schijf zal initaliseren en vervolgens de RAID5 zal rebuilden op de achtergrond.

Uiteraard is het ook mogelijk om een RAID5 configuratie handmatig te rebuilden vanuit de controller maar dit kan zeker een paar uur duren.
Volgens mij zijn die problemen die jij beschrijft ook een issue bij een hardware matige controller. De processor die daar op zit moet dan ook rekenen en kan zijn krachten dan niet aanwenden voor I/O die nodig is voor toepassingen en OS
Klopt, maar omdat een hardware-controller zijn eigen processor heeft gaat het minder ten kosten van de eigen processor en blijft het systeem wel langzamer maar wel behoorlijk draaien.

Als je software-RAID gebruikt moet de processor zowel de harddisken berekenen als de applicatie aansturen...
In deze test wordt getest met SCSI-schijven. Wat echter practischer is voor de meesten onder ons, is de performance van de IDE software RAID oplossingen. SCSI-schijven kunnen namelijk meer requests tegelijk ontvangen en eventueel in een andere volgorde afhandelen. Op die manier zou je namelijk mooi kunnen laten zien wat dat voor een performance verschil geeft. Of gaat XP met IDEschijven in swRAID het device dan behandelen als een SCSI-device, net zoals de goedkope IDE RAID kaartjes?

Voor de IDE-variant van deze test zouden de volgende 3 deelnemers dus interessant zijn:
Raid-patch onder XP met IDE-schijven (compleet swRAID dus)
Goedkoop RAID-kaartje met IDE-schijven (alleen de parity berekening is dus softwarematig, aansturing vanuit windows gebeurd via een SCSI-benadering)
Dure IDE-RAIDkaart. (alles gebeurd op de kaart, kaart wordt gezien als SCSI-kaart door windows)

En dan dit alles in hetzelfde test systeem als deze tests, zodat het verschil tussen SCSI-RAID en ATA-RAID ook nog even bekeken kan worden.
AuteurFemme UX Designer @TD-er1 april 2003 17:51
In deze test wordt getest met SCSI-schijven. Wat echter practischer is voor de meesten onder ons, is de performance van de IDE software RAID oplossingen. SCSI-schijven kunnen namelijk meer requests tegelijk ontvangen en eventueel in een andere volgorde afhandelen.
Ik betwijfel of dat veel effect zal hebben op de relatieve verschillen tussen single disk, software RAID 5 en hardware RAID 5. Zolang er maar één ATA schijf per kanaal wordt aangesloten zal ATA RAID 5 net zo goed moeten kunnen schalen (tov single ATA drive) als SCSI RAID (tov single SCSI drive). De voordelen van command queuing gelden net zo hard voor de single disk Cheetah 10K.6 als voor de drie Cheetahs in software en RAID 5. In het geval van ATA schijven is er bij geen enkele config (single disk / RAID) command queuing dus kan het ook geen invloed hebben op de relatieve prestaties.

Wat je waarschijnlijk zult gaan zien is dat ATA veel slechter presteert in de serversimulaties vanwege het ontbreken van command queueing. De verhoudingen tussen single disk en RAID 5 zullen ongeveer gelijk zijn aan de verhoudingen bij de SCSI configuraties.
Ik denk dat je wel wat verschil zou kunnen zien tussen de goedkopere ATA-RAIDkaartjes en de volledig swRAID. Dit omdat die goedkope RAIDkaartjes door hun driver als SCSI-device behandeld zullen worden en mogelijk in de driver toch command queueing geïmplementeerd hebben.
Aan de andere kant, als je >2 IDE HDD's een beetje fatsoenlijk wilt aansluiten, zul je toch al een extra ATA-controller moeten gebruiken en die worden ook als SCSI-device gezien, door windows.

Nadeel van het ontbreken van commandqueueing op IDE-schijven is ook dat een 2e schijf niet aangesproken kan worden voordat de eerste schijf klaar is, of is dat alleen het geval wanneer ze op dezelfde kabel zitten? (en dus geen issue bij 2 schijven op een andere kabel)
Zou het voordeel van command queueing ook niet kleiner worden bij gebruik van raid? Het volume als geheel doet dat soort dingen zowiezo, danwel in het OS danwel op de hardware controller, en het gebruikspatroon van de schijven in de array zou een stuk minder random moeten zijn, als de controller z'n werk goed doet..
Zou het voordeel van command queueing ook niet kleiner worden bij gebruik van raid?
Ik denk het niet, eerder groter.
Wanneer op een RAID-station random kleine files worden ingelezen, zal er per schijf een kleiner stukje data gelezen worden per lees-actie, dan wanneer je een enkele schijf benaderd.
Oftewel er zal bij veel random access (database-achtige zaken bijvoorbeeld) vaker van hop naar her gesprongen moeten worden.
In principe heeft het OS geen weet van de locatie van files op een fysiek medium en weet zelfs niet of een sector verder meteen beschikbaar is, of dat er een kopverplaatsing voor nodig is. Dat soort dingen regelt de drive.
het gebruikspatroon van de schijven in de array zou een stuk minder random moeten zijn, als de controller z'n werk goed doet..
lijkt me wel ja, maar dat zal voor een IDE-RAID oplossing een ingewikkeld algoritme zijn, daar de controller/driver op de hoogte moet zijn van de indeling op de schijf, om vergelijkbaar te presteren als een schijf die van zichzelf command queueing ondersteund.
Werkt dit eigenlijk ook als je 3 schijven aansluit op de standaard controller op je mobo?
Of moet je echt een extra controller aan schaffen omdat 2 schijven in de array niet op de master/slave van één kanaal mogen zitten?
Het zal waarschijnlijk wel werken, mar verschrikkelijk traag omdat de twee schijven op hetzelfde kanaal op elkaar moeten wachten. :Z
Dat zal wel meevallen want als de IDE-bus heeft een veel hogere bandbreedte dan de snelste huidige harde schijf.
Maakt niet uit, zolang de ene shijf bezig is met een request, kan de andere niet benaderd worden, laat staan zelf een request afhandelen. Dit is nu eenmaal inherent aan ATA;
Zeer mooi en duidelijk artikel. Goed om te zien dat de software RAID5 toch nog nuttig kan zijn. Velen schrijven het zonder pardon af.

Edit: kan je trouwens echt niet vanaf een sw mirror booten? de drivers zijn als critical drivers bij het begin van het booten al in geheugen dacht ik (NT4, w2k).
AuteurFemme UX Designer @arnob1 april 2003 16:32
Windows kan wel booten vanaf een software mirror maar niet vanaf een software stripe of sw RAID 5 partitie.
Ik begon al aan m'n geheugen te tweifelen ja :+
http://support.microsoft.com/default.aspx?scid=kb;EN-US;113977
Hoogstwaarschijnlijk met dank aan mij voor het open van deze thread:

http://gathering.tweakers.net/forum/list_messages/733248
Femme, voor dit artikel ontbreekt er een smiley in jouw galerij (knielend met handen wuivend naar de grond) :)

Jij bevestigd wat ik in de praktijk al heb gemerkt. Voor een van mijn relatie heb ik een Win2000 sw RAID 5 configuratie met 4x 9Gig. U2W SCSI disks. Relatie was niet van plan om € 500+ neer te leggen voor een hardware RAID maar wilde wel de redundancy. Dit werkt al 2 jaar uitstekend. Onlangs ging één van de HD's kapot en heb ik deze vervangen. De gebruikers hadden niet eens gemerkt dat de server trager was in de week dat de RAID combinatie op 3 schijven liep (PIII 750 Mhz. 1 Gig). Na vervanging duurde de rebuild ongeveer één uur en tijdens dit proces liep de serverbelasting op tot 40%.
Inmiddels is de server geupgrade naar 2x AMP MP 2200+ en tijdens het maken van de backup naar een apart SCSI kanaal blijft de processor belasting onder de 6%.
"respect" bedoel je? Met dubbele punten er om heen?
Werkt dit ook onder win2k?
Ja via een registry/filehack is het ook mogelijk om RAID 5 in Windows 2000 (ja zelfs de pro versie) te draaien.

Zie ook pag 217 van de duitse versie van de C'T 7/2003

'Dynamische Datenträger: RAID mit Windows 2000/XP'

En ja C'T is in duitsland 2 wekelijks :)

Op dit item kan niet meer gereageerd worden.