XenServer

VM-Snapshots

XenServer bietet einen praktischen Mechanismus, der zu einem bestimmten Zeitpunkt einen Snapshot des VM-Speichers und der Metadaten erstellen kann. Bei Bedarf wird die E/A vorübergehend angehalten, während der Snapshot erstellt wird, um sicherzustellen, dass ein konsistentes Datenträger-Image erfasst werden kann.

Snapshot-Operationen führen zu einer Snapshot-VM, die einer Vorlage ähnelt. Der VM-Snapshot enthält alle Speicherinformationen und die VM-Konfiguration, einschließlich der angehängten VIFs, sodass sie für Sicherungszwecke exportiert und wiederhergestellt werden können. Snapshots werden auf allen Speichertypen unterstützt. Für die LVM-basierten Speichertypen müssen jedoch die folgenden Anforderungen erfüllt sein:

  • Wenn das Speicher-Repository auf einer früheren Version von XenServer® erstellt wurde, muss es aktualisiert worden sein.
  • Das Volume muss im Standardformat vorliegen (Sie können keinen Snapshot von type=raw Volumes erstellen).

Der Snapshot-Vorgang ist ein zweistufiger Prozess:

  • Erfassen von Metadaten als Vorlage.

  • Erstellen eines VDI-Snapshots der Festplatten.

Die folgenden Arten von VM-Snapshots werden unterstützt: reguläre Snapshots und Snapshots mit Arbeitsspeicher.

Reguläre Snapshots

Reguläre Snapshots sind absturzkonsistent und können auf allen VM-Typen, einschließlich Linux-VMs, durchgeführt werden.

Snapshots mit Arbeitsspeicher

Zusätzlich zum Speichern des VM-Arbeitsspeichers (Speicher) und der Metadaten speichern Snapshots mit Arbeitsspeicher auch den VM-Zustand (RAM). Diese Funktion kann nützlich sein, wenn Sie Software aktualisieren oder patchen, aber auch die Möglichkeit haben möchten, zum VM-Zustand (RAM) vor der Änderung zurückzukehren. Das Zurückkehren zu einem Snapshot mit Arbeitsspeicher erfordert keinen Neustart der VM.

Sie können einen Snapshot mit Arbeitsspeicher einer laufenden oder angehaltenen VM mithilfe der Verwaltungs-API, der xe-CLI oder XenCenter erstellen.

Einen VM-Snapshot erstellen

Bevor Sie einen Snapshot erstellen, beachten Sie die folgenden Informationen zu speziellen betriebssystemspezifischen Konfigurationen und Überlegungen:

Stellen Sie zunächst sicher, dass die VM ausgeführt oder angehalten ist, damit der Speicherstatus erfasst werden kann. Die einfachste Methode, die VM auszuwählen, auf der der Vorgang ausgeführt werden soll, ist die Angabe des Arguments vm=name oder vm=vm uuid.

Führen Sie den Befehl vm-snapshot aus, um einen Snapshot einer VM zu erstellen.

xe vm-snapshot vm=vm uuid new-name-label=vm_snapshot_name
<!--NeedCopy-->

Snapshot mit Speicher erstellen

Führen Sie den Befehl vm-checkpoint aus und geben Sie einen aussagekräftigen Namen für den Snapshot mit Speicher an, damit Sie ihn später identifizieren können:

xe vm-checkpoint vm=vm uuid new-name-label=name of the checkpoint
<!--NeedCopy-->

Wenn XenServer die Erstellung des Snapshots mit Speicher abgeschlossen hat, wird dessen UUID angezeigt.

Zum Beispiel:

xe vm-checkpoint vm=2d1d9a08-e479-2f0a-69e7-24a0e062dd35 \
new-name-label=example_checkpoint_1
b3c0f369-59a1-dd16-ecd4-a1211df29886
<!--NeedCopy-->

Ein Snapshot mit Speicher erfordert mindestens 4 MB Speicherplatz pro Festplatte, zuzüglich der Größe des RAM und etwa 20 % Overhead. Ein Checkpoint mit 256 MB RAM würde also ungefähr 300 MB Speicherplatz benötigen.

Hinweis:

Während des Checkpoint-Erstellungsprozesses wird die VM für kurze Zeit angehalten und kann in dieser Zeit nicht verwendet werden.

Alle Snapshots in Ihrem XenServer-Pool auflisten

Führen Sie den Befehl snapshot-list aus:

xe snapshot-list
<!--NeedCopy-->

Dieser Befehl listet alle Snapshots im XenServer-Pool auf.

So listen Sie die Snapshots einer bestimmten VM auf

Rufen Sie die UUID der jeweiligen VM ab, indem Sie den Befehl vm-list ausführen.

xe vm-list
<!--NeedCopy-->

Dieser Befehl zeigt eine Liste aller VMs und ihrer UUIDs an. Zum Beispiel:

xe vm-list
uuid ( RO): 116dd310-a0ef-a830-37c8-df41521ff72d
name-label ( RW): Windows Server 2016 (1)
power-state ( RO): halted

uuid ( RO): dff45c56-426a-4450-a094-d3bba0a2ba3f
name-label ( RW): Control domain on host
power-state ( RO): running
<!--NeedCopy-->

VMs können auch durch Filtern der vollständigen Liste der VMs nach den Werten von Feldern angegeben werden.

Wenn Sie beispielsweise power-state=halted angeben, werden alle VMs ausgewählt, deren Power-State-Feld gleich ‘halted’ ist. Wenn mehrere VMs übereinstimmen, muss die Option --multiple angegeben werden, um den Vorgang auszuführen. Die vollständige Liste der Felder, die abgeglichen werden können, erhalten Sie mit dem Befehl xe vm-list params=all.

Suchen Sie die gewünschte VM und geben Sie dann Folgendes ein:

xe snapshot-list snapshot-of=vm uuid
<!--NeedCopy-->

Zum Beispiel:

xe snapshot-list snapshot-of=2d1d9a08-e479-2f0a-69e7-24a0e062dd35
<!--NeedCopy-->

Dieser Befehl listet die Snapshots auf, die sich derzeit auf dieser VM befinden:

    uuid ( RO): d7eefb03-39bc-80f8-8d73-2ca1bab7dcff
    name-label ( RW): Regular
    name-description ( RW):
    snapshot_of ( RO): 2d1d9a08-e479-2f0a-69e7-24a0e062dd35
    snapshot_time ( RO): 20090914T15:37:00Z

    uuid ( RO): 1760561d-a5d1-5d5e-2be5-d0dd99a3b1ef
    name-label ( RW): Snapshot with memory
    name-description ( RW):
    snapshot_of ( RO): 2d1d9a08-e479-2f0a-69e7-24a0e062dd35
    snapshot_time ( RO): 20090914T15:39:45Z
<!--NeedCopy-->

Eine VM auf ihren vorherigen Zustand zurücksetzen

Stellen Sie sicher, dass Sie die UUID des Snapshots haben, zu dem Sie zurückkehren möchten, und führen Sie dann den Befehl snapshot-revert aus:

  1. Führen Sie den Befehl snapshot-list aus, um die UUID des Snapshots oder Checkpoints zu finden, zu dem Sie zurückkehren möchten:

    xe snapshot-list
    <!--NeedCopy-->
    
  2. Notieren Sie die UUID des Snapshots und führen Sie dann den folgenden Befehl zum Zurücksetzen aus:

    xe snapshot-revert snapshot-uuid=snapshot uuid
    <!--NeedCopy-->
    

    Zum Beispiel:

    xe snapshot-revert snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886
    <!--NeedCopy-->
    

    Nach dem Zurücksetzen einer VM auf einen Checkpoint wird die VM angehalten.

Hinweise:

  • Wenn nicht genügend Speicherplatz vorhanden ist, um den Snapshot dick bereitzustellen, können Sie nicht auf den Snapshot zurücksetzen, bis der Zustand des aktuellen Datenträgers freigegeben wurde. Wenn dieses Problem auftritt, wiederholen Sie den Vorgang.

  • Es ist möglich, zu jedem Snapshot zurückzukehren. Vorhandene Snapshots und Checkpoints werden während des Wiederherstellungsvorgangs nicht gelöscht.

Einen Snapshot löschen

Stellen Sie sicher, dass Sie die UUID des Checkpoints oder Snapshots haben, den Sie entfernen möchten, und führen Sie dann den folgenden Befehl aus:

  1. Führen Sie den Befehl snapshot-list aus, um die UUID des Snapshots oder Checkpoints zu finden, zu dem Sie zurückkehren möchten:

    xe snapshot-list
    <!--NeedCopy-->
    
  2. Notieren Sie die UUID des Snapshots und führen Sie dann den Befehl snapshot-uninstall aus, um ihn zu entfernen:

    xe snapshot-uninstall snapshot-uuid=snapshot-uuid
    <!--NeedCopy-->
    
  3. Dieser Befehl warnt Sie vor den VMs und VDIs, die gelöscht werden. Geben Sie yes zur Bestätigung ein.

Zum Beispiel:

    xe snapshot-uninstall snapshot-uuid=1760561d-a5d1-5d5e-2be5-d0dd99a3b1ef
    The following items are about to be destroyed
    VM : 1760561d-a5d1-5d5e-2be5-d0dd99a3b1ef (Snapshot with memory)
    VDI: 11a4aa81-3c6b-4f7d-805a-b6ea02947582 (0)
    VDI: 43c33fe7-a768-4612-bf8c-c385e2c657ed (1)
    VDI: 4c33c84a-a874-42db-85b5-5e29174fa9b2 (Suspend image)
    Type 'yes' to continue
    yes
    All objects destroyed
<!--NeedCopy-->

Wenn Sie nur die Metadaten eines Checkpoints oder Snapshots entfernen möchten, führen Sie den folgenden Befehl aus:

xe snapshot-destroy snapshot-uuid=snapshot-uuid
<!--NeedCopy-->

Zum Beispiel:

xe snapshot-destroy snapshot-uuid=d7eefb03-39bc-80f8-8d73-2ca1bab7dcff
<!--NeedCopy-->

Snapshot-Vorlagen

Eine Vorlage aus einem Snapshot erstellen

Sie können eine VM-Vorlage aus einem Snapshot erstellen. Der Speicherzustand wird jedoch entfernt.

  1. Verwenden Sie den Befehl snapshot-copy und geben Sie einen new-name-label für die Vorlage an:

    xe snapshot-copy new-name-label=vm-template-name \
          snapshot-uuid=uuid of the snapshot
    <!--NeedCopy-->
    

    Zum Beispiel:

    xe snapshot-copy new-name-label=example_template_1
          snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886
    <!--NeedCopy-->
    

    Hinweis:

    Dieser Befehl erstellt ein Vorlagenobjekt im GLEICHEN Pool. Diese Vorlage existiert nur in der XenServer-Datenbank für den aktuellen Pool.

  2. Um zu überprüfen, ob die Vorlage erstellt wurde, führen Sie den Befehl template-list aus:

    xe template-list
    <!--NeedCopy-->
    

    Dieser Befehl listet alle Vorlagen auf dem XenServer-Host auf.

Einen Snapshot in eine Vorlage exportieren

Wenn Sie einen VM-Snapshot exportieren, wird eine vollständige Kopie der VM (einschließlich der Festplatten-Images) als einzelne Datei auf Ihrem lokalen Computer gespeichert. Diese Datei hat die Dateinamenerweiterung .xva.

  1. Verwenden Sie den Befehl snapshot-export-to-template, um eine Vorlagendatei zu erstellen:

    xe snapshot-export-to template snapshot-uuid=snapshot-uuid \
          filename=template-  filename
    <!--NeedCopy-->
    

    Zum Beispiel:

    xe snapshot-export-to-template snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886 \
          filename=example_template_export
    <!--NeedCopy-->
    

Die VM-Export-/Importfunktion kann auf verschiedene Arten verwendet werden:

  • Als praktische Sicherungsfunktion für Ihre VMs. Eine exportierte VM-Datei kann verwendet werden, um eine gesamte VM in einem Katastrophenszenario wiederherzustellen.

  • Als Möglichkeit, eine VM schnell zu kopieren, zum Beispiel eine spezielle Serverkonfiguration, die Sie oft verwenden. Sie konfigurieren die VM einfach nach Ihren Wünschen, exportieren sie und importieren sie dann, um Kopien Ihrer ursprünglichen VM zu erstellen.

  • Als einfache Methode, um eine VM auf einen anderen Host zu verschieben.

Weitere Informationen zur Verwendung von Vorlagen finden Sie unter VMs erstellen und auch im Artikel VMs verwalten in der XenCenter-Dokumentation.

Geplante Snapshots

Die Funktion „Geplante Snapshots“ bietet ein einfaches Sicherungs- und Wiederherstellungsdienstprogramm für Ihre kritischen Dienst-VMs. Regelmäßige geplante Snapshots werden automatisch erstellt und können zur Wiederherstellung einzelner VMs verwendet werden. Geplante Snapshots funktionieren, indem poolweite Snapshot-Zeitpläne für ausgewählte VMs im Pool festgelegt werden. Wenn ein Snapshot-Zeitplan aktiviert ist, werden Snapshots der angegebenen VM zur geplanten Zeit jede Stunde, jeden Tag oder jede Woche erstellt. Mehrere geplante Snapshots können in einem Pool aktiviert werden, die verschiedene VMs und unterschiedliche Zeitpläne abdecken. Eine VM kann jeweils nur einem Snapshot-Zeitplan zugewiesen werden.

XenCenter bietet eine Reihe von Tools, die Ihnen helfen, diese Funktion zu nutzen:

  • Um einen geplanten Snapshot zu definieren, verwenden Sie den Assistenten Neuen Snapshot-Zeitplan.

  • Um geplante Snapshots für einen Pool zu aktivieren, deaktivieren, bearbeiten und zu löschen, verwenden Sie das Dialogfeld VM-Snapshot-Zeitpläne.

  • Um einen Snapshot-Zeitplan zu bearbeiten, öffnen Sie dessen Dialogfeld Eigenschaften aus dem Dialogfeld VM-Snapshot-Zeitpläne.

  • Um eine VM auf einen geplanten Snapshot zurückzusetzen, wählen Sie den Snapshot auf der Registerkarte Snapshots aus und setzen Sie die VM darauf zurück.

Weitere Informationen finden Sie unter Geplante Snapshots in der XenCenter-Dokumentation.