Snapshot eines Logical Volume erstellen

Aus Bluelupo's Wiki
Wechseln zu: Navigation, Suche


Sinn eines Snapshots

Mit einem Snapshot kann man im laufenden Betrieb ein Logical Volume (LV), ohne Unterbrechung und ohne zu Befürchten das inkonsistente Dateien entstehen, sichern. Das der Erzeugen des Snapshot findet im Hauptspeicher statt und ist wenigen Sekunden durchgeführt. Ein Snapshot-LV kann wie normales LV gemountet werden. Von einen Snapshot lässt sich bequem ein Diskdump (dd) oder ein Backup mit einen beliebigen Backuptool (z.B. tar oder rsnapshot) anlegen.


Erstellung des Snapshots

Zuerst sucht man sich das LV heraus (hier LVhome), von dem man einen Snapshot erstellen möchte.

# lvdisplay /dev/sysvg/LVhome 
 --- Logical volume ---
 LV Name                /dev/sysvg/LVhome
 VG Name                sysvg
 LV UUID                39BreA-FX1w-1BOe-2s6A-mOCk-yoMw-lckPd1
 LV Write Access        read/write
 LV Status              available
 # open                 1
 LV Size                5,00 GiB
 Current LE             1280
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           254:2


Man merkt sich die aktuelle Größe des LV's in der Zeile Current LE (hier: 1280 Logical Extends), weil dieser bei der Erzeugung des Snapshot (Option -l) angegeben werden muss. Des weiteren muss mit der Option -n der Snapshotname angegeben werden.

# lvcreate -l1280 -s -n SNAPSHOT_LVhome /dev/sysvg/LVhome


Diesen Snapshot des LVhome mit dem Namen SNAPSHOT_LVhome kann man sich dem Kommando lvdisplay anzeigen lassen.

# lvdisplay /dev/sysvg/SNAPSHOT_LVhome


Snapshotsicherung

Diesen Snapshot kann man nun bei Bedarf sichern, z.B. mit dem Kommando dd (exakte 1:1 Kopie) oder mit tar (dateibasierte Sicherung).

# dd if=/dev/sysvg/SNAPSHOT_LVhome of=/mnt/backup/LVhome.dd

oder

# mount /dev/sysvg/SNAPSHOT_LVhome /media/snapshot
# tar tar -pczf LVhome.tar /media/snapshot/*


Snapshot löschen

Nach erfolgreicher Sicherung kann das Snapshot wieder gelöscht werden.

# lvremove /dev/sysvg/SNAPSHOT_LVhome