Een Onboard RAID functie zonder XOR berekeningen? Even duidelijk maken wat onboard RAID is:
Onboard RAID is niets meer dan een SATA controller (AHCI/IDE) met wat firmware voor apart RAID BIOS setup waarmee je een array kan maken. De firmware zorgt er ook voor dat je array bootable is. De firmware heeft dus een klein beetje kennis van RAID, maar niet veel en read-only. Alleen de metadata wordt beschreven.
Zodra je Windows in boot, nemen de drivers het over. De drivers implementeren RAID. De hardware is niets meer dan een SATA controller; geen enkele RAID acceleratie vindt er plaats; het is puur software RAID door middel van drivers. Onboard RAID is dus absoluut geen Hardware RAID, en wordt om die reden vaak ook FakeRAID genoemd omdat het de suggestie wekt dat er een hardwarematig component aan vast zit, maar na het booten van Windows is dat niet meer het geval, al vrij vroeg in de bootcyclus nemen de RAID drivers het over.
Deze drivers maken de fysieke schijven onzichtbaar/ontoegankelijk, en presenteren een virtuele RAID device. De drivers maken gebruik van je CPU en RAM voor alle berekeningen.
Nu heb je met RAID5 een veel ingewikkeldere implementatie nodig dan RAID0 of RAID1, RAID5 vergt een intelligente en complexe software driver. Hoe meer intelligentie de driver implementeert, des te hoger het CPU verbruik maar ook des te hoger de snelheid. Hoe dommer de driver is, des te lager het CPU verbruik maar ook des te lager de snelheden. Dus:
Simpele RAID5 driver:- laag CPU verbruik en XOR stelt niets voor (20/7000 = 0,003% CPU gebruik voor XOR uitgaande van singlecore CPU)
- laat de schijven continu seeken; CPU is 99%+ idle en schijven seeken continue; 20MB/s schrijfsnelheid max
- zeer intensief voor je schijven omdat ze continu seeken wat in consumentenconfiguraties haast nooit gebeurt en vast niet goed is voor de levensduur van je schijven en bovendien snelheid om te huilen
Intelligente RAID5 driver:- fors hoger CPU verbruik; XOR is maar een summier deel hiervan (600/7000 = 0,08% van de CPU in gebruik voor XOR berekeningen)
- laat de schijven bijna nooit seeken
- hoger CPU belasting (~50%), mogelijk multithreaded, 600MB/s+ schrijfsnelheden
Conclusies:- XOR is een supersimpele instructie. Iedereen die zegt dat RAID5/6/7 traag is vanwege XOR heeft het niet goed begrepen. Een simpele sempron kan gigabytes XOR per seconde verstouwen. Een Intel Atom ook. Je kunt het zelf meten bij het booten van de Ubuntu distro wordt je XOR snelheid gemeten.
- RAID5 is héél traag met schrijven tenzij de RAID5 engine een 'write-back engine' heeft die schrijfrequests opspaart en precies in een magische blokgrootte (full stripe block) wegschrijft. Alleen met zo'n write-back engine kan RAID5 snel zijn; zonder zo'n engine krijg je 15-20MB/s snelheden terwijl met een goede RAID5 engine zo'n 600MB/s+ makkelijk haalbaar moet zijn.
- High-performance RAID5 drivers zijn erg complex en zeldzaam.
- RAID5 levert risico's op die afgedekt moeten worden, of je data integriteit staat ter discussie. (write hole)
- CPU gebruik voor RAID5 is een non-issue omdat je liever méér CPU gebruik en hogere snelheid hebt, dan een lage snelheid en je CPU staat eindeloos te idlen. Je wilt JUIST je CPU aan het werk houden, niet ontzien!
- Je CPU is veel efficienter en sneller dan een hardware RAID XOR engine (lees: ARM/PPC SoC)
Misschien een domme vraag hoor, maar waarom zou ik later met ZFS aan de slag willen?
Omdat je doorhebt dat bijna alle RAID5 eigenlijk heel onveilig is en je gemakkelijk ontzettend heel veel data kunt kwijtraken terwijl je dacht dat je altijd één schijf mocht verliezen voordat je uberhaupt iets kwijtraakte. Helaas is dat een illusie en als je veel data bent kwijtgeraakt met een RAID5 array waarvan je dacht dat je beschermd was, wil je misschien wel iets wat je échte veiligheid biedt. En dat is ZFS. ZFS is wat RAID has moeten zijn, gezien de theorie eromheen. Helaas is Windows-achtig RAID altijd onbetrouwbaar gebleven en met veel problemen omgeven die normale stervelingen onbekend zijn maar wel hun data kan slopen.
ZFS biedt je veel meer zekerheid en bescherming voor je bestanden, en je kunt gebruik maken van goedkope componenten zoals een HBA controller ipv RAID controller, normale desktopschijven ipv TLER RAID edition schijven, enzovoorts.
En een raid controller die gewoon met JBOD werkt is dan toch geen probleem?
JBOD is een breed begrip. Just a Bunch Of Disks; wat is dat precies. De term wordt los gebruikt voor heel verschillende begrippen:
- Concatenation; een vorm van RAID vergelijkbaar met RAID0, maar zonder striping. Elke disk wordt achter elkaar geplakt. Dus disk1 = 300GB en disk2 = 700GB dan is een concat van beide dus 1000GB groot en disk2 begint dan op 300GB van de capaciteit van de virtuele concat array.
- Individuele disks aangesloten op een RAID controller kunnen in JBOD werken zodat de controller geen metadata leest van de disks, maar elke disk als losse disk beschouwt. Dit betekent nog steeds dat de firmware de baas is en bij bad sectors de schijf eruit kan kicken als het dat wilt.
- non-RAID HBA: een echte non-RAID controller die het OS de volledige controle geeft. Dit is het soort controller dat je wilt voor ZFS, zodat je nooit meer uitvallende schijven hebt die plotsklap geen deel meer uitmaken van je RAID array.
Ik kan natuurlijk ook een linux distro nemen, maar mijn linux kennis rijkt niet veel verder dan een apache server herstarten

Behalve een algemeen linux OS kun je ook gewoon een NAS-specifieke distro gebruiken waardoor je je met details niet meer hoeft bezig te houden; in 15 minuten heb je je server draaien met iets als FreeNAS, NexentaStor of ZFSguru; allemaal NAS-specifieke distro's die ook ZFS ondersteuning hebben. ZFS draait overigens niet of nauwelijks onder Linux; het is een UNIX-specifieke techniek.
Je moet iets hebben wat 'gewoon werkt' en liefst helemaal dedicated alleen voor sharen van bestanden. Dan hou je je setup simpel, kan er maar weinig misgaan en kun je gewoon betrouwbare storage realiseren met een tweaker-budget dus geen dure RAID controllers of TLER schijven om vervolgens alsnog een onveilige RAID engine te draaien. Zeker nu met 2TB schijven en relatief hoge BER rate is ZFS een alternatief waar velen baat van hebben, ze moeten alleen nog kennismaken met de voordelen.