Archive:Online Sicherung von virtuellen XEN Maschinen
![]() |
DER INHALT DIESER SEITE IST VERALTET |
Die SEP AG hat die Unterstützung für veraltete SEP sesam Versionen eingestellt. Anleitungen stehen nach wie vor für diese SEP sesam Produkte zur Verfügung, jedoch übernimmt SEP AG keine Verantwortung oder Haftung für Fehler oder Ungenauigkeiten in den Anleitungen oder für die falsche Bedienung veralteter SEP sesam Software. Es wird dringend empfohlen Ihre SEP sesam Software auf die neueste Version zu aktualisieren. Die neueste Dokumentation für SEP sesam finden Sie unter Dokumentation. |
Copyright © SEP AG 1999-2024. Alle Rechte vorbehalten.
Jede Form der Reproduktion der Inhalte dieses Benutzerhandbuches, ganz oder in Teilen, ist nur mit der ausdrücklichen schriftlichen Erlaubnis der SEP AG gestattet. Bei der Erstellung dieses Benutzerhandbuches wurde mit größtmöglicher Sorgfalt gearbeitet, um korrekte und fehlerfreie Informationen bereit stellen zu können. Trotzdem kann die SEP AG keine Gewähr für die Richtigkeit der Inhalte dieses Benutzerhandbuches übernehmen.
Einleitung
XEN verfügt bisher über keine eigene Backup-API. Das bedeutet, dass XEN virtuelle Maschinen alleine über XEN Mechanismen nicht Online gesichert werden können. Ein probates Mittel ist die Zuhilfenahme von LVM (Logical Volume Manager) als Zwischenschicht zwischen physikalischer Platte und Dateisystem. Damit ist die Möglichkeit gegeben, eine virtuelle Maschine unter XEN über einen sogenannte LVM-Snapshot zu sichern. Dieser LVM-Snapshot kann anschließend ins Filesystem gemountet werden und dann mittels SEP sesam als Pfadsicherung auf Disk oder Band geschrieben werden.
Nicht zu vergessen die VM-Konfigurationsdateien im Verzeichnis /etc/xen. Auf diese wird hier nicht explizit eingegangen, da es auf Linux-Systemen generell sinnvoll ist das komplette /etc-Verzeichnis zu sichern.
ACHTUNG |
Bitte beachten Sie, dass weder XEN noch LVM Bestandteil der SEP sesam Software sind. Weitergehende Informationen finden sie über die Literaturverweise am Ende des Dokuments oder allgemein im Internet. |
Verbesserte Lösung in Sesam Version 4.2: |
Ab SEP sesam Version 4.2 ist es möglich ein LVM-basiertes Backup zu definieren. Dazu ist die Checkbox Backup mit LVM in den Auftragseigenschaften zu aktivieren. Befindet sich eine Backup-Quelle auf einem LVM-Volume, erzeugt SEP sesam automatisch ein LVM-Snapshot, sichert die Quelle auf dem Snapshot und entfernt den Snapshot nach dem Backup wieder. |
Die hier beschriebene Lösung ist so allgemein, dass sie im Prinzip nicht nur für XEN anzuwenden ist, sondern notfalls mit kleinen Anpassungen für alle Hypervisor ohne Backup-API z.B. KVM.
Systemvoraussetzungen
- Betrieb der XEN Umgebung auf LVM (Logical Volume Manager)
- Installation eines SEP sesam Klienten auf dem XEN Hostsystem
- Aufnahme des XEN Hostsystems als SEP sesam Klient beim Sesam Server
Prinzipielle Vorgehensweise
Backup
- LVM Snapshot des Logical Volumes erzeugen, auf dem die VM liegt
- Snapshot ins Dateisystem einhängen
- Eine Pfadsicherung via SEP sesam über den Mountpoint des LVM Snapshot durchführen
- Nach dem Backup den Snapshot aus dem Filesystem aushängen
- Snapshot löschen
Recover
- Die XEN VM, die recovered werden soll, herunterfahren
- Restore des Savesets der VM Sicherung an den Original-Ort, auf dem die VM läuft, mit Überschreiben
- Start der VM
Detaillierte Vorgehensweise
ACHTUNG |
Dieses Szenario ist nur als Beispiel zu verstehen, da die Größenbemessungen der LVs (Logical Volumes) von den virtuellen Maschinen und den darauf betriebenen Anwendungen Ihrer Systemumgebung abhängen. |
In diesem Beispiel ist auf dem XEN Host astronomix die virtuelle Maschine vm1 auf dem Logical Volume (LV) /dev/system/xenvm gespeichert. Diese Partition ist nach /srv/xenvm gemountet. Die Dateien der VM vm1 sind im Verzeichnis /srv/xenvm/vm1 gespeichert.
Backup der XEN VM
LVM Snapshot erzeugen
Ein Snapshot Volume muss so groß angelegt werden, um alle während der Sicherungsdauer anfallenden Änderungen, die die virtuelle Maschine erzeugt, speichern zu können. In diesem Beispiel wird das Snapshot mit einer Größe von 1 GB angelegt.
# lvcreate -L1G -s -n vmbackup /dev/system/xenvm Logical volume "vmbackup" created
Das Snapshot wird über die Gerätedatei /dev/system/vmbackup im XEN Hostssystem bekanntgegeben.
ACHTUNG |
Volllaufende Snapshots werden innerhalb der LVM-Konfiguration automatisch disabled. In solch einem Fall wird das Backup mit hoher Wahrscheinlichkeit inkonsistent und damit wertlos. Die Größe von 1 GB hier ist NUR als Beispiel zu verstehen. Bitte testen Sie vor dem Echtbetrieb, wieviel Änderungsdaten Ihre virtuellen Maschinen während des Backups erzeugen und bemessen sie das Snapshot danach. |
Snapshot mounten
Jetzt wird das Snapshot in das Dateisystem nach /mnt/vmbackup eingehängt:
# mount /dev/system/vmbackup /mnt/vmbackup
Backup im Sesam einrichten und ausführen
- Definition eines Sicherungsauftrages "Backup_XEN_vm1" mit:
- der Sicherungsquelle /mnt/vmbackup und
- Sicherungstyp Pfadsicherung
- Damit kann das Backup per Sofortstart getestet werden. Für eine zeitgesteuerte Ausführung kann nun ein Zeitplan (z.B. täglich 20:00 Uhr) eingerichtet werden.
Aushängen und Löschen des Snapshots
Wenn das Backup abgeschlossen ist, kann das Snapshot aus dem Dateisystem wieder ausgehängt...
# umount /mnt/vmbackup
...und gelöscht werden.
# lvremove -f /dev/system/vmbackup Logical volume "vmbackup" successfully removed
Systemwiederherstellung einer VM
Beim Restore einer virtuellen Maschine ist...
- ...zunächst sicherzustellen, dass die bestehende VM heruntergefahren wurde, so dass die zu der VM gehörenden Dateien überschrieben werden können.
- Dann wird über den Restorewizard im SEP sesam eine Rücksicherung angestoßen.
- als Rücksicherungsziel wird der originale Ort der virtuellen Maschine vm1, in diesem Fall /srv/xenvm/vm1, angegeben.
- Da die Dateien der VM alle in demselben Verzeichnis liegen, ist die Option Original Baumstruktur abzuwählen. Damit landen alle Dateien in dem benannten Verzeichnis.
- Existieren am Zielort des Restore noch Dateien, dann ist das Überschreiben existierender Dateien zu wählen.
- Nach erfolgreichem Restore kann die VM ganz normal gestartet werden.
Erweiterte Sesam Konfiguration
Zur besseren Automatisierung lassen sich die Punkte "Snapshot erzeugen" und "Mount Snapshot" vor dem Backup in einen Pre-Prozess und der "Unmount Snapshot" und das "Snapshots löschen" nach dem Backup in einen Post-Prozess einbinden. Details finden Sie unter Pre- und Post-Skripte verwenden.
Einrichten der Pre- und Post-Schnittstellen
Die Definition der Pre- und Post-Verarbeitung erfolgen per Skript auf dem Sesam-Klienten, auf dem das Backup laufen sollen. In diesem Falle ist das der XEN Host. Hierzu sind aus dem Verzeichnis /opt/sesam/skel/templates die Schnittstellen-Vorlagen sbc_pre und sbc_post in das Verzeichnis /opt/sesam/bin/sesam zu kopieren und entsprechend zu editieren.
Hier sind die Auszüge aus den Dateien als Muster zu sehen. Die Fehlerverarbeitung ist nur rudimentär und kann nach eigenem Bedarf angepasst werden.
sbc_pre
... #=== Please insert your specific actions here===================================== if [ $task == Backup_XEN_vm1 ]; then echo "Create a LVM snapshot for backup of virtual machine vm1..." lvcreate -L1G -s -n vmbackup /dev/system/xenvm rc=$? if [ $rc -eq 0 ]; then echo "...successful" echo echo "Mount LVM snapshot for backup..." mount /dev/system/vmbackup /mnt/vmbackup rc=$? if [ $rc -ne 0 ]; then # if error clean up lvremove -f /dev/system/vmbackup echo STATUS:ERROR {Error on mounting LVM snapshot} exit fi echo "...successful" else echo STATUS:ERROR {Error on creating LVM snapshot} exit fi fi echo STATUS:OK exit
sbc_post
... #=== Please insert your specific actions here ===================================== if [ $task == Backup_XEN_vm1 ]; then echo "Unmount LVM snapshot after backup..." umount /mnt/vmbackup rc=$? if [ $rc -ne 0 ]; then echo STATUS:ERROR {Error on unmounting LVM snapshot} echo "Please unmount and remove LVM snapshot manually!" exit fi echo "...successful" echo echo "Delete LVM snapshot for virtual machine vm1..." lvremove -f /dev/system/vmbackup rc=$? if [ $rc -ne 0 ]; then # if error clean up echo STATUS:ERROR {Error on deleting LVM snapshot} echo "Please delete LVM snapshot manually" exit fi echo "...successful" fi echo STATUS:OK exit
Definition des Sicherungsauftrages im Sesam
Über die SEP sesam GUI ist am Klienten ein Sicherungsauftrag anzulegen. Als Sicherungsquelle wird hier der Mountpoint angegeben, auf den zum Backupzeitpunkt das Snapshot gemountet wird (/mnt/vmbackup).

Auf dem Register Optionen 1 sind die Checkboxen für die Pre- und Post-Verarbeitung vor und nach dem Backup zu setzen. Die Optionen sind so gewählt, dass der Backup abbricht, wenn im Pre-Job ein Fehler auftritt, da hier die Möglichkeit besteht, dass entweder der Snapshot nicht erstellt bzw. nicht gemountet wurde. Die Nachverarbeitung (Post) wird dagegen auch durchgeführt, wenn das Backup selbst auf einen Fehler gelaufen ist. Damit ist sichergestellt, dass nach dem Backup die Aufräumarbeiten, wie Snapshot aushängen und löschen, ordnungsgemäß durchgeführt werden.

Selektive Sicherung der VM
Das o. a. Szenario beschreibt die Sicherung einer virtuellen Maschine als Ganzes, d. h. es wird die VM als Container gesichert. Für ein selektives Backup von Teilen einer VM (von innen), ist die virtuelle Maschine genauso zu betrachten wie eine Physikalische. Das bedeutet, jede VM ist ein eigener IP-Host und dazu ist auf dieser VM ein Sesam Klient zu installieren und in der Sesam Umgebung zu konfigurieren. Damit kann dann für diese virtuelle Maschine ein selektiver Backup durchgeführt werden.