Re: Vinum, RAID-5, 3HDs

From: Bernd Walter <ticso(at)cicely8.cicely.de>
Date: Mon, 30 Dec 2002 03:09:06 +0100

On Mon, Dec 30, 2002 at 11:52:11AM +1030, Greg 'groggy' Lehey wrote:
> On Monday, 30 December 2002 at 0:53:23 +0100, Bernd Walter wrote:
> > On Mon, Dec 30, 2002 at 09:34:10AM +1030, Greg 'groggy' Lehey wrote:
> > Stelle dir mal vor es passiert folgendes:
> > Du schreibst Daten und die Platte fällt Kurzzeitig aus.
> > Die ausstehenden Schreibtransaktionen sind weg, aber beim nächsten
> > Zugriff ist die Platte wieder da und du wirst niemals feststellen,
> > das Schreibvorgänge unter den Tisch gefallen sind.
>
> Das kann kaum passieren, ohne dass es dem Plattentreiber auffällt.
> Die Requests müssten schon in Cache gewesen sein, die Platte fällt aus
> und kommt wieder, ohne dass der Treiber weitere Zugriffe macht.

Genau diesem Fall bin ich schon begegnet.

> > Mit TCQ hingegen ist bekannt welche Transaktionen noch nicht auf dem
> > Medium sind und wenn die Platte sich nicht mehr zurückmelded, dann
> > wird die Platte resetet und die Transaktionen werden die neu
> > ausgeführt.
>
> Unter den genannten Bedingungen könnte das auch mit TCQ passieren.
> Und auch mit SCSI.

Nein, weil die Platte die Transaktionen ja nicht mehr zurückmelded
und dann ein Timeout greift.
Zumindestens mit SCSI bin ich mir bei der FreeBSD Implementierung
absolut sicher, daß die Situation ordendlich behandelt wird.
Vinum bekommt zwar keinen Fehler gemelded, aber die Daten wurden
ordnungsgemäß geschrieben und es tauchen Kernelmeldungen auf.

> > Natürlich ist das nicht nur ein Problem von R5, aber einen Paritäts-
> > fehler wirst du ohne Regelmässige Überprüfung niemals feststellen.
>
> Richtig. Ganz wohl ist es mir bei dem Gedanken auch nicht.

Dummerweise kann es nach einem Powerfailure auch mit SCSI Platten
vorkommen.
Raidframe markiert gemountete Volumes und synconisiert nach einem
dirty reboot vollständig - man merkt es sehr deutlich an der
Performance das da noch was passiert.
Zum Glück macht er es erst nach dem fsck, aber FreeBSD macht diesen ja
ebenfalls später - und beides gleichzeitig dürfte wohl doch eine
starke Belastung sein.

> > Wer denoch mit IDE R5 machen will sollte zumindestens ab und an die
> > Parität prüfen - ein Fehler hier kann einen unerkannten
> > Hardwarefehler aufdecken.
>
> Es wäre interessant, ein Programm zu schreiben, das langsam im
> Hintergrund die Parity fortlaufend prüft. Dürfte nicht allzuschwierig
> sein: Im Prinzip kann es vinum(8) schon. Man müsste nur eine
> Geschwindigkeit angeben, oder es vielleicht abhängig der
> Plattenbelastung machen.

Gute Idee - Daten über die aktuelle Auslastung stehen ja zur Verfügung.

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
ticso(at)cicely.de         Usergroup           info(at)cosmo-project.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 30 Dec 2002 - 03:09:19 CET

search this site