Bekijk Volledige Versie : Raid 0 +1?
Hallo,
In mijn server steken momenteel twee disks van 250GB. De disk performance is helaas niet wat ik nodig heb. Mijn plan is nu om de twee disks in RAID 0 te configureren, maar gezien dat dat nu niet meteen een bijster veilige oplossing is, heb ik graag nog iets wat het overneemt wanneer een van de disks uitvalt.
De bedoeling is om de 2x250GB in RAID0 te laten draaien, en dat een disk van 500GB het zaakje kan overnemen wanneer er iets misgaat met de RAID0 array.
Er zit geen losse raidcontroller in, enkel de onboard op het Asus P5M2-M/C mobo (Intel® ICH7R, support RAID 0, 1, 0+1).
Is dit te fixen met RAID, of is het beter dat ik 's nachts een exacte kopie naar de disk van 500GB stuur?
Dit enkel met 4 identieke disks gedaan (raid 0+1), niet met 3.
Welke OS gebruik je ?
Met windows zou je het met de Intel Management kunnen doen.
Voor linux weet ik niet.
Mmm... het kan aan mij liggen, maar als je twee disks striped (2x zo snel), maar vervolgens mirrored met EEN disk (ik weet niet eens of dat kan, maar toch), dan blijft die ene disk in de mirror toch nog de vertragende factor? Als dat niet is (omdat die 500Gb gewoon 2x zo snel is als zo'n 250Gb disk), zou ik gewoon 2x 500Gb disks kopen en mirroren...
met de mdadm tools kun je dat op zich in elkaar knutselen, maar bedenkt wel dat je dan geen extra cache etcetera hebt, dus naast alle andere nadelen hiervan is de processor dan ook een beperking
De bedoeling is om de 2x250GB in RAID0 te laten draaien, en dat een disk van 500GB het zaakje kan overnemen wanneer er iets misgaat met de RAID0 array.
Dit heeft geen zin. Het punt is dat er gelijktijdig naar de 250GB schijven EN de 500GB schijf geschreven zal worden. Je krijgt dan een bottleneck bij die 500GB schijf en heeft de array dus de snelheid van die 500GB schijf. Wat lezen betreft zal het ook net zo snel zijn als een enkele schijf wanneer er van de 500GB schijf gelezen wordt (zover ik weet kan je namelijk niet instellen dat er ALLEEN van de 2x250GB schijven gelezen wordt).
Zo te horen heb je maar 3 drive bays beschikbaar. In dat geval zou ik simpelweg RAID 5 gebruiken. Niet zo snel als RAID 10 maar toch aanzienlijk sneller dan RAID 1. De enige manier om meer snelheid te verkrijgen dan RAID 5 (in dit geval) is door je hardware te upgraden (bijvoorbeeld snellere schijven gebruiken of het chassis vervangen door een met 4 hdd slots).
GlennMatthys
25/06/08, 16:37
Misschien toch ook eens kijken waarom de performance van de setup zo slecht is? Welke read speed (kan je gemakkelijk testen met hdparm) haal je uit de array?
Je gebruikt trouwens best zoveel mogelijk die onboard fakeraid zooi niet, schakel dat uit in het BIOS en gewoon linux software RAID gebruiken.
Je gebruikt trouwens best zoveel mogelijk die onboard fakeraid zooi niet, schakel dat uit in het BIOS en gewoon linux software RAID gebruiken.
Softwareraid is net zo slecht. Je kunt beter gewoon een echte raidcontroller aanschaffen.
Goed punt dat de disk van 500GB dan als vertragende factor optreed, stom van me. Is het een optie om een exacte (bootable) kopie te maken van de raid 0 setup naar de disk van 500GB, zeg, elke nacht om ... uur? Zoja, wat zijn hier de beste methodes voor?
Mocht een disk van 250 uitvallen is dat niet zo'n enorme ramp als ik vanuit de BIOS even een andere disk moet aantikken, iets waarbij uptime echt cruciaal bij is draait toch niet op de bak.
Softwareraid is net zo slecht. Je kunt beter gewoon een echte raidcontroller aanschaffen.Waar helaas geen plaats meer voor is..
De snelheid van de disks is meer dan behoorlijk voor deze Seagate's (7200.10, 16MB), +/-80MB/s, point beeing dat ik er graag meer uit haal.
GlennMatthys
25/06/08, 19:30
Softwareraid is net zo slecht. Je kunt beter gewoon een echte raidcontroller aanschaffen.
Iedereen heeft zijn (voor)oordelen over software RAID. Software RAID (onder linux) gebruik ik al ettelijke jaren en werkt gewoon prima. We kunnen hier nog lang discussiëren over software vs. hardware RAID (en verscheidene topics zijn hierop uitgelopen), maar zomaar zeggen "software RAID is slecht" zonder redenering vindt ik er toch echt wel over...
zomaar zeggen "software RAID is slecht" zonder redenering vindt ik er toch echt wel over...
Sluit ik me helemaal bij aan.
Ik denk niet direct dat MB's/sec hier een rol spelen, maar dat je eerder tegen je IOps aan zit.
Heb je je partities wel noatime gemount?
maar zomaar zeggen "software RAID is slecht" zonder redenering vindt ik er toch echt wel over...
Om maar enkele te noemen:
- Bij software RAID wordt alles door de CPU gedaan, bij hardware RAID wordt dit geheel door de raid controller gedaan. Bij RAID 1 valt de overhead wel mee, maar met striping en parity niet.
- Bij software RAID moet alle data door de system bus(sen) gevoerd worden, wat nogal een vertraging kan opleveren bij grote hoeveelheden data. Bij hardware RAID wordt dit door de raid controller gedaan en raken de systeem bussen dus niet verstopt bij hoog I/O gebruik.
- De bootloader is vaak maar aanwezig op 1 drive. Als die specifieke drive uitvalt, is de server down totdat je de boatloader weer werkend hebt op een andere drive.
- Hardware raid controllers kunnen werken met read/write cache (i.c.m. een batterij), wat de snelheid aanzienlijk bevorderd.
Ik denk niet direct dat MB's/sec hier een rol spelen, maar dat je eerder tegen je IOps aan zit.
Heb je je partities wel noatime gemount?Deel 1 begrijp ik, deel 2 is het deel waar mijn kennis tekort begint te schieten. :)
Mischien nog iets wat ik eerder had moeten vermelden, ik gebruik (of allersinds: ga gebruiken) LVM.
Wat ik dus eigelijk wil verwezelijken is de twee seagates in RAID0 te plaatsen, met een disk met de opslagcapaciteit van de twee seagates samen gebruiken als fallback mocht de raid0 setup naar de haaien gaan. Wat eenvoudige aanpassingen doen in de BIOS om de andere (500GB disk) te laten gebruiken is geen probleem. Punt is dan (denk ik), hoe maak ik best een exacte backup van de raid0 array naar de andere disk?
GlennMatthys
25/06/08, 20:22
Om maar enkele te noemen:
- Bij software RAID wordt alles door de CPU gedaan, bij hardware RAID wordt dit geheel door de raid controller gedaan. Bij RAID 1 valt de overhead wel mee, maar met striping en parity gaat werken niet.
Ja, maar dat weet je als je software RAID doet. En ik vind die processorbelasting serieus meevallen, hier neemt een reconstruct aan 80 mb/s zo'n 5% in beslag, en tegenwoordig met multi core heeft dat nog minder invloed. Hoeveel impact die berekeningen hebben hangt ook van af welke blocksize je gebruikt, experimenteren daarmee.
- Bij software RAID moet alle data door de system bus(sen) gevoerd worden, wat nogal een vertraging kan opleveren bij grote hoeveelheden data. Bij hardware RAID wordt dit door de raid controller gedaan en raken de systeem bussen dus niet verstopt bij hoog I/O gebruik.
PCI-express heeft per lane een bandbreedte van 250 MB/s, en de meeste SATA controllers op de southbridge zijn verbonden door middel van 4 lanes, wat neer komt op 1 GB/s. Zelf al reken je een overhead van 50%, komt dat nog altijd uit op 500 MB/s dat gebruikt wordt om effectief data te verzetten. Met andere woorden, bandbreedte zat!
- De bootloader is vaak maar aanwezig op 1 drive. Als die specifieke drive uitvalt, is de server down totdat je de boatloader weer werkend hebt op een andere drive.
Een beetje sysadmin weet dit ook en installeert gewoon grub op de tweede of meerdere drives.
- Hardware raid controllers kunnen werken met read/write cache (i.c.m. een batterij), wat de snelheid aanzienlijk bevorderd.
[/quote]
Het werkgeheugen van de server is één grote gigantische read/write cache (wat bijzonder effectief werkt onder linux).
Één feit is dat je wel moet weten wat je doet als je linux software RAID gebruikt. Je moet inderdaad het volledig IO path analyseren en kijken of dat je voldoende bandbreedte hebt.
het zijn gewoon twee verschillende dingen met verschillende toepassingen, Linux software RAID en een hardware RAID controller
Zijn er nog mensen met suggesties hoe ik best een exacte kopie van de RAID0 setup maak?
Voor de kopie lijkt hardware raid me het makkelijkste allersinds.
Dat lukt je niet met een raid-opstelling met maar 3 disks, tenzij je raid-5 gebruikt.
Overigens moet je kijken wat de bottleneck is, de lees performance van raid-1 en raid-0 is bijna gelijk, een goede controller (ook software raid) leest de data van beide disks bij raid-1, de schrijf performance is alleen veel lager.
GlennMatthys
28/06/08, 22:07
Dat lukt je niet met een raid-opstelling met maar 3 disks, tenzij je raid-5 gebruikt.
Overigens moet je kijken wat de bottleneck is, de lees performance van raid-1 en raid-0 is bijna gelijk, een goede controller (ook software raid) leest de data van beide disks bij raid-1, de schrijf performance is alleen veel lager.
FYI: Als je dit wil bereiken onder linux dien je raid10 te gebruiken ipv raid1.