raid 1 met hardwarematige controller sneller dan 1HD?

Pagina: 1
Acties:

  • buffy1966
  • Registratie: December 2005
  • Laatst online: 18-02 15:33
Ik denk eraan om raid 1 te gaan draaien (waarschijnlijk met 2 nieuwe Samsung F1, 1T HD's) om niet alles kwijt te zijn als mijn HD het ineens zou begeven. Dit met een nog aan te kopen moederbord Gigabyte GA-X38-DS4 (die dus wel een eigen raidcontroller heeft maar mijn CPU en geheugen zou belasten).
Ik zou ook niet trager willen worden met mijn raid 1 (lezen is sneller, maar wegschrijven trager) tegenover wanneer ik één enkele HD zou hebben.
In de RAID FAQ staat dat voor raid 1 een hardwarematige controller geldverspilling is, en snelheidsverschil t.o.v. een softwarematige controller haast nihil zou zijn.
Maar als je softwarematig draait belast je toch je eigen processor en geheugen zou ik denken?

Dus daarom dacht ik aan een hardwarematige controller.
In RAID FAQ staat ook dat hardwarematige controllers een eigen processor hebben. Dit lijkt me niet altijd waar want volgens wat ik terug vind is de Highpoint 2000 serie zonder I/O processor.
Dus de goedkoopste PCI-E kaart met eigen processor (IOP332) en eigen geheugen (256MB cache memory) dat ik terugvind in "pricewatch" is de Areca ARC-1210 (288€).

Hetgeen ik wel nergens kan terugvinden is of nu in raid 1 met zo een kaart met hardwarematige controller (met eigen processor en geheugen ) nog altijd trager zou zijn dan één enkele HD.
Iemand ervaring met dit?

(want 288€ voor een kaart uitgeven die miscchien niet helpt is wel zinloos natuurlijk, en in raid 1 zit men ook al met het bedrag van één HD waar men feitelijk niets aan heeft, buiten de realtime backup dan).

  • pinockio
  • Registratie: Juli 2001
  • Laatst online: 29-01 15:40
RAID1 zorgt niet voor veel processorbelasting, kan dus prima op een onboard controller. (Dat wist je als je de FAQ gelezen had c.q. wat topics hierover...)

Die controllers zijn vooral handig bij RAID5.

Als je toch geld wilt uitgeven, neem dan wat meer schijven (4) en draai RAID 10. Dan heb je én betrouwbaarheid én snelheid.

Disclaimer: P. aanvaardt geen aansprakelijkheid op grond van dit bericht.


  • buffy1966
  • Registratie: December 2005
  • Laatst online: 18-02 15:33
pinockio schreef op woensdag 12 maart 2008 @ 22:09:
RAID1 zorgt niet voor veel processorbelasting, kan dus prima op een onboard controller. (Dat wist je als je de FAQ gelezen had c.q. wat topics hierover...)

Die controllers zijn vooral handig bij RAID5.

Als je toch geld wilt uitgeven, neem dan wat meer schijven (4) en draai RAID 10. Dan heb je én betrouwbaarheid én snelheid.
niet veel processorbelasting klopt. Maar ik heb ook gelezen dat raid 1 in het schrijven trager is dan één enkele HD, en dacht dus dat dit met een losse controller (met eigen processor en geheugen) misschien niet zou zijn.

Bij raid 10 ben ik 2 schijven kwijt waar ik niets aan heb, bij raid 1 maat één schijf

  • kalizec
  • Registratie: September 2000
  • Laatst online: 20-12-2025
In theorie zijn er RAID 1 implementaties die qua leessnelheid veel sneller zijn dan een enkele schijf. Schrijfsnelheid zal echter altijd langzamer of gelijk aan een enkele schijf zijn.

Feitelijk hangt de leessnelheid van RAID 1 van de implementatie af. In principe is het voor de definitie van RAID 1 toegestaan om de data verspreid over de schijven terug te lezen, je begrijpt dat die sneller kan zijn dan een enkele schijf. Of dit ook daadwerkelijk gedaan wordt hangt van de implementatie en dus de controller af.

Core i5-3570K/ASRock Z75 Pro3/Gigabyte Radeon HD7850/Corsair XMS3 2x4GB/OCZ Vertex2 64GB/3x640GB WD Black/24" B2403WS Iiyama x2/Nec 7200S


  • Guardian Angel
  • Registratie: Juni 2000
  • Niet online

Guardian Angel

Bejaard en langharig tuig

kalizec schreef op woensdag 12 maart 2008 @ 23:13:
In theorie zijn er RAID 1 implementaties die qua leessnelheid veel sneller zijn dan een enkele schijf. Schrijfsnelheid zal echter altijd langzamer of gelijk aan een enkele schijf zijn.
Niet juist. Lees RAID FAQ

[ Voor 255% gewijzigd door Guardian Angel op 13-03-2008 07:22 ]

ARME AOW’er


  • Osxy
  • Registratie: Januari 2005
  • Laatst online: 18-02 22:11

Osxy

Holy crap on a cracker

Besef ook dat een raid geen backup is, ik weet dat het stom klinkt omdat je data op 2 HD's staat, maar er zijn dan nog steeds genoeg manieren waardoor je je data kwijt kan raken.

"Divine Shields and Hearthstones do not make a hero heroic."


Verwijderd

@ Guardian Angel

Niet dat ik hier een "flamewar" wil starten die totaal offtopic gaat, maar Kalizec zijn uitleg is weldegelijk correct en het spijt me, maar dat deel van de RAID FAQ is dan vermoedelijk toch niet volledig sluitend correct.

De uitleg van de RAID FAQ voor RAID 1 lijkt mij een vertaling van:
http://www.pcguide.com/re...evels/singleLevel1-c.html

En ik geef toe, dat er redelijk wat verwarring te vinden is op het net, maar dan lijkt het me logisch om
1) mijn eigen ervaring te vertrouwen en 2) hardware ontwerpers:

http://adaptec-tic.adapte...WQgMQ**&p_li=&p_topview=1

http://www.intel.com/supp...iaa_raid/sb/cs-009338.htm

En zo kun je er hopen vinden.

Conclusie: RAID 1 "kan" sneller zijn bij het lezen dan 1 HDD.
Is iets trager in het schrijven dan 1 HDD
Verdubbeld in theorie de MTBF (Mean Time Before Failure) van een HDD waarbij je natuurlijk kan swappen bij uitval van de één HDD.

  • buffy1966
  • Registratie: December 2005
  • Laatst online: 18-02 15:33
osxy schreef op donderdag 13 maart 2008 @ 07:15:
Besef ook dat een raid geen backup is, ik weet dat het stom klinkt omdat je data op 2 HD's staat, maar er zijn dan nog steeds genoeg manieren waardoor je je data kwijt kan raken.
Weet dat dit een realtime backup is. Ik zou ook nog regelmatig een gewone backup maken op een externe schijf.
Verwijderd schreef op donderdag 13 maart 2008 @ 19:50:
@ Guardian Angel

Niet dat ik hier een "flamewar" wil starten die totaal offtopic gaat, maar Kalizec zijn uitleg is weldegelijk correct en het spijt me, maar dat deel van de RAID FAQ is dan vermoedelijk toch niet volledig sluitend correct.

De uitleg van de RAID FAQ voor RAID 1 lijkt mij een vertaling van:
http://www.pcguide.com/re...evels/singleLevel1-c.html

En ik geef toe, dat er redelijk wat verwarring te vinden is op het net, maar dan lijkt het me logisch om
1) mijn eigen ervaring te vertrouwen en 2) hardware ontwerpers:

http://adaptec-tic.adapte...WQgMQ**&p_li=&p_topview=1

http://www.intel.com/supp...iaa_raid/sb/cs-009338.htm

En zo kun je er hopen vinden.

Conclusie: RAID 1 "kan" sneller zijn bij het lezen dan 1 HDD.
Is iets trager in het schrijven dan 1 HDD
Verdubbeld in theorie de MTBF (Mean Time Before Failure) van een HDD waarbij je natuurlijk kan swappen bij uitval van de één HDD.
Ik weet niet hoe erg dat die "iets trager" merkbaar is. Maar als ik lees dat het eerst naar de ene schijf geschreven wordt en dan naar de andere gemirrord lijkt me dat heel traag. Dacht eerst dat op de twee schijven tegelijkertijd hetzelfde geschreven zou worden, blijkt dus niet te zijn.

  • Sieking
  • Registratie: Februari 2002
  • Laatst online: 05-12-2023

Sieking

Freelance ITer

Misschien is dit een betere oplossing?

http://naarsa.nl/?redirec...productinfo.php?pid=30926

If you can't take the heat, get burried!


  • kalizec
  • Registratie: September 2000
  • Laatst online: 20-12-2025
Om mijn stelling dat het in theorie echt sneller kan lezen nog even te onderbouwen een quote van Wikipedia en twee links naar respectievelijk het lemma op Wikipedia als een andere bron. Het heet 'splitting' of 'duplexing', thans onder de term 'splitting' ken ik het.
Additionally, since all the data exist in two or more copies, each with its own hardware, the read performance can go up roughly as a linear multiple of the number of copies. That is, a RAID 1 array of two drives can be reading in two different places at the same time, though not all implementations of RAID 1 do this.[4] To maximize performance benefits of RAID 1, independent disk controllers are recommended, one for each disk. Some refer to this practice as splitting or duplexing. When reading, both disks can be accessed independently and requested sectors can be split evenly between the disks. For the usual mirror of two disks, this would, in theory, double the transfer rate when reading. The apparent access time of the array would be half that of a single drive. Unlike RAID 0, this would be for all access patterns, as all the data are present on all the disks. In reality, the need to move the drive heads to the next block (to skip unread blocks) can effectively mitigate speed advantages for sequential access.
Wikipedia: Standard RAID levels
http://docs.info.apple.com/article.html?artnum=106594

Nogmaals het hangt van de implementatie af en ik heb geen ervaring met specifieke controllers om te kunnen zeggen "die en die controller implementeert 'splitting' of 'duplexing'". Dat lijkt mij een kwestie van even de specificaties van een aantal potentiële kandidaten (qua hardware controllers) doornemen.

Om nog even op de theorie door te gaan, bij een database-server waar er sprake is van een grote read/write verhouding (zeg 99% random read en 1% random write) zal een implementatie van RAID1 met 'splitting' wel eens sneller kunnen zijn dat een RAID0 of RAID5/6. Dit omdat het aantal mogelijk iops netjes opschaalt met het aantal disks, voor een RAID0 of RAID5/6 geldt dat niet helemaal omdat de seek-tijd per IO-opdracht gelijk blijft en voor alle disks geldt. Bij een RAID1 met 'splitting' geldt dat slechts een enkele schijf per IO-opdracht seek-tijd heeft. Zodra access-tijd dus echt relevant wordt, kan een dergelijke RAID1 implementatie sneller werken en dus is dit een van de gevallen waar RAID1 betere lees snelheden kan halen dan zelfs een RAID0 of RAID5/6.

Pragmatisch denk ik echter dat een goede databaseserver voor 99% of meer vanuit RAM hoort te werken en dat databases waar dat niet goed kan inderdaad mogelijk een dergelijke RAID1-implementatie behoeven. Echter zodra er sprake is van grotere hoeveelheden 'writes' gaat de performance instorten. Als de database-applicatie goed geschreven is zal deze vervolgens de wijzigingen in blokken vanuit zijn geheugen weg kunnen schrijven en dan zou RAID5 of RAID6 wel weer eens beter kunnen werken vanwege de superieure sequentiele schrijfsnelheden ten opzichte van RAID5/6.

Database servers met andere data dan tussentijdse data horen overigens nooit met RAID0 te draaien. De reden dat ik melding maakte van RAID0 was dan ook omdat RAID0 de beste sequentiele performance van enig RAID level heeft.

[ Voor 20% gewijzigd door kalizec op 13-03-2008 23:29 ]

Core i5-3570K/ASRock Z75 Pro3/Gigabyte Radeon HD7850/Corsair XMS3 2x4GB/OCZ Vertex2 64GB/3x640GB WD Black/24" B2403WS Iiyama x2/Nec 7200S


Verwijderd

Bij mirroring zijn diverse technieken mogelijk om met read requests om te gaan, omdat je tenminste 2 disks hebt met dezelfde data. Mogelijke technieken zijn:
  • Priority: alleen lezen van de disk met de hoogste priority, meestal de eerste disk in de array die als "master" schijf fungeert, de "slave" of mirror disk wordt alleen gebruikt voor schrijfopdrachten. Dit is de meest voorkomende, meest simpele, en slechtstpresterende modus, maar kan handig zijn als de mirror disk veel trager is, bijvoorbeeld omdat deze een virtuele disk over het netwerk is. Daar wil je zo min mogelijk belasting op hebben. Schema bij 5 reads: AAAAA.
  • Splitting: leesrequests worden opgesplitst en beide schijven verwerken dan dus de helft. Erg veel voordeel behaal je hier niet mee, aangezien je twee schijven één IO opdracht laat verwerken. De meeste tijd gaat zitten in de seek time en rotational latency en je haalt alleen winst op het daadwerkelijk lezen. Maar daar zijn mechanische schijven heel snel in, het zijn de seek times en rotational latency die roet in het eten gooit.
  • Round-robin: een simpel schema waarbij I/O requests worden verdeeld over beide schijven afwisselend. Schema bij 5 reads: ABABA. Geeft redelijke performancewinst.
  • Striping: read-requests worden verwerkt alsof de array een RAID0-array was, er wordt een stripesize gebruikt zoals 128KiB. Een misalignment kan er echter voor zorgen dat twee schijven één I/O requests verwerken, en daarbij daalt de IOps en dus de performance.
  • Load-balancing: de meest geavanceerde techniek is load-balancing. Deze techniek analyseert de performance van elke disk member en verdeelt de I/O zo dat alle schijven relatief evenveel worden belast. Dus een trage 4200rpm disk krijgt minder I/O te verwerken dan een snelle 15k disk. Dit vereist een bijzonder slimme implementatie om goed te laten werken, en wordt nog nergens optimaal gebruikt.
Conclusie: lezen van een RAID1/mirror kan op meerdere manieren. Slimme Linux/BSD drivers gebruiken geavanceerde technieken maar windows-drivers zoals onboard RAID gebruiken alleen maar simpele trage schema's zoals Priority en laten alle potentiële performancewinst van de tweede disk totaal ongemoeid.

Een Areca controller met write-back kan een RAID1 sneller maken dan een enkele schijf, ook qua schrijfperformance. De onboard buffer betekent dat een gedeelte tegen interfacesnelheid kan worden geschreven en de I/O reordering zorgt voor een kortere seektime ten koste van iets meer latency door de I/O processor. Om dezelfde reden is een Areca controller dus ook sneller met een enkele disk, dus zonder RAID.
Pagina: 1