VM-Snapshots

HASH (0x2c1a078) bietet einen praktischen Mechanismus, mit dem ein Snapshot eines VM-Speichers und Metadaten zu einem bestimmten Zeitpunkt erstellt werden kann. Bei Bedarf wird die E/A vorübergehend angehalten, während der Snapshot erstellt wird, um sicherzustellen, dass ein selbstkonsistentes Festplattenabbild erfasst werden kann.

Snapshot-Vorgänge führen zu einer Snapshot-VM, die einer Vorlage ähnlich ist. Der VM-Snapshot enthält alle Speicherinformationen und VM-Konfiguration, einschließlich angeschlossener 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 folgende Anforderungen erfüllt sein:

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

Der Snapshot-Vorgang ist ein zweistufiger Prozess:

  • Erfassen von Metadaten als Vorlage.

  • Erstellen eines VDI-Snapshots der Festplatten.

Drei Arten von VM-Snapshots werden unterstützt: regulär, stillgelegt und Snapshot mit Speicher

Reguläre Snapshots

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

Stillgehogene Snapshots

Stillgehaltene Snapshots nutzen den Windows Volume Shadow Copy Service (VSS), um anwendungskonsistente Point-in-Time-Snapshots zu generieren. Das VSS-Framework hilft VSS-kompatiblen Anwendungen (z. B. Microsoft SQL Server), Daten auf den Datenträger zu leeren und den Snapshot vorzubereiten, bevor er erstellt wird.

Stillgeschlagene Snapshots können daher sicherer wiederhergestellt werden, können jedoch während der Erstellung größere Auswirkungen auf die Leistung eines Systems haben. Sie können auch unter Last fehlschlagen, so dass mehr als ein Versuch erforderlich ist, den Snapshot zu erstellen.

HASH (0x2c1a078) unterstützt stillgeschlagene Snapshots auf:

  • Windows Server 2016

  • Windows Server 2012 R2

  • Windows Server 2012

  • Windows Server 2008 R2

  • Windows Server 2008 (32/64 -bit)

Windows 10, Windows 8.1 und Windows 7 werden für stillgeschlegene Snapshots nicht unterstützt. Weitere Hinweise zu stillgestellten Snapshots finden Sie unterErweiterte Hinweise für stillgeschlegene Snapshots.

Snapshots mit Speicher

Zusätzlich zum Speichern von VMS-Speicher (Speicher) und Metadaten speichern Snapshots mit Speicher auch den VMS-Status (RAM). Diese Funktion kann nützlich sein, wenn Sie Software aktualisieren oder patchen, aber Sie möchten auch, dass Sie den VM-Status (Pre-Change VM Status, RAM) wiederherstellen möchten. Das Wiederherstellen eines Snapshots mit Arbeitsspeicher erfordert keinen Neustart der VM.

Sie können einen Snapshot mit Speicher einer laufenden oder angehaltenen VM über die Management-API, die xe-CLI oder mithilfe von HASH (0x2e6c8e8) erstellen.

Erstellen eines virtuellen Snapshots

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

Stellen Sie zunächst sicher, dass die VM ausgeführt oder angehalten wird, damit der Speicherstatus erfasst werden kann. Die einfachste Möglichkeit, die VM auszuwählen, auf der der Vorgang ausgeführt werden soll, besteht darin, das Argumentvm=name oder anzugebenvm=vm uuid .

Führen Sie dievm-snapshot Befehlevm-snapshot-with-quiesce und aus, um einen Snapshot einer virtuellen Maschine zu erstellen.

xe vm-snapshot vm=vm uuid new-name-label=vm_snapshot_name
xe vm-snapshot-with-quiesce vm=vm uuid new-name-label=vm_snapshot_name

Erstellen eines Snapshots mit Speicher

Führen Sie denvm-checkpoint Befehl aus und geben Sie einen beschreibenden 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

Wenn HASH (0x2c1a078) die Erstellung des Snapshots mit Speicher abgeschlossen hat, wird seine uuid angezeigt.

Beispiel:

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

Ein Snapshot mit Arbeitsspeicher benötigt mindestens 4 MB Festplattenspeicher pro Festplatte plus die Größe des Arbeitsspeichers plus ca. 20% Overhead. Ein Checkpoint mit 256 MB RAM würde also etwa 300 MB Speicher benötigen.

Hinweis:

Während der Checkpoint-Erstellung wird die VM für einen kurzen Zeitraum angehalten und kann in diesem Zeitraum nicht verwendet werden.

So listen Sie alle Snapshots in Ihrem HASH (0x2e68218) Pool auf

Führen Sie densnapshot-list Befehl aus:

xe snapshot-list

Dieser Befehl listet alle Snapshots im HASH (0x2e68218) Pool auf.

So listen Sie die Snapshots auf einer bestimmten VM auf

Holen Sie sich die UUID der bestimmten VM, indem Sie denvm-list Befehl ausführen.

xe vm-list

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

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

uuid ( RO): 96fde888-2a18-c042-491a-014e22b07839
name-label ( RW): Windows 2008 R2 (1)
power-state ( RO): running

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

VMs können auch angegeben werden, indem die vollständige Liste der VMs nach den Werten der Felder gefiltert wird.

Wenn Sie beispielsweise angeben, werden alle VMspower-state=halted ausgewählt, deren Power-State-Feld gleich ‘Angehalten’ ist. Wenn mehrere VMs übereinstimmen,--multiple muss die Option angegeben werden, um den Vorgang auszuführen. Rufen Sie die vollständige Liste der Felder ab, die mithilfe des Befehls abgeglichen werden könnenxe vm-list params=all.

Suchen Sie die erforderliche VM, und geben Sie Folgendes ein:

xe snapshot-list snapshot-of=vm uuid

Beispiel:

xe snapshot-list snapshot-of=2d1d9a08-e479-2f0a-69e7-24a0e062dd35

Dieser Befehl listet die Momentaufnahmen auf dieser VM auf:

    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

Wiederherstellen eines VM in den vorherigen Zustand

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

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

    xe snapshot-list
    
  2. Beachten Sie die UUID des Snapshots, und führen Sie dann den folgenden Befehl zum Zurücksetzen aus:

    xe snapshot-revert snapshot-uuid=snapshot uuid
    

    Beispiel:

    xe snapshot-revert snapshot-uuid=b3c0f369-59a1-dd16-ecd4-a1211df29886
    

    Nachdem eine VM auf einen Prüfpunkt zurückgesetzt wurde, wird die VM angehalten.

Hinweise:

  • Wenn nicht genügend Speicherplatz verfügbar ist, um den Snapshot dick bereitzustellen, können Sie den Snapshot erst wiederherstellen, wenn der Status des aktuellen Datenträgers freigegeben wurde. Wenn dieses Problem auftritt, wiederholen Sie den Vorgang.

  • Es ist möglich, auf jeden Snapshot zurückzugreifen. Vorhandene Snapshots und Prüfpunkte werden während des Rückgängigvorgangs nicht gelöscht.

Löschen eines Snapshots

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

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

    xe snapshot-list
    
  2. Beachten Sie die UUID des Snapshots, und führen Sie dann densnapshot-uninstall Befehl aus, um ihn zu entfernen:

    xe snapshot-uninstall snapshot-uuid=snapshot-uuid
    
  3. Dieser Befehl warnt Sie auf die gelöschte VM und VDIs. Geben Sieyes zum Bestätigen ein.

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

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

Beispiel:

xe snapshot-destroy snapshot-uuid=d7eefb03-39bc-80f8-8d73-2ca1bab7dcff

Snapshot-Vorlagen

Erstellen einer Vorlage aus einem Snapshot

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

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

    xe snapshot-copy new-name-label=vm-template-name \
          snapshot-uuid=uuid of the snapshot
    

    Beispiel:

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

    Hinweis:

    Mit diesem Befehl wird ein Vorlagenobjekt im SAME-Pool erstellt. Diese Vorlage ist nur in der HASH-Datenbank (0x2c1a078) für den aktuellen Pool vorhanden.

  2. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Vorlage erstellt wurdetemplate-list:

    xe template-list
    

    Dieser Befehl listet alle Vorlagen auf dem HASH-Server (0x2e68218) auf.

Exportieren eines Snapshots in eine Vorlage

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

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

    xe snapshot-export-to template snapshot-uuid=snapshot-uuid \
          filename=template-  filename
    

    Beispiel:

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

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

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

  • Um eine virtuelle Maschine schnell zu kopieren, z. B. eine spezielle Serverkonfiguration, die Sie häufig verwenden. Sie konfigurieren die VM einfach so, wie Sie sie möchten, exportieren sie und importieren sie dann, um Kopien Ihrer ursprünglichen VM zu erstellen.

  • Als einfache Methode zum Verschieben einer VM auf einen anderen Server.

Weitere Informationen zur Verwendung von Vorlagen findenErstellen von VMsSie im Abschnitt Verwalten von VMs in der Hilfe zu HASH (0x2e6c8e8).

Erweiterte Notizen für stillgeschlegene Snapshots

Hinweis:

Vergessen Sie nicht, den Xen VSS-Anbieter im Windows-Gast zu installieren, um VSS zu unterstützen. Diese Installation wird mit deminstall- XenProvider.cmd Skript durchgeführt, das mit dem HASH (0x2e68170) bereitgestellt wird. Weitere Informationen finden Sie unter Windows-VMs.

Im Allgemeinen kann eine VM nur über die VSS-Schnittstelle auf VDI-Snapshots (nicht VDI-Clones) von sich selbst zugreifen. Ein HASH-Administrator (0x2c1a078) kann der VM ein Attribut vonsnapmanager=true hinzufügen,other-config damit diese VM Snapshots von VDIs von anderen VMs importieren kann.

Achtung:

Diese Konfiguration öffnet eine Sicherheitsanfälligkeit. Verwenden Sie es vorsichtig. Damit kann ein Administrator VSS-Snapshots mithilfe einer von der VSS-Schicht generierten In-Guest transportablen Snapshot-ID an eine andere VM für die Zwecke der Sicherung anhängen.

VSS-Ruhezeitüberschreitung: Der Microsoft VSS-Ruhezeitraum ist auf einen nicht konfigurierbaren Wert von 10 Sekunden festgelegt. Es ist wahrscheinlich, dass ein Snapshot nicht rechtzeitig abgeschlossen werden kann. Wenn der XAPI-Daemon beispielsweise zusätzliche blockierende Aufgaben wie einen SR-Scan in die Warteschlange gestellt hat, kann der VSS-Snapshot eine Zeitspanne ausfallen und schlägt fehl. Wenn dieses Timeout auftritt, wiederholen Sie den Vorgang.

Hinweis:

Je mehr VBDs an eine VM angeschlossen sind, desto wahrscheinlicher ist es, dass dieses Timeout erreicht wird. Es wird empfohlen, nicht mehr als 2 VBDs an eine VM anzuschließen, um das Timeout zu vermeiden. Es gibt jedoch eine Problemumgehung für dieses Problem. Die Wahrscheinlichkeit, einen erfolgreichen VSS-basierten Snapshot einer VM mit mehr als 2 VBDs zu erstellen, kann erhöht werden, wenn sich alle VDIs für die VM auf verschiedenen SRs befinden.

VSS stellt alle Festplatten fest, die an eine VM angeschlossensind: Zum Speichern aller Daten, die zum Zeitpunkt eines VSS-Snapshots verfügbar sind. Der XAPI-Manager erstellt einen Snapshot aller Datenträger und der VM-Metadaten, die einer VM zugeordnet sind, von denen Sie mithilfe der Speicher-Manager-API (0x2c1a078) einen Snapshot erstellen können. Wenn der VSS-Layer einen Snapshot nur einer Teilmenge der Festplatten anfordert, wird kein vollständiger VM-Snapshot erstellt.

vm-snapshot-with-quiesce: Erzeugt bootfähige Snapshot-VM-Images: Der HASH-VSS-Hardwareanbieter (0x2c1a078) macht Snapshot-Volumes schreibbar, einschließlich des Snapshots des Startvolumes.

VSS-Snap-Volumes, die auf dynamischen Datenträgern im Windows-Gast gehostetwerden: Dievm-snapshot-with-quiesceCLI und der VSS-Hardwareanbieter HASH (0x2c1a078) unterstützen keine Snapshots von Volumes, die auf dynamischen Datenträgern auf der Windows-VM gehostet werden.

Hinweis:

Vergessen Sie nicht, den Xen VSS-Anbieter im Windows-Gast zu installieren, um VSS zu unterstützen. Diese Installation wird mit deminstall-XenProvider.cmd Skript durchgeführt, das mit dem HASH (0x2e68170) bereitgestellt wird. Weitere Informationen finden Sie unter Windows-VMs.

Geplante Snapshots

Die Funktion Zeitgesteuerte Snapshots bietet ein einfaches Sicherungs- und Wiederherstellungsprogramm für Ihre kritischen Service-VMs. Regelmäßige geplante Snapshots werden automatisch erstellt und können zur Wiederherstellung einzelner VMs verwendet werden. Geplante Snapshots arbeiten mit poolweiten Snapshot-Zeitplänen für ausgewählte VMs im Pool. Wenn ein Snapshot-Zeitplan aktiviert ist, werden Snapshots der angegebenen VM zu der geplanten Zeit jede Stunde, Tag oder Woche erstellt. In einem Pool können mehrere geplante Snapshots aktiviert werden, die verschiedene VMs und unterschiedliche Zeitpläne abdecken. Eine VM kann jeweils nur einem Snapshot-Zeitplan zugewiesen werden.

HASH (0x2e6c8e8) bietet eine Reihe von Tools, mit denen Sie diese Funktion nutzen können:

  • Um einen zeitgesteuerten Snapshot zu definieren, verwenden Sie den Assistenten für einen neuen Snapshot-Zeitplan .

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

  • Um einen Snapshot-Zeitplan zu bearbeiten, öffnen Sie das Dialogfeld Eigenschaften im 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 stellen Sie die VM wieder her.

Weitere Informationen zu geplanten Snapshots finden Sie in der Hilfe zu HASH (0x2e6c8e8).