Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:virtualisierung_gast-systeme_snapshot

Dies ist eine alte Version des Dokuments!


Virtualisierung Gast-Systeme Snapshot

:!: WICHTIG - Der Installation zugrunde liegendes Dateisystem muss „qcow2“ sein !!!

Nachfolgend soll gezeigt werde, wie ein Gast-Systen innerhalb der Virtualisierungsumgebung - KVM/Qemu - über den „Snapshot“-Mechanismus

  • ein „Snapshot“ erstellt wird
  • der Zustand vor dem „Snapshot“ wiederhergestellt wird
  • die Änderungen aus dem „Snapshot“ in das Image übernommen werden können

Snapshot

Ein „Snapshot“ speichern den Zustand der gesamten virtuellen Maschine (CPU, Speicher, Geräte und beschreibbare Datenträger). Auf diese Weise können Änderungen am System rückgängig gemacht werden. Ältere QEMU-Versionen speichern einen „Snapshot“ in separaten Datei bzw. in separaten Dateien.

Ab der QEMU (qemu-kvm) Version 0.9.0 erfolgt die Speicherung eines „Snapshots“ direkt auf die virtuellen Festplatten. Voraussetzung dazu ist, dass zumindest eines der eingebundenen Festplatten-Images im Format qcow2 vorliegt.

Voraussetzungen

Um zu überprüfen, welche qemu-kvm Version installiert ist, kann z.B. nachfolgender Befehl verwendet werden:

# yum info qemu-kvm | grep Version
Version     : 0.12.1.2

Um festzustellen, ob zumindest eines der eingebundenen Festplatten-Images im Format qcow2 vorliegt, kann nachfolgender Befehl verwendet werden (Der Name des Images lautet in diesem Beispiel vmltest.img):

# qemu-img info /var/lib/libvirt/images/vmltest.img
image: /var/lib/libvirt/images/vmltest.img
file format: qcow2
virtual size: 20G (20971520000 bytes)
disk size: 1.1G
cluster_size: 65536

:!: WICHTIG - Es ist wichtig, dass hier file format: qcow2 erscheint!

Shell: virsh

Der Befehl virsh, ist ein Werkzeug zum Verwalten virtueller Maschinen.

:!: HINWEIS - Es hat den Vorteil, das es auch innerhalb einer ssh Verbindung zum Host-System genutzt werden kann!

virsh ist ein Teil des Libvirt-Projekts, das eine Befehlssammlung zur Verfügung stellt, mit denen sowohl Teile des Host-Systems, sowie auch Teile des Gast-System gesteuert werden können. Es stellt gewissermaßen die Befehlssätze in der shell zur Verfügung.

Nachfolgender Befehl, listet die Möglichkeiten von virsh in Bezug auf den Mechanismus „Snapshot“ auf:

# virsh help snapshot
 Snapshot (help keyword 'snapshot'):
    snapshot-create                Create a snapshot from XML
    snapshot-create-as             Create a snapshot from a set of args
    snapshot-current               Get or set the current snapshot
    snapshot-delete                Delete a domain snapshot
    snapshot-dumpxml               Dump XML for a domain snapshot
    snapshot-edit                  edit XML for a snapshot
    snapshot-info                  snapshot information
    snapshot-list                  List snapshots for a domain
    snapshot-parent                Get the name of the parent of a snapshot
    snapshot-revert                Revert a domain to a snapshot

snapshot-create

Dazu sollen zuerst die Möglichkeiten des Befehls snapshot-create mit nachfolgendem Befehl aufgelistet werden:

# virsh help snapshot-create
  NAME
    snapshot-create - Create a snapshot from XML

  SYNOPSIS
    snapshot-create <domain> [<xmlfile>] [--redefine] [--current] [--no-metadata] [--halt] [--disk-only]
    [--reuse-external] [--quiesce] [--atomic] [--live]

  DESCRIPTION
    Create a snapshot (disk and RAM) from XML

  OPTIONS
    [--domain] <string>  domain name, id or uuid
    [--xmlfile] <string>  domain snapshot XML
    --redefine       redefine metadata for existing snapshot
    --current        with redefine, set current snapshot
    --no-metadata    take snapshot but create no metadata
    --halt           halt domain after snapshot is created
    --disk-only      capture disk state but not vm state
    --reuse-external  reuse any existing external files
    --quiesce        quiesce guest's file systems
    --atomic         require atomic operation
    --live           take a live snapshot

Nachfolgendes Beispiel zeigt, wie ein „Snapshot“ für ein Gast-System (Domain) mit dem Namen, hier vmltest erstellt werden kann:

# virsh snapshot-create vmltest
Domain snapshot 1379080157 created

:!: HINWEIS - Dies kann einige Zeit, je nach Größe des Gast-Systems (Domain) dauern!
:!: HINWEIS - Während der Erstellung eines „Snapshots“, wird das Gast-System (Domain) pausiert!

Nachfolgender Befehl listet die erstellten „Snapshots“ für ein Gast-System (Domain) auf:

# virsh snapshot-list vmltest
 Name                 Creation Time             State
------------------------------------------------------------
 1379080157           2013-09-13 15:49:17 +0200 running

Es wird eine XML-Datei im Verzeichnis, hier für das Gast-System vmltest (Domain)

  • /var/lib/libvirt/qemu/snapshot/vmltest/

mit dem Namen 1379080157.xml (was mit nachfolgendem Befehl abgefragt werden kann)

# ll /var/lib/libvirt/qemu/snapshot/vmltest/1379080157.xml 
-rw------- 1 root root 2485 Sep 13 15:52 /var/lib/libvirt/qemu/snapshot/vmltest/1379080157.xml

erzeugt.

Die Daten werden, wie schon erwähnt, an das Image angehängt!

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/virtualisierung_gast-systeme_snapshot.1379080757.txt.gz · Zuletzt geändert: 2013/09/13 15:59 von klaus