Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:virtualisierung_gast-systeme_snapshot

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:virtualisierung_gast-systeme_snapshot [2013/09/13 16:11] – [snapshot-create] klaustachtler:virtualisierung_gast-systeme_snapshot [2013/09/13 16:54] (aktuell) – [snapshot-revert] klaus
Zeile 1: Zeile 1:
 ====== Virtualisierung Gast-Systeme Snapshot ====== ====== Virtualisierung Gast-Systeme Snapshot ======
  
-:!: **WICHTIG** - **Der Installation zugrunde liegendes Dateisystem muss "__qcow2__" sein !!!**+:!: **WICHTIG** - **Der Installation zugrunde liegendes Gast-Dateisystem muss "__qcow2__" sein !!!**
  
 Nachfolgend soll gezeigt werde, wie ein **//Gast//-Systen** innerhalb der Virtualisierungsumgebung - **KVM/Qemu** - über den **"Snapshot"**-Mechanismus  Nachfolgend soll gezeigt werde, wie ein **//Gast//-Systen** innerhalb der Virtualisierungsumgebung - **KVM/Qemu** - über den **"Snapshot"**-Mechanismus 
   * **ein "Snapshot" erstellt wird**   * **ein "Snapshot" erstellt wird**
-  * **der Zustand __vor__ dem "Snapshot" wiederhergestellt wird** +  * **der Zustand __zu__ dem "Snapshot" wiederhergestellt wird** 
-  * **die Änderungen aus dem "Snapshot" in das Image übernommen werden können**+  * **ein "Snapshot" gelöscht wird**
  
 ===== Snapshot ===== ===== 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.+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 einer separaten Datei oder mehreren 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.+Ab der **QEMU (qemu-kvm) Version 0.9.0** erfolgt die Speicherung eines **"Snapshots"** direkt auf die virtuellen Festplatten-Image. Voraussetzung dazu ist, dass zumindest eines der eingebundenen Festplatten-Images im Format qcow2 vorliegt.
  
 ==== Voraussetzungen ==== ==== Voraussetzungen ====
Zeile 38: Zeile 38:
 Der Befehl **''virsh''**, ist ein Werkzeug zum Verwalten virtueller Maschinen. 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!**+:!: **HINWEIS** - **Der Befehl ''virsh'' hat den Vorteil, das er auch innerhalb einer ''ssh'' Verbindung zum Host-System genutzt werden kann!**
  
 **''virsh''** ist ein Teil des [[http://libvirt.org/|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. **''virsh''** ist ein Teil des [[http://libvirt.org/|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.
Zeile 125: Zeile 125:
 Dies erfolgt mit nachfolgendem Befehl: Dies erfolgt mit nachfolgendem Befehl:
 <code> <code>
-# touch /root/Testdatei.txt+[root@vmltest ~]# touch /root/Testdatei.txt
 </code> </code>
  
-Nachfolgender Befehl, listtet das ''home''-Verzeichnis des Benutzers ''root'' auf:+Nachfolgender Befehl, listet das ''home''-Verzeichnis des Benutzers ''root'' auf:
 <code> <code>
-# ll+[root@vmltest ~]# ll
 total 20 total 20
 -rw-------. 1 root root 1963 Sep 13 14:25 anaconda-ks.cfg -rw-------. 1 root root 1963 Sep 13 14:25 anaconda-ks.cfg
Zeile 160: Zeile 160:
  
 </code> </code>
 +
 +:!: **WICHTIG** - Bevor **''snapshot-revert''** ausgeführt werden kann, muss das Gast-System (Domain) **__heruntergefahren__** werden!
 +
 +Dies kann mit nachfolgendem Befehlen durchgeführt werden:
 +<code>
 +[root@vmltest ~]# shutdown -h now
 +</code>
 +oder auch, wenn der **''acpid''**-Daemon/Dienst installiert ist und läuft:
 +<code>
 +# virsh shutdown vmltest
 +Domain vmltest is being shutdown
 +</code>
 +Falls das Gast-System (Domain) **__nicht__** heruntergefahren ist, erscheint nachfolgende **Fehlermeldung**:
 +<code>
 +...
 +error: revert requires force: Target device address type none does not match source pci
 +</code>
 +
 +Nachfolgendes Beispiel zeigt, wie ein **"Snapshot"** für ein Gast-System (Domain) mit dem Namen, hier **''vmltest''** und dem **"Snapshot"**-Namen **''1379080157''** wiederhergestellt werden kann:
 +<code>
 +# virsh snapshot-revert vmltest 1379080157
 +</code>
 +
 +:!: **HINWEIS** - **Standardmäßig wird das Gast-System (Domain) anschließend gestartet!**
 +
 +Nachfolgender Befehl, listet das ''home''-Verzeichnis des Benutzers ''root'' **erneut** auf:
 +<code>
 +[root@vmltest ~]# ll
 +total 20
 +-rw-------. 1 root root 1963 Sep 13 14:25 anaconda-ks.cfg
 +-rw-r--r--. 1 root root 9277 Sep 13 14:25 install.log
 +-rw-r--r--. 1 root root 3161 Sep 13 14:24 install.log.syslog
 +</code>
 +
 +:!: **HINWEIS** - **Die zuvor zu Demonstrationszwecken angelegte Datei, ist nicht mehr vorhanden!**
 +
 +Nachfolgender Befehl listet **erneut** die erstellten **"Snapshots"** für ein Gast-System (Domain) auf:
 +<code>
 +# virsh snapshot-list vmltest
 + Name                 Creation Time             State
 +------------------------------------------------------------
 + 1379080157           2013-09-13 15:49:17 +0200 running
 +
 +</code>
 +
 +:!: **HINWEIS** - **Der erstellte "Snapshot" ist immer noch vorhanden!**
 +
 +==== snapshot-delete ====
 +
 +Jetzt sollen zuerst die Möglichkeiten des Befehls **''snapshot-delete''** mit nachfolgendem Befehl aufgelistet werden:
 +<code>
 +# virsh help snapshot-delete
 +  NAME
 +    snapshot-delete - Delete a domain snapshot
 +
 +  SYNOPSIS
 +    snapshot-delete <domain> [<snapshotname>] [--current] [--children] [--children-only] [--metadata]
 +
 +  DESCRIPTION
 +    Snapshot Delete
 +
 +  OPTIONS
 +    [--domain] <string>  domain name, id or uuid
 +    [--snapshotname] <string>  snapshot name
 +    --current        delete current snapshot
 +    --children       delete snapshot and all children
 +    --children-only  delete children but not snapshot
 +    --metadata       delete only libvirt metadata, leaving snapshot contents behind
 +
 +
 +</code>
 +
 +Nachfolgendes Beispiel zeigt, wie ein **"Snapshot"** für ein Gast-System (Domain) mit dem Namen, hier **''vmltest''** und dem **"Snapshot"**-Namen **''1379080157''** gelöscht werden kann:
 +<code>
 +# virsh snapshot-delete vmltest 1379080157
 +Domain snapshot 1379080157 deleted
 +
 +</code>
 +
 +
 +Nachfolgender Befehl listet die erstellten **"Snapshots"** für ein Gast-System (Domain) auf:
 +<code>
 +# virsh snapshot-list vmltest
 + Name                 Creation Time             State
 +------------------------------------------------------------
 +
 +</code>
 +
 +Die erstellte **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)
 +<code>
 +# ll /var/lib/libvirt/qemu/snapshot/vmltest/
 +total 0
 +</code>
 +existiert nicht mehr, das Verzeichnis jedoch schon!
 +
tachtler/virtualisierung_gast-systeme_snapshot.1379081511.txt.gz · Zuletzt geändert: 2013/09/13 16:11 von klaus