Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-wiki:linux:lvm_index:lvm-snapshot-merge

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
it-wiki:linux:lvm_index:lvm-snapshot-merge [2023/02/10 12:09] – angelegt markoit-wiki:linux:lvm_index:lvm-snapshot-merge [2023/02/11 07:25] (aktuell) – [Beispiel einer Zusammenführung] marko
Zeile 2: Zeile 2:
 Wenn man von einem [[it-wiki:linux:lvm_index:lvm-grundlagen#logical_volumes_lvs|LVM Logical Volume]] (LV) einen [[it-wiki:linux:lvm_index:lvm-snapshots|Snapshot]] erstellt hat, kann dieser Snapshot auch mit dem Original-LV zusammengeführt werden. Dies kann beispielsweise hilfreich sein, wenn man vor einem Applikations-Update einen Snapshot von einem LV mit Dateisystem erstellt und die durchgeführten Änderungen wieder rückgängig machen möchte. Die hier gezeigten Tests wurden unter Ubuntu 12.04 LTS (12.04.5) mit Linux Kernel 3.2 durchgeführt. Wenn man von einem [[it-wiki:linux:lvm_index:lvm-grundlagen#logical_volumes_lvs|LVM Logical Volume]] (LV) einen [[it-wiki:linux:lvm_index:lvm-snapshots|Snapshot]] erstellt hat, kann dieser Snapshot auch mit dem Original-LV zusammengeführt werden. Dies kann beispielsweise hilfreich sein, wenn man vor einem Applikations-Update einen Snapshot von einem LV mit Dateisystem erstellt und die durchgeführten Änderungen wieder rückgängig machen möchte. Die hier gezeigten Tests wurden unter Ubuntu 12.04 LTS (12.04.5) mit Linux Kernel 3.2 durchgeführt.
  
-===== Voraussetzungen ===== 
 ---- ----
 +===== Voraussetzungen =====
 Das Device-Mapper Target snapshot-merge muss im Kernel vorhanden sein. Das Device-Mapper Target snapshot-merge muss im Kernel vorhanden sein.
 <code bash> <code bash>
Zeile 16: Zeile 16:
 </code> </code>
  
-===== LVM Snapshot zusammenführen (merge) ===== 
 ---- ----
-Mit Hilfe des Kommandos lvconvert --merge /dev/vg_testvg/testsnap kann der Snapshot testsnap mit dem Original-LV zusammengeführt werden.+===== LVM Snapshot zusammenführen (merge) ===== 
 +Mit Hilfe des Kommandos **<nowiki>lvconvert --merge /dev/vg_testvg/testsnap</nowiki>** kann der Snapshot testsnap mit dem Original-LV zusammengeführt werden.
  
 Ob diese Zusammenführung(merge) gleich beginnen kann, hängt vom Status des LV und des Snapshots ab. In werden folgende Möglichkeiten genannt: Ob diese Zusammenführung(merge) gleich beginnen kann, hängt vom Status des LV und des Snapshots ab. In werden folgende Möglichkeiten genannt:
Zeile 28: Zeile 28:
 Während der Merge läuft werden Lese- und Schreibzugriffe direkt zum Snapshot weitergeleitet. Dies ermöglicht sofortigen Zugriff auf die Daten des Snapshots ohne auf die Fertigstellung des Merge warten zu müssen. Während der Merge läuft werden Lese- und Schreibzugriffe direkt zum Snapshot weitergeleitet. Dies ermöglicht sofortigen Zugriff auf die Daten des Snapshots ohne auf die Fertigstellung des Merge warten zu müssen.
  
-Nach Fertigstellung der Zusammenführung wird der ursprüngliche Snapshot entfernt. +Nach Fertigstellung der Zusammenführung wird der ursprüngliche Snapshot entfernt. 
 + 
 +---- 
 +===== Beispiel einer Zusammenführung ===== 
 +<code bash> 
 +root@lvm:~$ lvcreate -n test -L 1G /dev/vg_testvg 
 +  Logical volume "test" created 
 +root@lvm:~$ mkfs.ext4 /dev/vg_testvg/test  
 +... 
 +root@lvm:~$ mount /dev/vg_testvg/test /mnt/test/ 
 +root@lvm:~$ cd /mnt/test/ 
 +root@lvm:/mnt/test$ touch before_snapshot 
 +root@lvm:/mnt/test$ lvcreate -s -n testsnap -L 1G /dev/vg_testvg/test 
 +  Logical volume "testsnap" created 
 +root@lvm:/mnt/test$ touch after_snapshot 
 +root@lvm:/mnt/test$ cd .. 
 +root@lvm:/mnt$ umount test/ 
 +root@lvm:/mnt$ lvconvert --merge /dev/vg_testvg/testsnap  
 +  Merging of volume testsnap started. 
 +  test: Merged: 0.0% 
 +  test: Merged: 0.0% 
 +  Merge of snapshot into logical volume test has finished. 
 +  Logical volume "testsnap" successfully removed 
 +root@lvm:/mnt$ mount /dev/vg_testvg/test /mnt/test/ 
 +root@lvm:/mnt$ cd test/ 
 +root@lvm:/mnt/test$ ls 
 +before_snapshot  lost+found 
 +</code> 
 + 
 +Wenn das Dateisystem nicht ausgehängt und deaktiviert wurde, kommt folgende Fehlermeldung. 
 +<code bash> 
 +root@lvm:/mnt$ lvconvert --merge /dev/vg_testvg/testsnap  
 +  Can't merge over open origin volume 
 +  Merging of snapshot testsnap will start next activation. 
 +</code> 
 + 
 +In diesem Fall muss das LV deaktiviert und danach wieder aktiviert werden. 
 +<code bash> 
 +root@lvm:~$ umount /mnt/test 
 +root@lvm:~$ lvconvert --merge /dev/vg_testvg/testsnap  
 +  Snapshot testsnap is already merging 
 +root@lvm:~$ lvchange -an /dev/vg_testvg/test 
 +root@lvm:~$ lvchange -ay /dev/vg_testvg/test 
 +root@lvm:~$ lvconvert --merge /dev/vg_testvg/testsnap  
 +  One or more specified logical volume(s) not found 
 +</code> 
 + 
 +Sofern LVM Logging mit einem Level von mindestens 4 (level=4) aktiviert ist, findet man auch in der Log-Datei die Info, sobald der Merge abgeschlossen ist. 
 +<code bash> 
 +Oct 29 13:06:53 lvm lvm[22146]: Parsing: lvconvert --merge /dev/vg_testvg/testsnap 
 +Oct 29 13:06:53 lvm lvm[22146]: Processing: lvconvert --merge /dev/vg_testvg/testsnap 
 +Oct 29 13:23:19 lvm lvm[2346]: Merging of volume testsnap started. 
 +Oct 29 13:23:19 lvm lvm[2346]: test: Merged: 0.0% 
 +Oct 29 13:23:19 lvm lvm[2346]: Merge of snapshot into logical volume test has finished. 
 +... 
 +Oct 29 13:24:18 lvm lvm[3328]: Can't merge over open origin volume 
 +Oct 29 13:24:18 lvm lvm[3328]: Merging of snapshot testsnap will start next activation. 
 +Oct 29 13:25:44 lvm lvm[4251]: Merge of snapshot into logical volume test has finished. 
 +</code> 
 + 
 +\\ 
 +\\ 
 +\\ 
 + --- //[[marko.oldenburg@cooltux.net|Marko Oldenburg]] 2023/02/11 08:25//
it-wiki/linux/lvm_index/lvm-snapshot-merge.1676030959.txt.gz · Zuletzt geändert: 2023/02/10 12:09 von marko