"We are back" « oc.at

Lese-Performance RAID1 gegenüber RAID0

Gex 17.11.2008 - 10:38 746 7
Posts

Gex

Oralapostel
Avatar
Registered: Jan 2001
Location: Piefkinesien
Posts: 3376
Ich wurde gerade mit folgender Frage konfrontiert:
Wie groß ist der Unterschied bei der Lese-Performance zwischen RAID0 und RAID1?

Situation: Zwei Platten, SATA II, irgendein Asus Brett mit onboard SATA-RAID.

Grundsätzlich ist schon klar, dass RAID0 die höhere Gesamtperformance bietet.
Beim Lesezugriff auf ein RAID1 könnte der Controller aber ja grundsätzlich auch von beiden Platten gleichzeitig verschiedene Daten lesen und so eine RAID0-ähnliche Leseperformance erreichen. So jedenfalls mein Gedankengang.

Oder werden im RAID1-Modus beim Lesen von beiden Platten die selben Daten geholt und verglichen, um sicher zu stellen, dass die Spiegelung intakt ist? Denn das muss ja auch irgendwie sichergestellt werden.

Oooder gibt es die Möglichkeit, zwischen diesen beiden Varianten umzuschalten? Mir schwirrt irgendwie im Hinterkopf herum, dass es Controller z.B. von 3ware gibt, die das können...

Über Google findet man zu dieser Frage ungefähr gar nichts, also hab ich die Hoffnung, dass jemand von euch etwas Licht ins Dunkel bringen kann...

tia! :)

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12142
Code:
# raid1:
zealot ~ # hdparm -t /dev/md1

/dev/md1:
 Timing buffered disk reads:  278 MB in  3.01 seconds =  92.45 MB/sec
# raid0:
zealot ~ # hdparm -t /dev/md5

/dev/md5:
 Timing buffered disk reads:  586 MB in  3.01 seconds = 194.89 MB/sec

Irgendwann muessen die Daten auf den Array-Slices ja auf Gleichheit gepruefgt werden; bei RAID1 erfolgt das beim Lesen. Ob es Controller gibt, die RAID0-aehnlich lesen koennen, und dabei eben auf das RAID1-Feature der impliziten Integritaetspruefung verzichten, weisz ich nicht. Halte die Idee aber fuer grob schwachsinnig, tbh.

GrandAdmiralThrawn

XP Nazi
Avatar
Registered: Aug 2000
Location: BRUCK!
Posts: 3707
http://en.wikipedia.org/wiki/RAID_1#RAID_1

Ich denke, eine Integritätsprüfung des Mirrors ist nicht wirklich absolut zwingend? Wenn eine Inkonsistenz auftritt, ist ja sowieso nicht mehr feststellbar, welche der Kopien die korrektere ist (im Falle von 2-Disk RAID-1).

Anstatt auf Gleichheit zu prüfen, kann man einfach Gleichheit annehmen.. Kritisch wirds sowieso erst, wenn einer der Spiegel komplett ausfällt?

Wikipedia meint zum Datenvergleich zwischen den Spiegeln:
Zitat
The error detection and correction on modern disks makes this less useful in environments requiring normal availability.

RAID-0-ähnliche Performance ist also wohl möglich, aber abhängig von der Implementierung. Wikipedia spricht davon, daß "ältere" Controller noch eine Integritätsprüfung beim Lesen durchführen würden. Genauere Informationen fehlen.

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11343
Es gibt irgendwelche Adaptec-Controller, die dafür bekannt sind, bei RAID1 von beiden Platten abwechselnd zu lesen.

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3772
Zitat von COLOSSUS
Code:
# raid1:
zealot ~ # hdparm -t /dev/md1

/dev/md1:
 Timing buffered disk reads:  278 MB in  3.01 seconds =  92.45 MB/sec
# raid0:
zealot ~ # hdparm -t /dev/md5

/dev/md5:
 Timing buffered disk reads:  586 MB in  3.01 seconds = 194.89 MB/sec

Code:
/dev/md1:
 Timing buffered disk reads:  350 MB in  3.01 seconds = 116.41 MB/sec

/dev/md5:
 Timing buffered disk reads:  670 MB in  3.01 seconds = 222.87 MB/sec
Yay, Sieg! :D

Gex

Oralapostel
Avatar
Registered: Jan 2001
Location: Piefkinesien
Posts: 3376
Okay vielen Dank erstmal.
Also sollte es grundsätzlich schon möglich sein, auch im RAID1 von beiden Platten gleichzeitig zu lesen um die Performance zu erhöhen.

Ich hab mich jetzt bei Adaptec und bei 3ware umgeschaut, aber keinen Hinweis auf eine derartige Funktion finden können.
Die Frage, die an mich herangetragen wurde, nämlich ob sowas mit dem Asus onboard Zeug funktioniert, kann also relativ sicher mit "nein" beantwortet werden denke ich.

Dennoch würd's mich interessieren, also falls jemand weiß, unter welchem Namen man nach so einer Funktion suchen sollte, immer raus damit ;)

Maekloev

linux addicted
Avatar
Registered: Oct 2002
Location: Absam
Posts: 920
Zitat
(...) Since all the data exists 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. Read performance can be further improved by adding drives to the mirror. Many older IDE RAID 1 controllers read only from one disk in the pair, so their read performance is always that of a single disk. Some older RAID 1 implementations would also read both disks simultaneously and compare the data to detect errors. The error detection and correction on modern disks makes this less useful in environments requiring normal availability. When writing, the array performs like a single disk, as all mirrors must be written with the data. Note that these performance scenarios are in the best case with optimal access patterns. (...)

source: en.wikipedia.org

eine weitere gute anlaufstelle in sachen hds und raid ist storagereview.com.

Römi

Hausmeister
Avatar
Registered: Feb 2001
Location: Bez. Tulln
Posts: 5325
In der Praxis hab ich leider noch keinen Controller gesehen der das macht...
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz