Inhaltsverzeichnis
Snapshot auf einem Locical Volume erstellen
Wenn das Linux-System mit dem Locical Volume Mamanger (LVM) eingerichtet wurde, sind Image-Backups im laufenden Betrieb möglich. Hierzu wird ein Snapshot des logischen Laufwerks erstellt und dann kann davon das Image gezogen werden.
Informationen zum Thema
Vorbereitungen
Zunächst muss festgestellt werden, ob in der Volume Group der zu sichernden Partition noch Platz vorhanden ist. Hierbei ist nur so viel Platz erforderlich, wie während der Backup-Zeit vermutlich Daten geändert werden.
Bei Bedarf muss etwas Platz geschaffen werden, dass erfordert allerdings ein ausgehängtes Dateisystem weil das Filesystem zunächst verkleinert werden muss und erst dann das Logical Volume verkleinert werden kann.
Beispiel für eine vorbereitete Volume Group:
$ sudo vgs VG #PV #LV #SN Attr VSize VFree vgubuntu 1 2 0 wz--n- 29,57g 648,00m
Die 648 Mbyte reichen in dem Beipiel völlig aus, denn während des Backups werden in der Root-Partition nur minimale Bewegungen stattfinden.
Image Backup durchführen
Um ein Image der root-Partition zu erstellen sind die folgenden Schritte erforderlich:
1. Snapshot erstellen
Das folgende Kommando erzeugt ein LV-Snapshot für die root-Partition mit dem Namen /dev/vgubuntu/snap.
$ sudo lvcreate -l100%FREE -s -n snap /dev/vgubuntu/root $ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root vgubuntu owi-aos--- 24,05g snap vgubuntu swi-a-s--- 648,00m root 1,42 swap vgubuntu -wi-ao---- 4,88g
Mit lvs kann anschließend geprüft werden, ob das snapshot existiert.
2. Image erzeugen aus dem Snapshot
Das folgende Kommando erzeugt mit fsarchiver ein Image xxx.fsa im aktuellen Verzeichnis.
$ sudo fsarchiver -v savefs xxx.fsa /dev/vgubuntu/snap
3. Shapshot verwerfen
Nach dem Backup muss das Shapshot unbedingt wieder gelöscht werden damit die Volume Group nicht überläuft. Wir haben ja nur 648 MByte für Differenzdaten reserviert.
$ sudo lvremove /dev/vgubuntu/snap Do you really want to remove and DISCARD active logical volume snap? [y/n]: y Logical volume "snap" successfully removed $
Image Backup Restore
Ein Restore des Images kann nur in einem ausgehängten Verzeichnis durchgeführt werden. Vor allem das Root-Verzeichnis, aber auch ein Home-Verzeichnis können im laufenden Betrieb nicht ohne Weiteres ausgehängt werden. Daher ist es erforderlich, das System mit einem Live-System per USB-Stick oder DVD zu starten.
Geeignet sind Ubuntu-Live Systems oder auch die SysrescueCD. Wenn das LVM in einer Crypt-Disk enthalten ist, hat Ubuntu den Vorteil, dass die verschlüsselte Partition per Mausklick geöffnet werden kann. Dafür ist fsarchiver
nicht enthalten und muss erst per apt-get install fsarchiver
installiert werden, was einen Internet-Zugriff voraussetzt.
Aber auch die SysrescueCD kann verschlüsselte Partitionen öffnen, es bedarf nur der Kommandozeile, Beispiel:
# ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 Mai 29 14:06 /dev/sda brw-rw---- 1 root disk 8, 1 Mai 29 14:06 /dev/sda1 brw-rw---- 1 root disk 8, 2 Mai 29 14:06 /dev/sda2 brw-rw---- 1 root disk 8, 5 Mai 29 14:06 /dev/sda5 # cryptsetup luksOpen /dev/sda5 sda5_crypt Passphrase: # ls -l /dev/mapper insgesamt 0 crw------- 1 root root 10, 236 Mai 29 14:06 control lrwxrwxrwx 1 root root 7 Mai 29 14:06 sda5_crypt -> ../dm-0 lrwxrwxrwx 1 root root 7 Mai 29 14:06 thinkpad--vg-home -> ../dm-3 lrwxrwxrwx 1 root root 7 Mai 29 14:06 thinkpad--vg-root -> ../dm-1 lrwxrwxrwx 1 root root 7 Mai 29 14:06 thinkpad--vg-swap_1 -> ../dm-2
Danach besteht nach Öffnen der verschlüsselten Partition /dev/sda5
Zugriff auf die VolumeGroup thinkpad-vg
und die darin befindlichen LogicalVolumes home, root und swap_1
.
Zugriff auf eine bestehende LVM Partition
Es kommt vor, dass man auf eine bestehende LVM-Partition zugreifen möchte um Daten zu ändern oder auszulesen. Von einem System kann so auf eine bereitgestellte Platte zugegriffen werden. Wenn LVM bereits installiert ist, sind Schritt 1 und 2 nicht erforderlich.
~$ sudo apt install lvm2 ~$ sudo modprobe dm-mod ~$ sudo vgscan Reading volume groups from cache. Found volume group "template-vg" using metadata type lvm2 ~$ sudo vgchange -ay template-vg 2 logical volume(s) in volume group "template-vg" now active ~$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root template-vg -wi-a----- 136,16g swap_1 template-vg -wi-a----- 4,00g ~$ sudo mkdir /mnt/hyas ~$ sudo mount /dev/template-vg/root /mnt/hyas ~$ cd /mnt/hyas/ /mnt/hyas$ ls bin dev home initrd.img.old lib64 media opt root sbin srv tmp var vmlinuz.old boot etc initrd.img lib lost+found mnt proc run snap sys usr vmlinuz /mnt/hyas$