Re: Integritaetstest bei dump Backups

From: Oliver Fromme <olli(at)secnetix.de>
Date: Sun, 23 Jun 2002 21:32:15 +0200 (CEST)

Matthias Teege <matthias(at)mteege.de> wrote:
> On Sun, Jun 23, 2002 at 02:32:08PM +0200, Bernd Walter wrote:
> > Abhilfe bietet hier das sichern eines Snapshots, was aber derzeit nur
> > in -current möglich ist.
>
> Mit dump oder einem neuen Programm?

Das hat nichts mit dump zu tun, sondern ist allein Sache
des Dateisystems.

Vorsicht, es folgt ein kleiner Snapshots-Rundumschlag ...

Das Problem ist ja, daß ein dump, das auf einem »lebenden«
Dateisystem (d.h. read/write-gemountet) gemacht wurde,
niemals völlig korrekt sein kann. Es ist auch nicht immer
praktikabel, ein Dateisystem für die Dauer des Backups zu
unmounten, da dies i.allg. mit einem Ausfall bzw. einer
Service-Unterbrechung verbunden wäre.

Abhilfe schaffen da die sogenannten UFS-Snapshots. Will
man einen dump machen, erzeugt man auf dem Filesystem ein-
fach einen Snapshot. Ein Snapshot ist grundsätzlich nur
read-only und kann somit gefahrlos gedumpt werden. Ist
das dump fertig, wird der Snapshot wieder aufgelöst.
Während der ganzen Aktion können problemlos weiter Schreib-
zugriffe auf dem Filesystem stattfinden, denn diese passie-
ren »außerhalb« des Snapshots. Somit ist garantiert, daß
der dump ein konsistentes, korrektes und vollständiges Ab-
bild des Filesystems enthält (und zwar vom Zeitpunkt der
Erzeugung des Snapshots).

Snapshots haben natürlich noch andere nützliche Anwendun-
gen, zum Beispiel ermöglichen sie erst das Background-fsck
unter -current. Eine weitere praktische Sache sind soge-
nannte transiente Backups: Man erzeugt beispielsweise per
cron einmal pro Stunde einen Snapshot. Dann muß man nicht
erst irgendwelche Tapes wälzen, wenn man mal versehentlich
eine Datei versemmelt hat, sondern kopiert sie sich einfach
aus dem jüngsten Snapshot zurück.

Snapshots belegen dabei nur minimal Platz im Filesystem und
benötigen praktisch keinerlei zusätzliche Performance, da
sie nach dem COW-Prinzip funktionieren (copy-on-write).
Nur, wenn im Filesystem vorhandene Daten überschrieben wer-
den, werden die alten Inhalte in den Snapshots beibehalten,
belegen also weiterhin Platz. Wenn ein Snapshot aufgelöst
wird, werden die Bereiche, die inzwischen wieder über-
schrieben wurden, wieder freigegeben.

Mit anderen Worten: Unmittelbar nach der Erzeugung belegt
ein Snapshot keinerlei Plattenplatz. Erst wenn er älter
wird, beansprucht er mehr und mehr Platz für sich, je nach-
dem, wieviel Schreibaktivität auf dem Filesystem stattfin-
det.

Snapshots gibt es bei FreeBSD in 5-current. Ein Backport
(MFC) nach 4-stable ist meines Wissens nicht geplant.
Auch andere Systeme unterstützten teilweise Snapshots, z.B.
Solaris seit Anfang 2001, ebenso NAS-Systeme wie etwa die
Filer Von Network Appliance.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 23 Jun 2002 - 21:32:22 CEST

search this site