Hardware- en software-RAID
RAID-systemen, oftewel Redundant Array of Inexpensive Disks, worden op een van twee fundamentele manieren geïmplementeerd: via software of via toegewijde hardware. Beide methoden zijn zeer levensvatbaar en hebben hun eigen verdiensten.
In de wereld van het kleinbedrijf, waar systemen met Intel- en AMD-architectuur en Windows-besturingssystemen de dienst uitmaken, is hardware-RAID zo gangbaar dat er veel verwarring is ontstaan rond software-RAID, voor een niet onbelangrijk deel, zoals we zullen zien, door de overvloed aan oplichtersproducten op het gebied van software-RAID die als toegewijde hardware worden aangeprezen en in de volksmond bekendstaan als “Fake RAID”.
Toen RAID voor het eerst werd ontwikkeld, werd het in software gebruikt op high-end enterpriseservers die zaken als propriëtaire UNIX draaiden, waar de systemen uiterst stabiel waren en de hardware zeer krachtig en robuust was, waardoor software-RAID zeer goed werkte. Vroege RAID was voornamelijk gericht op mirrored RAID of zeer eenvoudige pariteits-RAID (zoals RAID 2), die weinig overhead met zich meebracht.
Toen de behoefte aan RAID begon over te slaan naar de wereld van de kleinere servers en parity-RAID steeds populairder werd, waarvoor meer rekenkracht nodig was om het te ondersteunen, werd het een probleem dat de onderbedeelde processors in de x86-wereld aanzienlijk werden belast door de verwerkingslast van RAID, met name RAID 5. Dit, gecombineerd met het feit dat vrijwel geen enkel besturingssysteem dat veelvuldig op deze platforms werd gebruikt een software-RAID-implementatie had, leidde tot de natuurlijke ontwikkeling van hardware-RAID – een offload-processorkaart (vergelijkbaar met een GPU voor grafische weergave) die zijn eigen complete computer aan boord had, met een eigen CPU, geheugen en firmware.
Hardware-RAID werkte zeer goed in het oplossen van het overheadprobleem van RAID in de wereld van de x86-servers. Naarmate CPU's krachtiger werden en geheugen minder schaars werd, begonnen populaire x86-besturingssystemen zoals Windows Server software-RAID-opties aan te bieden. Met name de software-RAID van Windows stond bekend als een slechte RAID-implementatie en was alleen beschikbaar in serverversies van het besturingssysteem, wat leidde tot een gebrek aan waardering voor software-RAID in de gemeenschap van systeembeheerders die voornamelijk met Windows werkten.
Vanwege de historische implementaties in de wereld van de enterpriseservers en die van de x86-commodityhardware ontstond er een natuurlijke scheiding tussen de twee markten, die aanvankelijk werd ondersteund door technologie en later louter door ideologie. Als u met een systeembeheerder in de commoditywereld spreekt, hoort u vrijwel zonder uitzondering dat hardware-RAID de enige optie is. Spreekt u daarentegen met een systeembeheerder in de wereld van mainframes, RISC (Sparc, Power, ARM) of EPIC (Itanium) servers (soms UNIX-servers genoemd), dan wordt u vaak met verbazing onthaald, aangezien hardware-RAID niet beschikbaar is voor die klassen van systemen – software-RAID is daar simpelweg een vanzelfsprekendheid. Geen van beide kampen lijkt een werkelijk besef te hebben van de situatie in het andere kamp, en een overlap in vaardigheden tussen deze twee is relatief zeldzaam, althans tot voor kort, nu enterprise-UNIX-platforms zoals Linux, Solaris en FreeBSD zeer populair en goed begrepen zijn geworden op commodityhardwareplatforms.
Om de zaken voor de wereld van de commodityservers nog verwarrender te maken, begon een groot aantal leveranciers, om het vacuüm op te vullen dat de dominante leverancier van besturingssystemen had achtergelaten door het ontbreken van software-RAID voor de niet-servermarkt en in een poging een minder technisch onderlegd doelpubliek te bereiken, niet-RAID-controllerkaarten te verkopen samen met een “driver” die in werkelijkheid software-RAID was, terwijl ze deden alsof het resulterende product daadwerkelijk hardware-RAID was. Dit zorgde in het beste geval voor veel verwarring en in het slechtste geval voor een enorme minachting voor software-RAID, aangezien vrijwel elk systeem waarvan de kernfunctie de bescherming van gegevens is en waarvan de markt is opgebouwd op misleiding en verwarring, zal uitlopen op een ramp. Fake RAID-systemen kampen geregeld met problemen op het gebied van prestaties en betrouwbaarheid. Hoewel een software-RAID-pakket van een derde partij in theorie een redelijke optie is, is de realiteit van de software-RAID-markt dat vrijwel alle kwalitatief hoogwaardige software-RAID-implementaties native componenten zijn van ofwel het besturingssysteem zelf (Linux, Mac OSX, Solaris, Windows) ofwel het bestandssysteem (ZFS, VxFS, BtrFS) en worden geleverd en onderhouden door de primaire leveranciers, waardoor er weinig ruimte of nut overblijft voor producten van derden, buiten de wereld van de Windows-desktop, waar enkele kleine, legitieme software-RAID-spelers wel bestaan, maar vaak in de schaduw worden gesteld door de Fake RAID-spelers.
Vandaag de dag is er vrijwel geen behoefte meer aan hardware-RAID, aangezien commodityplatforms ongelooflijk krachtig zijn en er vrijwel altijd een dramatisch overschot is aan zowel reken- als geheugenbronnen. Hardware-RAID concurreert in plaats daarvan voornamelijk op basis van functies in plaats van op het verminderen van de belasting van de bronnen. De keuze voor hardware-RAID versus software-RAID in de wereld van de commodityservers is vrijwel volledig een kwestie van voorkeur en marktmomentum, in plaats van van specifieke prestaties of functies – beide platforms zijn in wezen gelijkwaardig, waarbij de individuele implementaties veel belangrijker zijn bij het overwegen van productopties dan de hardware- en softwarebenaderingen op zichzelf.
Tegenwoordig zijn de aangeboden hardware-RAID-oplossingen doorgaans meer “generiek”, met nogal vlakke implementaties van standaard-RAID-niveaus. Hardware-RAID neigt zijn waarde te ontlenen aan vermindering van het gebruik van bronnen (offload van CPU en geheugen), de mogelijkheid om defecte schijven “blind te verwisselen”, vereenvoudigd opslagbeheer, opslag op blokniveau die agnostisch is geabstraheerd van het besturingssysteem, snelle cache dicht bij de schijven en door batterij of flash ondersteunde cache. Software-RAID neigt zijn waarde te ontlenen aan een lager stroomverbruik, lagere aanschafkosten, geïntegreerd beheer met het besturingssysteem, unieke of geavanceerde RAID-functies (zoals ZFS’ RAIDZ, dat geen last heeft van het standaard write hole van RAID 5) en doorgaans betere algehele prestaties. Het is werkelijk geen discussie over beter of slechter, maar over beter of slechter voor een zeer specifieke situatie, waarbij de belangrijkste factor vaak vertrouwdheid en gemak en/of het standaardaanbod van de leverancier is.
Een van de meest over het hoofd geziene maar belangrijke onderscheidende factoren tussen hardware- en software-RAID is de verschuiving in de functierol die met het beheer van de RAID-array samenhangt. Hardware-RAID verplaatst het beheer van de array naar de serverbeheerder (de ondersteunende rol die aan de fysieke server werkt en in het datacenter is gestationeerd), terwijl software-RAID het beheer van de array verplaatst naar de systeembeheerder (de ondersteunende rol die werkt aan het besturingssysteem en daarboven en zelden in het datacenter zit). In de markt van het mkb wordt deze factor wellicht volledig over het hoofd gezien, maar in een Fortune 500-bedrijf kan het verschil in functierol zeer significant zijn. In veel gevallen kunnen met hardware-RAID schijfvervangingen en systeeminstallatie worden uitgevoerd zonder dat tussenkomst van de systeembeheerder nodig is. Serverbeheerders in het datacenter kunnen defecte schijven ontdekken, hetzij via meldingen, hetzij door tijdens hun rondes te letten op “oranje lampjes”, en de vervangingen ter plekke uitvoeren zonder iemand te hoeven contacteren of zelfs maar te weten wat de server draait. Software-RAID zou vrijwel altijd vereisen dat de systeembeheerder betrokken is bij het beheren van het offline halen van een defecte schijf, het coördineren van het vervangingsproces met het datacenter en het online brengen van de nieuwe schijf zodra het vervangingsproces is voltooid.
Vanwege de manier waarop CPU-offloading en prestaties werken, en vanwege bepaalde voordelen in de manier waarop niet-standaard RAID-implementaties vaak de reconstructie van pariteits-RAID afhandelen, is er een neiging dat mirrored RAID-niveaus de voorkeur geven aan hardware-RAID en parity-RAID-niveaus de voorkeur geven aan software-RAID. Parity-RAID is drastisch CPU-intensiever, en daarom kan toegang tot de krachtige centrale CPU-bronnen een belangrijke factor zijn bij het versnellen van RAID-berekeningen. Maar bij mirrored RAID, waar de reconstructie van RAID veel veiliger is dan bij parity-RAID en waar geautomatiseerde herstelacties belangrijker zijn, biedt hardware-RAID het voordeel dat het blinde schijfvervanging zeer eenvoudig mogelijk maakt.
Een aspect van de discussie over hardware- en software-RAID dat uiterst paradoxaal is, is dat dezelfde markt die software-RAID vaak zonder meer afdoet als minderwaardig aan hardware-RAID vrijwel volledig overlapt (u kunt zich het Venn-diagram hier wel voor de geest halen) met de markt die vindt dat fileservers minderwaardig zijn aan commodity-NAS-apparaten, terwijl die NAS-apparaten in het mkb-segment vrijwel zonder uitzondering gebaseerd zijn op diezelfde software-RAID-implementaties die terloops worden afgedaan. Het wordt dus vaak tegelijkertijd als minderwaardig en als superieur beschouwd. Enkele NAS-apparaten in het mkb-segment, en NAS-apparaatsoftware, die op software-RAID gebaseerd zijn, zijn onder meer: Netgear ReadyNAS, Netgear ReadyData, Buffalo Terastation, QNAP, Synology, OpenFiler FreeNAS, Nexenta en NAS4Free.
Er bestaat werkelijk geen “gebruik altijd de ene of de andere manier” met hardware- en software-RAID. Zelfs reusachtige enterprise-NAS- en SAN-apparaten met prijskaartjes van zes cijfers zijn er niet uit welke ze moeten gebruiken, waarbij een deel van de branche elke richting opgaat. Het werkelijke antwoord is het hangt af van uw specifieke situatie – uw scheiding van functierollen, uw technische behoeften, uw ervaring, uw budget, enzovoort. Beide opties zijn in elke organisatie volledig levensvatbaar.
