Re: Raid 3 vs. 5

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Sun, 8 Apr 2007 15:51:12 +0200

On Sun, Apr 08, 2007 at 11:07:58PM +1000, Peter Ross wrote:
> On Thu, 5 Apr 2007, Bernd Walter wrote:
>
> > Raid5 macht genauso wie R4 eine differentielle Parität.
> > D.h. der zu schreibende Block und die Parität wird gelesen,
> > der alte Block aus der Parität rausgerechnet, die neuen Daten
> > reingerechnet und beides wieder zurückgeschrieben.
>
> Aha. Was ist falsch an folgendem Ansatz:
>
> Angenommen, ich habe x Byte zu schreiben und drei Disks.
>
> Jedes zweite Bit wird in die x/2 Bytes der einen Disk geschrieben,
> jedes andere wird in die x/2 Bytes einer anderen. Das Paritaetsbit wird
> aus den jeweils 'zusammengehoerigen' zwei Bits berechnet und auf x/2
> Bytes einer dritten Disk geschrieben.

Nichts, wenn ich dich richtig verstanden habe beschreibst du gerade
RAID3 - nur, dass das Byteweise passiert.
Deshalb ist der nach oben gemeldete Block einer R3 Partition auch n-1
mal so groß, wie der der Einzelplatten, also z.B. 1k bei 3 Platten.

> Was im Rest der Bloecke steht ist unwesentlich und muss auch nicht gelesen
> werden (es sei denn, die Hardware der Disk _direkt_ tut es, aber das ist
> dann nur lokal auf dieser)
>
> Ist der Ansatz zu naiv? Was ist falsch?

Da ist gar nichts falsch, aber du hast ein Problem, dass RAID4 und RAID5
umgehen.
Wenn du einen Datenblock lesen willst musst du auf 2 Platten warten.
Bei RAID4/5 wird nur von der Platte gelesen, wo der Datenblock liegt.
Dafür haben R4/5 halt andere neue Probleme durch die Differentielle
Parität, was das schreiben verlangsamt und etwas unsicherer macht.
Welche Nachteile überwiegen hängt halt von der konkreten Anwendung ab.
Perfekt ist alles nicht.

> Des weiteren habe ich - aus gegebenen Anlass der ZFS-Einfuehrubg in
> -current, noch dies hier ueber RaidZ gelesen:
>
> http://www.tech-recipes.com/solaris_system_administration_tips1418.html
>
> According to the Sun docs, raidz offers 'better distribution of parity
> [than RAID-5] and eliminates the "RAID-5 write hole" (in which data and
> parity become inconsistent after a power loss).'
>
> Wie das?

Genauso wie bei R3 wird immer eine absolute Parität geschrieben
und erst nach Plattenrückmeldung wird der Block verlinkt.
Das geht, weil Filesystem und RAID zusammen arbeiten - ein normales RAID
muss den bisherigen Inhalt überschreiben und da das nicht alle Platten
absolut zeitgleich machen hast du halt einen Zeitraum, während dessen
die Daten nicht syncron sind.
Bei ZFS gibt es das Loch auf Plattenebene auch, aber nicht darüber,
weil der inkonsistente Block nach einem Stromausfall keine Anwendung
finded, da er innerhalb dieses Zeitraumes nicht verlinkt wurde.
Zudem hat ZFS noch Prüfsummen, die eventuelle Fehler erkennen und
mittels Redundanz eine automatische Korektur ermöglichenm, während
ein RAID selber keine Fehler erkennt.

-- 
B.Walter                http://www.bwct.de      http://www.fizon.de
bernd(at)bwct.de           info(at)bwct.de            support(at)fizon.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 08 Apr 2007 - 15:52:47 CEST

search this site