Hardware- og programvare-RAID
RAID-systemer (Redundant Array of Inexpensive Disks) implementeres på én av to grunnleggende måter: programvare eller dedikert maskinvare. Begge metodene er svært levedyktige og har sine egne fordeler.
I SMB-markedet, der Intel- og AMD-arkitektursystemer og Windows-operativsystemer dominerer, er hardware-RAID så utbredt at det har oppstått mye forvirring rundt programvare-RAID, delvis – som vi skal se – på grunn av mengden falske programvare-RAID-produkter markedsført som dedikert maskinvare og kjent i dagligtale som “Fake RAID.”
Da RAID først ble utviklet, ble det brukt som programvare på avanserte enterprise-servere som kjørte proprietær UNIX, der systemene var svært stabile og maskinvaren svært kraftig og robust, noe som gjorde programvare-RAID meget effektivt. Tidlig RAID var primært fokusert på speilet RAID eller svært enkel paritet-RAID (som RAID 2) som hadde liten prosessorbelastning.
Etter hvert som behovet for RAID begynte å spre seg til det mindre servermarkedet og paritet-RAID vokste i popularitet og krevde mer prosessorkraft, ble det et problem at de underdimensjonerte prosessorene i x86-markedet ble betydelig påvirket av prosessorbelastningen fra RAID, spesielt RAID 5. Dette, kombinert med at nesten ingen operativsystemer som ble mye brukt på disse plattformene hadde programvare-RAID-implementasjoner, førte til den naturlige utviklingen av hardware-RAID – et avlastningsprosessorkort (tilsvarende et GPU for grafikk) med sin egen komplette datamaskin med CPU, minne og fastvare.
Hardware-RAID løste RAID-overhead-problemet i x86-servermarkedet svært godt. Etter hvert som CPUer fikk mer kraft og minne ble mindre knapt, begynte populære x86-operativsystemer som Windows Server å tilby programvare-RAID-alternativer. Spesielt Windows sin programvare-RAID var kjent som en dårlig RAID-implementasjon og var bare tilgjengelig på serverversjoner av operativsystemet, noe som skapte manglende respekt for programvare-RAID blant systemadministratorer som primært jobbet med Windows.
På grunn av historiske implementasjoner i enterprise-servermarkedet og x86-maskinvaremarkedet oppstod det en naturlig separasjon mellom de to markedene, støttet først av teknologi og deretter rent av ideologi. Snakker du med en systemadministrator i maskinvaremarkedet, vil du nesten universelt høre at hardware-RAID er det eneste alternativet. Snakker du derimot med en systemadministrator i mainframe-, RISC- (Sparc, Power, ARM) eller EPIC- (Itanium) servermarkedet (noen ganger kalt UNIX-servere), vil du ofte møte overraskelse, ettersom hardware-RAID ikke er tilgjengelig for disse systemklassene – programvare-RAID er rett og slett en selvfølge. Ingen av leirene synes å ha reell kunnskap om situasjonen i den andre, og kompetansekrysning mellom disse to er relativt sjelden – inntil nylig, da enterprise UNIX-plattformer som Linux, Solaris og FreeBSD har blitt svært populære og godt forstått på maskinvareplattformer.
For å gjøre det enda mer forvirrende for maskinvareservermarkedet begynte et stort antall leverandører, for å fylle vakuumet som ble igjen av den dominerende operativsystemleverandørens manglende programvare-RAID for ikke-serveroperativsystemmarkedet, å selge ikke-RAID-kontrollerkort med en «driver» som egentlig var programvare-RAID, og later som om det resulterende produktet var hardware-RAID. Dette skapte i beste fall stor forvirring og i verste fall enorm forakt for programvare-RAID, ettersom nesten ethvert system hvis kjerneformål er å beskytte data, men hvis marked er bygget på bedrag og forvirring, vil resultere i katastrofe. Fake RAID-systemer har rutinemessig problemer med ytelse og pålitelighet. Selv om et tredjeparts programvare-RAID-pakke i teorien er et rimelig alternativ, er virkeligheten i programvare-RAID-markedet at i praksis alle kvalitetsimplementasjoner av programvare-RAID er native komponenter enten i selve operativsystemet (Linux, Mac OSX, Solaris, Windows) eller i filsystemet (ZFS, VxFS, BtrFS) og leveres og vedlikeholdes av primære leverandører, noe som gir lite rom eller formål for tredjepartsprodukter utenfor Windows-desktopmarkedet, der noen få, små legitime programvare-RAID-aktører eksisterer, men ofte er overskygget av Fake RAID-aktørene.
I dag er det nesten ikke noe behov for hardware-RAID ettersom maskinvareplattformer er utrolig kraftige og det nesten alltid er et dramatisk overskudd av både beregnings- og minneressurser. Hardware-RAID konkurrerer i stedet i stor grad basert på funksjoner heller enn på å redusere ressursbelastning. Valget av hardware-RAID versus programvare-RAID i maskinvareservermarkedet er nesten utelukkende et spørsmål om preferanse og markedsmessig treghet heller enn om spesifikk ytelse eller funksjoner – begge plattformene er i bunn og grunn likeverdige, der individuelle implementasjoner er langt viktigere ved vurdering av produktalternativer enn hardware- og programvaretilnærmingene er i seg selv.
I dag er hardware-RAID-tilbud mer «generiske» med heller vanille-implementasjoner av standard RAID-nivåer. Hardware-RAID tenderer til å hente sin verdi gjennom redusert ressursbelastning (avlasting av CPU og minne), muligheten til å «blindt bytte» feilet disker, forenklet lagringsstyring, blokklagring agnostisk abstrahert fra operativsystemet, rask cache nær diskene og batteri- eller flash-støttet cache. Programvare-RAID tenderer til å hente sin verdi gjennom lavere strømforbruk, lavere anskaffelseskostnad, integrert styring med operativsystemet, unike eller avanserte RAID-funksjoner (som ZFS’ RAIDZ som ikke lider av standard RAID 5 write hole) og generelt bedre samlet ytelse. Det er virkelig ikke en diskusjon om bedre eller verre, men om bedre eller verre for en svært spesifikk situasjon, der den viktigste faktoren ofte er kjennskap og komfort og/eller standard leverandørtilbud.
En av de mest oversette men viktige forskjellene mellom hardware- og programvare-RAID er endringen i jobbrolleansvar knyttet til RAID-arraystyring. Hardware-RAID flytter håndteringen av arrayen til serveradministratoren (støtterollen som jobber med den fysiske serveren og er stasjonert i datasenteret), mens programvare-RAID flytter håndteringen av arrayen til systemadministratoren (støtterollen som jobber med operativsystemet og oppover og sjelden befinner seg i datasenteret). I SMB-markedet kan denne faktoren bli fullstendig oversett, men i et Fortune 500-selskap kan forskjellen i jobbroller være svært betydelig. I mange tilfeller med hardware-RAID kan diskbytter og systemoppsett gjøres uten behov for systemadministratorinngripen. Datasenterserveradministratorer kan oppdage feilet disker enten gjennom varsler eller ved å se etter «oransje lys» under gjennomganger og gjøre bytter på stedet uten å måtte kontakte noen eller vite hva serveren kjører. Programvare-RAID vil nesten alltid kreve at systemadministratoren er involvert i å koble fra en feilet disk, koordinere bytter med datasenteret og koble til den nye disken når byttet er fullført.
På grunn av måten CPU-avlasting og ytelse fungerer på og på grunn av noen fordeler i måten ikke-standard RAID-implementasjoner ofte håndterer paritet-RAID-rekonstruksjon på, er det en tendens til at speilede RAID-nivåer favoriserer hardware-RAID og programvare-RAID-nivåer favoriserer paritet-RAID. Paritet-RAID er dramatisk mer CPU-intensivt, og tilgang til de kraftige sentrale CPU-ressursene kan derfor være en stor faktor i å fremskynde RAID-beregninger. Men med speilet RAID, der RAID-rekonstruksjon er langt sikrere enn med paritet-RAID og der automatiserte gjenoppbygginger er viktigere, bringer hardware-RAID fordelen med å enkelt muliggjøre blind diskbytting.
Et aspekt av hardware- og programvare-RAID-diskusjonen som er ekstremt paradoksalt, er at det samme markedet som ofte avviser programvare-RAID som underlegent hardware-RAID, nesten fullstendig overlapper (du kan for deg det Venn-diagrammet) med markedet som mener at filservere er underlegne maskinvare-NAS-applianser – men disse NAS-appliansene i SMB-markedet er nesten universelt basert på de samme programvare-RAID-implementasjonene som avvises. Så det anses ofte som både underlegent og overlegent samtidig. Noen NAS-enheter i SMB-markedet og NAS-applianseprogramvare som er basert på programvare-RAID inkluderer: Netgear ReadyNAS, Netgear ReadyData, Buffalo Terastation, QNAP, Synology, OpenFiler FreeNAS, Nexenta og NAS4Free.
Det er virkelig ingen “bruk alltid den ene eller den andre måten” med hardware- og programvare-RAID. Selv gigantiske enterprise-NAS- og SAN-applianser til seks sifre er uenige om hvilken de skal bruke, med deler av bransjen som går i hver retning. Det virkelige svaret er det avhenger av din spesifikke situasjon – din jobbrolleSeparasjon, dine tekniske behov, din erfaring, ditt budsjett osv. Begge alternativene er fullstendig levedyktige i enhver organisasjon.
