Re: GrXXe von Snapshots (softupdates)

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Sun, 20 Nov 2005 14:49:16 +0100 (CET)

J. Erik Heinz <list(at)jerik.de> wrote:
> Nicola Tiling <nt(at)w4w.net> words
> > Ist es nicht auch noch so, daß Snapshot2 den Inhalt von Snapshot1 intus hat?
> > D.h. ich könnte aus S2 S1
> > restaurieren selbt wenn ich S1 lösche?
>
> Wenn ich olli's ausführung (die ich echt gut fand) richtig verstanden
> habe, ist das nicht der Fall.
>
> Der Snapshot berücksichtigt nur die Dateien im Filesystem die im
> Moment des Snapshot-erzeugens vorhanden sind. Und wenn ich das richtig
> verstanden habe wird nur das Filesystem nicht andere Snapshots
> betrachtet.

Korrekt. Ein Snapshot bezieht sich immer nur auf das akti-
ve Dateisystem, nicht »rekursiv« auf ältere darin befindli-
che Snapshots. Snapshots sind also unabhängig voneinander,
soweit es die Administration betrifft. Sonst wäre es nicht
möglich, einen älteren Snapshot zu löschen, was den Nutzen
von Snapshots drastisch reduzieren würde.

Aus diesem Grund haben die Image-Dateien älterer Snapshots
in einem neueren Snapshot die Größe 0 (d.h. der Verzeich-
niseintrag existiert zwar aus Konsistenzgründen, er enthält
aber nicht das Image des älteren Snapshots).

> Ist zum Zeitpunkt 1 die Datei A vorhanden, und macht man zu diesem
> Zeitpunkt eine Snapshot (S1) dann ist die Datei A folglich im Snapshot
> - im Beispiel war das dann A1.
>
> Wird später die Datei gelöscht, ist sie im FS nicht mehr vorhanden,
> aber noch in S1. Ein darauffolgender snapshot S2 wird dann nicht mehr
> die Datei A enthalten da diese zu dem Zeitpunkt nicht im FS vorhanden
> war. Jedoch ist die Datei in S1 verfügbar - unter A1.

Exakt.

> Eine weitere Überlegen erhärte das meines erachtens. Würde man mit S2
> immer S1 restaurieren können, würde das ja bedeuten, das man immer nur
> den letzten snapshot benötigen um auf *jeglichen* vorher angegelegt
> snapshot zugreifen zu können. Das hat ja dann schon was von
> Version-Kontrolle ;) Das ist glaub ich zuviel des guten.

Es würde vor allem den Platzbedarf drastisch erhöhen, da
man durch Löschen älterer Snapshots keinen Platz gewinnen
würde.

> Das ganze Snapshot system sieht sehr interessant in bezug auf Backups
> aus.

In der Tat. Nützlich ist es z.B. für kurzfristige Backups:
Man kann per cronjob stündlich alternierend einen neuen
Snapshot erzeugen und auf /backup/hourly.1 und -/hourly.2
mounten. Oder jede Nacht einen Snapshopt erzeugen und auf
/backup/yesterday) mounten. Der jeweils ältesteste Snap-
shot wird wieder entfernt, so daß man z.B. den Stand der
letzten zwei Stunden (bzw. von gestrigen Tag) jederzeit
verfügbar hat. Bei einem versehentlichen »rm«, oder wenn
man eine Datei kaputteditiert hat, kann man sie einfach aus
dem Snapshot zurückkopieren. Vorteilhaft ist auch, daß
normale User dies machen können, ohne daß sie den Admin be-
lästigen müssen, und ohne daß dieser mit Backup-Medien han-
tieren muß. Und: Der zusätzliche Platzbedarf auf dem Da-
teisystem ist durch die Snapshots meistens minimal. Man
sollte nur im Kopf behalten, daß die Snapshots umso mehr
Platz verbrauchen, je älter sie werden, da alle Änderungen,
die sich während der Lebenszeit eines Snapshots akkumulie-
ren, aufgehoben werden.

> Was mich noch interessiert, wenn ich es richtig verstanden habe,
> arbeiten die Snapshots ja auf Block-Ebene. Heisst das das man nur
> ganze Festplatten oder Partitionen snapshot'en kann.

Snapshots arbeiten auf UFS-Blockebene. Du kannst Snapshots
auf jedem UFS-Dateisystem anlegen. Das darunter liegende
(physikalische oder logische) Blockdevice spielt dafür kei-
ne Rolle. In der Regel befindet sich ein UFS-Dateisystem
in einer Partition, aber das muß nicht so sein.

Snapshots können _nicht_ auf einzelnen Unterverzeichnissen
angelegt werden, sondern nur auf ganzen Dateisystemen (also
das, was Dir »mount -t ufs« auflistet).

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
C++: "an octopus made by nailing extra legs onto a dog"
        -- Steve Taylor, 1998
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 20 Nov 2005 - 14:50:16 CET

search this site