Bug 19575 - Snapshot von virtuellen Maschinen
Summary: Snapshot von virtuellen Maschinen
Status: CLOSED FIXED
Alias: None
Product: UCS
Classification: Unclassified
Component: Virtualization - UVMM
Version: UCS 2.4
Hardware: Other Linux
: P1 enhancement
Target Milestone: UCS 2.4-1
Assignee: Philipp Hahn
QA Contact: Stefan Gohmann
URL:
Keywords:
Depends on: 19172 20809
Blocks: 20811
  Show dependency treegraph
 
Reported: 2010-08-23 08:53 CEST by Stefan Gohmann
Modified: 2010-12-10 16:37 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Customer ID:
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2010-08-23 08:53:16 CEST
+++ This bug was initially created as a clone of Bug #19172 +++

Im ersten Schritt reicht es aus, wenn es pro Machine nur einen Snapshot gibt.
Comment 1 Philipp Hahn univentionstaff 2010-12-02 09:43:04 CET
Für die Implementierung waren mehrere Anpassungen notwendig:
1. Neben Raw-Images können nun bei KVM auch Qcow2-Images angelegt werden.
2. Nur für virtuelle Instanzen, die ausschließlich nur-lese-Images und/oder Qcow2-Images (davon mindestens 1) verwenden, können Sicherungspunkte erstellt werden. Derzeit beliebig viele (bis die Image-Dateien voll sind).

Xen unterstützt derzeit über libvirt keine Sicherungspunkte, deshalb nur KVM.

svn21360+svn21366, univention-virtual-machine-manager-daemon_0.10.11-1.110.201012020810

ChangeLog:
\item Für KVM-Instanzen lassen sich Sicherungspunkte anlegen, sofern diese
neben CD-ROM-Images ausschließlich Festplatten-Images im Qcow2-Format
verwenden (\ucsBug{19575}).

Derzeit sind noch ein paar Punkte offen:
1. Beim Zurückrollen auf einen Sicherungspunkt erfolgt derzeit keine Nachfrage.
2. Beim Löschen von Sicherungspunkten erfolgt derzeit keine Nachfrage.
3. Es wurde nicht getestet, was passiert, wenn kein Platz mehr für weitere Sicherungspunkte vorhanden ist.
4. Standardmäßig wird nun das Qcow2-Format für KVM-Maschinen vorgeschlagen. Ein aktueller Performance-Vergleich gegenüber Sparse-RAW-Files fehlt hier <https://hutten.knut.univention.de/mediawiki/index.php/Copy_on_Write#Tests>
Comment 2 Philipp Hahn univentionstaff 2010-12-02 13:18:49 CET
5. Ändert man die Konfiguration der VM /z.B. Bootreihenfolge), gehen alle bisherigen Sicherungspunkte verloren. Ggf. sollte beim Vorhandensein von Sicherungspunkte der Benutzer gewarnt werden, wenn er die Konfiguration ändern will.
Comment 3 Andreas Büsching univentionstaff 2010-12-02 16:17:01 CET
Wir werden hier jetzt noch einige Änderungen durchführen:

- Die Operationen werden umbenannt:

  Suspendieren -> Speichern & Beenden (Gegenteil: Wiederherstellen)
  VNC -> Direktzugriff

- Die Operation Pausieren

  Soll pro genutzten Hypervisor an und ausschaltbar sein. Standard:

  + Xen: an
  + KVM: aus

- Abschnitt Laufwerk umbenennen in Laufwerke

- Snapshots/Sicherungspunkte

  Dafür wird es einen eigenen Abschnitt geben:

  + Einen Button zum Erstellen
  + Eine Liste von vorhandenen Snapshots. Am Ende jeder Zeile die Button Wiederherstellen und Löschen
  + Checkboxen um mehre Snapshots auf einmal zu löschen
  + Nachfragen beim Löschen und Wiederherstellen

- Sortierung

  Direkter Zugriff, Speichern&Beenden, Migrieren, Beenden, Löschen
Comment 4 Andreas Büsching univentionstaff 2010-12-06 10:52:00 CET
(In reply to comment #3)
> Wir werden hier jetzt noch einige Änderungen durchführen:
> 
> - Die Operationen werden umbenannt:
> 
>   Suspendieren -> Speichern & Beenden (Gegenteil: Wiederherstellen)
>   VNC -> Direktzugriff

Done. Es sollte auch in den Texten geprüft werden, ob dort überall VNC verschwunden ist.

> - Die Operation Pausieren
> 
>   Soll pro genutzten Hypervisor an und ausschaltbar sein. Standard:
> 
>   + Xen: an
>   + KVM: aus

Es gibt jetzt die UCR Variablen

uvmm/umc/show/(pause|suspend|migrate|vnc)

Die können auf die Werte yes, no, xen, kvm, qemu gesetzt werden:

yes -> immer sichtbar
no -> nie sichtbar
xen -> nur bei Xen Instanzen
kvm|qemu -> nur bei KVM Instanzen

> - Abschnitt Laufwerk umbenennen in Laufwerke
> 
> - Snapshots/Sicherungspunkte
> 
>   Dafür wird es einen eigenen Abschnitt geben:
> 
>   + Einen Button zum Erstellen
>   + Eine Liste von vorhandenen Snapshots. Am Ende jeder Zeile die Button
> Wiederherstellen und Löschen
>   + Checkboxen um mehre Snapshots auf einmal zu löschen
>   + Nachfragen beim Löschen und Wiederherstellen

Done

> - Sortierung
> 
>   Direkter Zugriff, Speichern&Beenden, Migrieren, Beenden, Löschen

Done
Comment 5 Nico Gulden univentionstaff 2010-12-07 09:21:08 CET
Neben der Dokumentation müssen auch die Texte zu UVMM im Wiki überprüft werden, so dass dort statt VNC der Begriff Direktzugriff steht.
Comment 6 Andreas Büsching univentionstaff 2010-12-07 09:59:19 CET
(In reply to comment #5)
> Neben der Dokumentation müssen auch die Texte zu UVMM im Wiki überprüft werden,
> so dass dort statt VNC der Begriff Direktzugriff steht.

Der Begriff VNC taucht nur im UVMM Quickstart auf.

http://wiki.univention.de/index.php?title=UVMM_Quickstart#Externen_VNC-Viewer_verwenden
Comment 7 Andreas Büsching univentionstaff 2010-12-07 10:08:52 CET
(In reply to comment #6)
> (In reply to comment #5)
> > Neben der Dokumentation müssen auch die Texte zu UVMM im Wiki überprüft werden,
> > so dass dort statt VNC der Begriff Direktzugriff steht.
> 
> Der Begriff VNC taucht nur im UVMM Quickstart auf.
> 
> http://wiki.univention.de/index.php?title=UVMM_Quickstart#Externen_VNC-Viewer_verwenden

Ich habe dazu einen neuen Bug #20894 angelegt
Comment 8 Stefan Gohmann univentionstaff 2010-12-07 15:08:10 CET
Wenn ich ein neues Laufwerk hinzufüge, dann werden alle meine Snapshots gelöscht. Hier sollte eine Nachfrage eingebaut werden, die mich darauf hinweist.
Comment 9 Philipp Hahn univentionstaff 2010-12-07 18:10:37 CET
UVMMd macht ein virDomainUndefine($name) und virDomainUndefine($uuid), bevor per virDomainDefineXML() die neue XML-Beschreibung der Domain neu angelegt wird. Durch das undefine() gehen die Snapshots verloren.
`virsh edit` macht (inzwischen?) kein undefine() mehr, sondern überschreibt die Domain-Beschreibung direkt erneut. Dadurch gehen die Snapshots nicht verloren.

Allerdings sollte man nichts Ändern, was einer Änderung der Hardware entspricht:
- CPUs hinzufügen oder herausziehen
- Hauptspeichergröße (RAM) verändern
- Massenspeicher hinzufügen oder entfernen
Gefahrlos kann man anscheinend folgende Dinge ändern:
- Boot-Reihenfolge (ist sowieso erst beim nächsten Start relevant)
- VNC-Konfiguration wie Port-Nummer, Passwort, Tastaturlayout

Ein Grund, warum wir vorher ein undefine() machen ist, daß wir so Domains umbenennen können: Sowohl xen als auch kvm verweigern das definieren einer Domain, deren Name bereits durch eine andere Domaine benutzt wird; bei kvm darf zusätzlich auch keine Domain mit der UUID existieren. Oder anders ausgedrückt:
KVM: name & uuid müssen identisch sein
XEN: name muß identisch sein, UUID könnte sich ändern.

Umbenennen: Nutzer warnen, daß Snapshots verloren gehen: delSnap(*)+undefine()
Hardware ändern: Nutzer warnen, daß Snapshots verloren gehen: delSnap(*)
Boot-Reihenfolge und VNC: kein undefine()
Comment 10 Andreas Büsching univentionstaff 2010-12-08 11:27:27 CET
(In reply to comment #8)
> Wenn ich ein neues Laufwerk hinzufüge, dann werden alle meine Snapshots
> gelöscht. Hier sollte eine Nachfrage eingebaut werden, die mich darauf
> hinweist.

Es wurde jetzt folgendermaßen in UMC umgesetzt:

Bei KVM Maschinen mit Snapshots werden die "Hardware-Einstellungen" ausgegraut. Ein Infotext weisst daraufhin was der Grund ist und was getan werden kann um die Einstellungen wieder verändern zu können (Snapshots löschen)
Comment 11 Andreas Büsching univentionstaff 2010-12-08 11:46:27 CET
Es müssen noch Anpassungen im UVMMd gemacht werden
Comment 12 Philipp Hahn univentionstaff 2010-12-08 12:57:26 CET
Der UVMMd ruft nur noch undefine() in dem Falle auf, wo eine Domain umbenannt wird. Das UMC-Modul warnt beim Vorhandensein von Sicherungspunkten vor der Veränderung der Hardware-Eigenschaften und verhindert so Änderungen.

Neue VM mit neuem Namen: okay
Neue VM mit altem Namen: Warnung durch UMC und UVMMd
Alte VM mit altem Namen: okay für VNC, Bootreihenfolge
Alte VM mit neuem Namen: Sicherungspunke müssen vorher in UMC gelöscht werden bzw. gehen per CLI verloren.

svn21419, univention-virtual-machine-manager-daemon_0.9.124-2.122.201012081253
Comment 13 Stefan Gohmann univentionstaff 2010-12-08 14:16:44 CET
OK
Comment 14 Sönke Schwardt-Krummrich univentionstaff 2010-12-10 16:37:07 CET
UCS 2.4-1 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte der Bug dupliziert werden:
"Clone This Bug".