[linux-l] RAID

Steffen Dettmer steffen at dett.de
So Jul 7 19:19:48 CEST 2002


* Jan-Benedict Glaw wrote on Sun, Jul 07, 2002 at 14:09 +0200:
> On Sun, 2002-07-07 13:46:30 +0200, Dr. Bernd Freistedt <bernd at bfrei.net>
> wrote in message <200207071146.g67BkUd8000924 at obelix.bfrei.net>:
> > ---Steffen Dettmer (linux-l at mlists.in-berlin.de) wrote on Sun, 7 Jul 2002 12:42:42 +0200
> > Bloss: wenn dort _eine_ Platte knallt?
> > Und wahnsinnig schnell wird's auch nicht.
> 
> Steffen wollte glaube ich 'was anderes sagen. 

Yep.

> Du sollst nicht n Platten nehmen, und die via LVM
> zusammenkleben (das hat das kleine Problem mit dem Ausfall
> einer Platte), sondern aus n Platten ein Raid-Array bauen, und
> dieses (md0) als LVM physical volume benutzen. 

Yep.

> Dann hast Du zuersteinmal die Ausfallsicherheit von SoftRAID,
> und wenn Du mehr Platz brauchst, dann steckst Du nocheinmal m
> Platten dazu, machst daraus ein RAID Voulme (md1) und hängst
> dieses als weiteres physical volume in die voulme group und
> kannst dann das (gemeinsame) Dateisystem einfach vergrößern.

Auch, aber nicht der Hauptgrund. Der Hauptgrund für mich und LVM
heißt Snapshooting.

Mal zur Erklärung: Ich mache DLT Backup, 40GB. Das läuft auf
billig Hardware, also etwa 20 Stunden mit Verify. Es gibt immer
Verifyerrors wegen geänderter Dateien, Phantom reads (zu
sichernde Datein sind nicht mehr da, wenn tar da ankommt) und
so'n Mist. Ist blöd, wenn man ein CVS sichert, und jemand was
eincheckt. Hat man ganz großes Pech, ist weder die alte noch die
neue Version auf'm Band. Evlt. funktioniert die Rücksicherung
nicht.

Abhilfe schafft da nur ein init S... Das kann man aber keine 20
Stunden am Tag machen, klar. Also Snapshooting. Man fährt in init
S (oder sowas ähnliches). Jedenfalls alles runter, was schreiben
kann. Vielleicht sicherheitshalber ein remount -o ro, wenn
möglich. So. Dann hat man definitiv konsistenten Stand (gerade
bei Datenbankfiles extrem wichtig, die kann man einfach nie beim
Betrieb sichern). Dann sagt man dem LVM: hier, nimm Dir mal 10 GB
freien Speicherplatz (das ist Speicher, der im physical Volume,
aber nicht in einem logischen ist), und bau mir ab JETZT einen
snapshoot. Den kann man dann einfach mounten. Jetzt fährt man die
Services wieder hoch. Die fangen an rumzuschreiben. Der Snapshoot
jedoch bleibt, wie zum Zeitpunkt des Erzeugens (bis der Speicher
voll ist :)). Den kann man nun in aller Ruhe mit tar oder sowas
sichern. Ist ein Read-Only Filesystem mit Stand des
Erzeugungszeitpunktes. Ist das verify durch, schmeißt man den
Snapshoot einfach weg (in 4 Stunden macht man dann den nächsten
oder so). 

LVM schreibt dabei die jede Änderung "rückwärts" auf dem
Snapshoot mit - der hat also in dem Fall ne Kopie der alten
Daten. Natürlich sind Schreibzugriffe dann deutlich langsamer
(weil LVM ja die Orignaldaten kopieren muß, oder wie auch immer
das technisch funktioniert), aber konsistentes Backup ist
wichtiger.

Das schöne ist, Snapshooting ist total einfach :)

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.



Mehr Informationen über die Mailingliste linux-l