Inleiding
Wie 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 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.

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.
Testconfiguratie
De RAID 5 prestatietests werden uitgevoerd op de configuratie die in de
Tekram DC-390U4B Ultra320 SCSI adapter
Als vergelijkingsmateriaal voor de prestaties van de softwarematige RAID 5 array werd een LSI Logic MegaRAID Elite 1600 met 128MB cache en battery backup unit (BBU) in stelling gebracht. De MegaRAID Elite 1600 staat bekend als een goed presterende RAID 5 controller. De adapter beschikt over een twee-kanaals QLogic ISP12160A Ultra160 SCSI controller en is voorzien van een 100MHz Intel 960RN I/O processor. Dankzij de aanwezigheid van een BBU kan de MegaRAID zonder gevaar voor gegevensverlies geconfigureerd worden met writeback caching. Deze prestatieverbeterende feature werd derhalve ingeschakeld. De Tekram en LSI Logic adapters werden getest met de laatste firmware- en driverversies. De ondersteuning van LSI Logic kan op dit gebied zeer goed genoemd worden. Hoewel de MegaRAID Elite 1600 al meer dan twee jaar oud is en oorspronkelijk door American Megatrends op de markt werd gebracht, vond de laatste firmware release slechts twee weken geleden plaats. De prestaties van de MegaRAID werden getest in Winbench, ATTO, IOmeter en onze volledige suite van desktopbenchmarks.


LSI Logic MegaRAID Elite 1600 SCSI RAID adapter
Omdat het meer dan drie uur duurt om een 66GB grote software RAID 5 partitie door IOMeter te laten voorbereiden, zijn de IOMeter simulaties uitgevoerd op een kleinere partitie van 10GB. De single disk en hardware RAID 5 benchmarks werden eveneens uitgevoerd op een partitie van 10GB.
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.

Intel 960RN I/O processorOnze 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.