[sage-ka] fsck-Intervall bei ext3

Andreas Jellinghaus aj at dungeon.inka.de
So Jul 19 02:32:21 CEST 2009


Am Sonntag 19 Juli 2009 02:08:14 schrieb Frederik Ramm:
> Ich weiss nicht, wie SATA genau spezifiziert ist und woher diese
> Unterschiede kommen, aber bei meinem (Gigabyte)-Mainboard wird vom
> Hotplugging von SATA-Devices abgeraten, waehrend der
> (Areca)-RAID-Controller nichts dagegen hat, dass man Geraete im Betrieb
> ab- und zuschaltet. Fuer den Fall, dass man wirklich mal eine defekte
> Platte austauschen muss, spart einem das dan die Betriebsunterbrechung.

stimmt, hotplugging, guter punkt. da bin ich auch nicht so firm,
welchen chipsätzen man das zutrauen kann, und ob das bios oder der
hersteller der hauptplatine auch dafür sauber gearbeitet haben müssen,
vermutlich bei allen punkten: ja.

mir ist aber wieder eingefallen, was das problem mit software raid war:
barriers.

wenn man erst meta daten schreibt (z.B. eintrag für ein neues file),
und dann die daten, und zwischendrinn der strom ausfällt, dann kann
es sein, das die meta daten auf einen sektor zeigen, in dem noch
alte daten liegen -> ein datenschutzproblem (und sicherheitsproblem).
daher muss man das andersrum sortieren: erst daten schreiben, dann die
meta daten ins journal.

nun wird die reihenfolge der zu schreibenden blöcken aber zwei mal
durcheinander gewirbelt: erst vom linux kernel dem elevator oder
anderen scheduler fürs sortieren von lese/schreib-zugriffen. und
dann noch von der platte, wenn diese NCQ oder ähnliches hat, darf
sie ja auch selbst wirtschaften.

damit es obigen fehler nicht gibt, kann das filesystem barriers
verwenden. diese unterteilen den strom an schreib-anforderungen
in segmente. schreibzugriffe nach einer barrier werden, soweit
ich das verstanden habe, garantiert erst dann geschrieben,
wenn alle schreibzugriffe von vor dem barrier aufruf erledigt sind.

ich bin mir aber nicht sicher, ob ext[234] die barriers automatisch
setzt / per default, oder ob es eine mount option dafür braucht.

das problem mit software raid ist: lvm versteht barriers nicht,
es wird richtung platte ein strom an schreibanforderungen ohne
barriers erzeugt.

es gab daher glaub auch irgendwo eine diskussion, ob man blöcke
nicht mit nullen beschreiben kann, bevor man die wieder verwendet.
aber genaues weis ich nicht mehr, im linux-kernel archiv kann man
das bestimmt alles nachlesen.

und da es neben linux noch windows gibt, dazu auch eine anmerkung:
eigentlich kann jedes modernes windows software raid. das business
department will aber möglichst viel geld machen, und hat daher
beschloßen, das nur die teuren versionen software raid bekommen,
damit man ein update kauft. alle einfacherern windows sind künstlich
kastriert. (ich hab da mal das log zu einem chat mit den storage
developern gelesen, da haben sie das im detail im faq abgehandelt
und immer auf die business leute verwiesen, weil sie die vielen
fragen dazu nicht mehr hören konnten :) )


Tschüss, Andreas