Re: Raid 3 vs. 5

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Thu, 5 Apr 2007 18:58:19 +0200 (CEST)

Bernd Walter wrote:
> Oliver Fromme wrote:
> > Oliver Fromme wrote:
> > > Peter Ross wrote:
> > > > Dominik Brettnacher wrote:
> > > > > Peter Ross wrote:
> > > > > > Es sah uns simpler aus (Paritaet bleibt immer auf der gleichen Platte) und
> > > > > > einen Nachteil entdeckten wir nicht.
> > > > >
> > > > > Die Sache mit der Parität ist der Nachteil: die Paritätsplatte muss jede
> > > > > Änderung mitmachen, bei RAID 5 sind diese Änderungen über mehrere Platten
> > > > > verteilt.
> > > >
> > > > Das verstehe ich nicht.. auch bei RAID 5 wird doch auf alle Platten
> > > > geschrieben. Also muss auch da jede Platte "jede Aenderung mitmachen"?
> > >
> > > Jein. Bei RAID-5 ist die Parität stückweise über alle
> > > Platten verteilt (daher wird RAID-5 manchmal auch als
> > > »Striped-Parity« bezeichnet). D.h. je nachdem, wo etwas
> > > geschrieben wird, befinden sich die zugehörigen Parity-
> > > Daten unterschiedlichen Platten. Dadurch werden im Durch-
> > > schnitt alle Platten gleichmäßig belastet und Schreibzu-
> > > griffe über alle Platten gleichermaßen verteilt.
> > >
> > > Bei RAID-3 sind die Parity-Informationen immer auf dersel-
> > > ben Festplatte, wodurch diese (im Falle von 3 Festplatten)
> > > im Schnitt doppelt so stark belastet wird wie die anderen
> > > beiden. Daher ist bei RAID3 die Schreibperformance i.allg.
> > > schlechter als bei RAID5.
>
> Wie oft muss ich den Unsinn hier noch lesen?
> Die Paritätsplatte wird bei R3 nicht stärker belastet als die
> anderen, sondern beim schreiben gleich stark und beim lesen gar
> nicht.

Ich habe mir jetzt mal die Mühe gemacht, in den Source zu
gucken. :-) graid3 arbeitet tatsächlich byteweise,
nicht blockweise, und ist daher wirklich eine RAID-3-
Implementation. Das hat zur Folge, dass bei einem
Schreibzugriff auf _alle_ Festplatten geschrieben werden
muss (bei RAID-5 nur auf zwei), insofern werden sie
tatsächlich alle gleich stark belastet. (Beim Lesen wird
die Parity-Platte nur verwendet, wenn man die Option -r
von graid3 angibt.)

Bei RAID-4 (wofür FreeBSD nun leider keine Implementation
hat) werden dagegen die Datenplatten beim Schreiben im
Schnitt jeweils nur halb so stark belastet wie die Parity-
Platte, wenn man drei Platten hat (bei Random Access).

> Wie komst du auf die Idee, dass graid3 eher eine R4 Implementiertung
> ist?

Die Option -r in der Manpage hat mich irritiert. Das
Feature, dass die Parity-Daten zum Lesen genutzt werden
können, kannte ich bisher nur von RAID-4 (und RAID-5
natürlich). Auf welche Weise RAID-3 dadurch 40% schneller
werden kann, wie die Manpage behauptet, ist mir unklar.
Ich habe versucht, den entsprechenden Code in g_raid3.c
nachzuvollziehen, aber wieso das irgendeine Beschleunigung
bringen kann -- geschweige denn 40% -- verstehe ich trotz-
dem nicht ganz.

Aber sei's drum, der Blick in den Code hat zumindest be-
stätigt, dass es eine RAID-3-Implementation ist.

> graid3 hat für mich gar nichts mit R4 gemeinsam, außer, dass es
> ebenfalls eine Parität hat.

RAID-3 und RAID-4 sind sich schon sehr ähnlich. Sie unter-
scheiden sich lediglich darin, wie die Daten auf die Fest-
platten verteilt werden.

In der Praxis will man sowohl RAID-3 als auch RAID-4 wohl
eher nur selten haben, außer für ganz wenige, spezielle
Anwendungsfälle. Bei HDR zum Beispiel könnte RAID-3
vorteilhaft sein.

Inden meisten Fällen, wo Redundanz gefordert wird, will
man entweder RAID-1 oder RAID-5 (oder RAID-6, aber das
bietet FreeBSD ebenfalls nicht an).

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"C++ is to C as Lung Cancer is to Lung."
        -- Thomas Funke
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 05 Apr 2007 - 18:59:33 CEST

search this site