[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Performance von RAID und Dateisystem



Martin Steigerwald <Martin@lichtvoll.de> writes:

> Am Donnerstag, 2. August 2012 schrieb Sven Rudolph:
>> Aus meiner Sicht ist ein höherer Redundanz-Level nicht nötig. Hier
>> fallen Platten selten genug aus. Wenn du glaubst es zu brauchen: Eine
>> Möglichkeit wäre RAID-6, aber das ist beim Schreiben deutlich
>> aufwendiger als RAID-5, da bei RAID-5 beim Ã?ndern eines Datenblocks
>> auf zwei Platten je ein Block geschrieben werden muÃ? und bei RAID-6
>> auf alle Platten ein Block (also so hab ichs verstanden...).

Hab noch mal nachgedacht, es ist etwas anders: Bei RAID-6 müssen zur
Prüfsummenberechnung alle Blöcke eines Stripes gelesen werden (und
nicht geschrieben, wie ich fälschlicherweise behauptet habe). S.u.

>> Eine
>> Zwischenlösung, die ich früher mal genutzt habe, ist RAID-5 mit
>> Hotspare. Da läuft wenigstens nach Plattenausfall unverzüglich der
>> Rebuild los.
>
> Hmmm, ich dachte der Unterscheid sei, dass RAID 5 die Checksumme auf 
> jeweils einem Chunk speichert, während RAID 6 dafür zwei nimmt. Als Chunk 
> bezeichne ich jetzt mal einen Abschnitt auf *einer* Platte.
>
> Wikipedia scheint mir da recht zu geben¹.
>
> Daher verstehe ich Deine Ausführungen nicht so ganz.
>
> Vielleicht ist mir auch nicht klar, was Du mit Datenblock meinst. Für 
> einen kompletten Streifen sind doch ohnehin immer alle Platten zu 
> beschreibenâ?¦

Mit Datenblock meine ich wirklich einen Datenblock und keinen ganzen
Streifen.

Wird bei RAID-5 ein Block modifiziert, so werden dieser Block und die
alte Prüfsumme gelesen, und die neue Prüfsumme wird "alte Prüfsumme"
XOR "alter Block" XOR "neuer Block", und dann werden neuer Block und
neue Prüfsumme geschrieben. Also nur zwei Schreibzugriffe und
evtl. zwei Lesezugriffe.

Dagegen ist es bei RAID-6 nicht möglich, von den Prüfsummen den alten
Block "abzuziehen" und den neuen "hinzuzufügen". Wird also ein Block
modifiziert, müssen alle anderen Blöcke des Stripes ebenfalls gelesen
werden, um die Prüfsummen neu zu berechnen. Je mehr Platten, desto
mehr Lesezugriffe, und dadurch kann die Schreib-Performance übermäßig
einbrechen. Also nicht nur "zwei Prüfsummen" = "doppelter
Aufwand". (Mir fällt grad auf, daß es sein kann, daß dieses Problem
nur für eine der beiden Prüfsummen gilt. Aber das Problem besteht
trotzdem.)

	Sven


Reply to: