PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verständnisproblem: Snapshots mit LVM (logical volume manager)


Benedikt
2009-02-21, 18:27:18
Guten Abend,

ich möchte mit meinem Ubuntu die ZFS-Funktionalität von "snapshots" (quasi eingefrorene Momentzustände des aktuellen Datenbestandes) nachbilden. Dazu gibts ja den logical volume manager von Linux, der sowas kann.
Einen Snapshot eines volumens erstellt man ja so (http://wiki.ubuntuusers.de/Logical_Volume_Manager#Snapshot-eines-Logical-Volumes-anlegen):
sudo lvcreate --size 100M --snapshot --name <name> /dev/<group>/<volume>
Ich habe aber das System dahinter immer noch nicht ganz verstanden:
Dies legt einen Snapshot <name> an, welcher auf <volume> der Volume Group <group> basierend ist. Der Snapshot ist so lange gültig wie sich das Original um nicht mehr als den hinter --size angegebenen Wert verändert (hier 100 MByte). Snapshots sind z.B. nützlich, wenn man einfach mal was ausprobieren will; aber auch für Backups können Snapshots sehr nützlich sein, denn ein Snapshot verändert sich nicht mehr!
Kann mir das jemand auf (verständliches) Deutsch übersetzen?
Weshalb muss ich überhaupt für einen snapshot eine Größe angeben? Was passiert, wenn ich z. B. eine Volumegroup mit 2GB habe, davon ist 1GB das Volume und 1GB leer (für Snapshots verfügbar). Was passiert nun, wenn ich einen Snapshot mit 1GB anlege und sich in der Ursprungspartition mehr als 1GB verändern? Wird der Snapshot dann ungültig oder wie?

mfg Benedikt

The_Invisible
2009-02-21, 19:50:34
naja, ein snapshot gibt nur den zustand der original lvm bei snapshoterstellung wieder. wenn sich das original nun ändert muss die differenz ja irgendwo gespeichert werden, dazu die größenangabe.

oder besser: wenn du heute ein snapshot einer lvm machst und diesen snapshot sicherst, und morgen in 24 stunden exakt das gleiche tust (also sichern zb per rsync) hat sich beim snapshot (datenmäßig) nichts geändert. die differenz die in der zwischenzeit aber zum original geschehen ist muss ja gespeichert werden.

deswegen belegt ein snapshot ja nur einen bruchteil des originals, je nachdem wie lange man einen gewissen zustand halt speichern will. bei überscheitung des zugewiesenen speicherplatzes wird der snapshot ungültig.

mfg

Benedikt
2009-02-21, 20:03:00
Okay, die Sache wird schon klarer. Ein wenig.
1.) Ich kann mit diesen Größenangaben irgendwie wenig anfangen. Wie viel ändert sich denn so durchschnittlich? Wenn die zu sichernde Volume x GB groß ist, wie viel Speicherplatz sollte man dann pro stündlich zu sicherndem Snapshot vorsehen?
2.) Ein Snapshot wird ungültig. Was heißt das? Er verschwindet? Wo sehe ich, ob ein Snapshot ungültig ist?
3.) Wohin bzw. wie werden diese Snapshots gespeichert? Wie kann ich darauf zugreifen? Wie kann ich ein Volume aus einem Snapshot wiederherstellen?

The_Invisible
2009-02-23, 21:39:21
Okay, die Sache wird schon klarer. Ein wenig.
1.) Ich kann mit diesen Größenangaben irgendwie wenig anfangen. Wie viel ändert sich denn so durchschnittlich? Wenn die zu sichernde Volume x GB groß ist, wie viel Speicherplatz sollte man dann pro stündlich zu sicherndem Snapshot vorsehen?
2.) Ein Snapshot wird ungültig. Was heißt das? Er verschwindet? Wo sehe ich, ob ein Snapshot ungültig ist?
3.) Wohin bzw. wie werden diese Snapshots gespeichert? Wie kann ich darauf zugreifen? Wie kann ich ein Volume aus einem Snapshot wiederherstellen?

1. kann man so nicht sagen, kommt ganz darauf an wieviel sich da ändert. wenn du auf nummer sicher gehen willst kannst du den snapshot genauso groß machen wie das original volumen, dann wird es nie ungültig. wenn du stündlich ein snapshot erstellen willst kannst du eh immer den alten snapshot löschen, da wirst du wohl einschätzen können wieviel sich auf dein system (was eignetlich?) ändert
2. verschwinden tut nichts, aber nachdem der speicher für den snapshot aufgebraucht ist, ist der snapshot inkonsistent. sehen kannst du den snapshot ganz normal mit zb "lvs"
3. die werden einfach ganz normal in deiner volume group gespeichert und behandelt wie normale lvm volumes. der sinn ist übrigens von diesem snapshot ein backup zu ziehen, weil wenn dein snapshot nur ein paar % der größe der echten volume hat, hilft dir der snapshot auch nichts mehr wenn die orginal volume überschrieben wurde.

nochmal zur verständnis: in einem snapshot wird nur die differenz zum sicherenden volume seit deiner snapshoterstellung gespeichert, deswegen ist so ein snapshot auch innerhalb einer sekunde angelegt und verbraucht kaum platz.

mfg

Benedikt
2009-02-23, 22:40:59
1. kann man so nicht sagen, kommt ganz darauf an wieviel sich da ändert. wenn du auf nummer sicher gehen willst kannst du den snapshot genauso groß machen wie das original volumen, dann wird es nie ungültig. wenn du stündlich ein snapshot erstellen willst kannst du eh immer den alten snapshot löschen, da wirst du wohl einschätzen können wieviel sich auf dein system (was eignetlich?) ändert

Ist das wirklich so: Wenn ich einen Snapshot so groß wie das ursprüngliche Volume mache, wird er nie ungültig? Was, wenn sich der Inhalt eines Volumes x mal verändert, also mehr als einmal die volle Größe?