Uit de pagina op
Wikipedia: GPT leid ik juist af dat Hackintosh een aanpaste bootloader is voor non-EFI BIOSen zodat die van een normale MBR partitie kunnen booten ipv GPT. Of begrijp ik dit verkeerd en zijn alle non-Apple PCs die OSX draaien automatisch 'hackintosh'?
Femme schreef op woensdag 26 oktober 2011 @ 14:11:
De scheiding tussen hardware en software raid is nogal vaag aangezien geen enkele moderne en geavanceerde raid-controller raid doet in hardware. Raid wordt in principe altijd geïmplementeerd in software. Sommige raid-controllers draaien die software zelf, anderen zijn grotendeels afhankelijk van de host cpu (via drivers).
Je bedoelt dat Hardware RAID controllers in principe een SoC (system-on-a-chip) zijn zoals een ARM core met firmware die RAID softwarematige op zijn eigen SoC draait? Dat is een vorm van software ja, maar wel helemaal 'offloaded' naar 'externe hardware' en niet iets wat softwarematig op de host CPU draait.
Zoals ik het zie heb je dus verschillende RAID implementaties:
1) Full hardware-RAID; vaak van die supersimpele RAID0 of RAID1 implementaties die echt hardware zijn, soms met een jumper of dipswitch om tussen RAID0, RAID1 of JBOD te schakelen. Doet zich voor als normale ATA controller en heeft geen speciale driver nodig. Echte voorbeelden heb ik niet.
2) SoC Hardware RAID; met Intel IOP en dus eigen geheugen. Wat we normaliter hardware RAID noemen. De host CPU moet een hele kleine driver hebben als doorgeefluik, maar eigenlijk alles is offloaded naar de RAID controller wat in feite een mini-computer is die alle RAID functionaliteit op zich neemt. OS ziet alleen arrays, en mag/kan nooit de fysieke disks direct raadplegen. Voorbeeld: Areca.
3) Hardware RAID met een binary blob driver, zoals diverse Highpoint controllers die de host CPU gebruiken. De controller mist een sterke SoC zoals Intel IOP maar heeft wel degelijk eigen firmware en een SoC. Net als hierboven mag je de disks niet direct raadplegen. Maar je host CPU wordt wel belast met RAID taken zoals berekening van parity.
4) Driver RAID / FakeRAID / HybridRAID / FirmwareRAID / Onboard RAID. Al die termen betekenen hetzelfde: een EEPROM die een RAID BIOS setup utility geven die zich als bootable kan registreren (interrupt 19 capture) bij de systeem BIOS en een read-only vorm van RAID implementeren die genoeg functionaliteit heeft om booten mogelijk te maken, kan ook de metadata lezen en schrijven. Zodra je bent geboot in Windows nemen de drivers het over en wordt het volume read/write. De drivers implementeren dan alles en er is 0,0 hardware acceleratie. DriverRAID zou dus het meest accuraat zijn, alleen mis je dan nog het feit dat de bootstrap wel als hardware feature gezien kan worden.
5) Software RAID op OS-level; werkt op alle controllers; volledig OS afhankelijk. Vaak niet bootable, maar er zijn uitzonderingen zoals ZFS op FreeBSD die RAID-Z (RAID5), RAID-Z2 (RAID6) en RAID-Z3 kan booten zonder hardware support.
FakeRaid vind ik persoonlijk een debiele benaming. Als je de driver weghaalt heb je inderdaad geen werkend raid-array meer, maar dat probleem heb je ook als je een zgn hardware raid-adapter vervangt door een andersoortige raid-controller of de firmware zou wissen. Afhankelijkheden heb je altijd.
FakeRAID doelt denk ik vooral op het feit dat mensen onboard RAID als hardwarematige RAID beschouwen, en denken dat het moederbord een soort chip gevat die hardwarematig RAID functionaliteit 'offload' om je host CPU te ontlasten. Dat is dus niet zo, en daarom is het 'Fake'. Het is namelijk gewoon verkapte software RAID. Het is ook alleen voor Windows, dus Windows-only driverRAID in feite.
Dat wil nog niet direct iets zeggen over de kwaliteit; Intel RST RAID drivers valt dus onder 'FakeRAID' maar is voor Windows wel de beste software RAID driver die beschikbaar is. Vooral de volume write-back cache die RAM als write-back gebruikt en dus burst van 2GB/s+ mogelijk maakt zijn een coole feature van de Intel RST drivers.
Overigens: als je Areca controller zou vervangen door een andere controller, kun je in principe gewoon de huidige array gebruiken. Zou je de metadata overschrijven door een nieuwe array aan te maken volgens de exact dezelfde instellingen (RAID level, stripesize, offset, disk order, metadata location) dan kun je in principe prima migreren. Blijft wel een gevaarlijke operatie natuurlijk, maar ik heb het gedaan met mijn Areca. Ook leuk is om te weten dat Linux en FreeBSD een pseudoRAID driver hebben die de metadata formaten van Areca, Highpoint, Intel, AMD, Silicon Image, Promise en andere RAID kunnen inlezen en hun eigen software RAID laag kunnen toepassen. Dat is best wel kewl en maakt bijvoorbeeld een Linux+Windows dualboot met onboard RAID mogelijk.