Snapshotting mittels UVMM

virtualization
german

#1

Guten Tag,

ich versuche gerade das Snapshotting vom UVMM (KVM) in den Griff zu bekommen…

Erstelle ich einen Snapshot einer 15G grossen VM, dauert es ca. 30-60 Minuten, bis dieser erstellt ist. Waehrend der Snapshot erstellt wird, ist die VM scheinbar offline, und auch nicht ueber den VNC Server des Hosts zu erreichen. Das gleiche Verhalten tritt auch beim Loeschen eines Snapshots auf.

Die VMs liegen auf einem gemounteten NFS Share. /var/lib/libvirt/images ist ein Symlink, der auf den mount point zeigt… Es werden flat files (qcow2) verwendet.

Update:

Beim Loeschen eines Snapshots trat nun nach gut 1,5 Std. folgender Fehler auf:

[code]Execution of command ‘uvmm/domain/snapshot/delete’ has failed:

Traceback (most recent call last):
File “/usr/lib/python2.4/site-packages/univention/management/console/handlers/init.py”, line 160, in execute
func( object )
File “/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/init.py”, line 1381, in uvmm_domain_snapshot_delete
resp = self.uvmm.domain_snapshot_delete( node_uri, domain_info, snapshot )
File “/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/uvmmd.py”, line 578, in domain_snapshot_delete
response = self.recv_blocking()
File “/usr/lib/python2.4/site-packages/univention/management/console/handlers/uvmm/uvmmd.py”, line 199, in recv_blocking
notifier.step()
File “/usr/lib/python2.4/site-packages/notifier/nf_generic.py”, line 231, in step
if not timer CALLBACK :
File “/usr/lib/python2.4/site-packages/univention/management/console/protocol/modserver.py”, line 120, in _watchdog_timed_out
sys.exit( 0 )
SystemExit: 0
[/code]

Die VM ist darauf wieder erreichbar.

Hat jemand eine Idee?

Gruss,

Michael


#2

Hallo,

dieses Verhalten entspricht dem unter folgendem Link beschriebenen:
https://forge.univention.org/bugzilla/show_bug.cgi?id=22231

Der berichtete Traceback entsteht, da der Watchdog Timer aufgrund des oben beschriebenen Verhaltens sein maximales Limit erreicht und den Vorgang abbricht. Ich habe den Traceback unter folgendem Link dokumentiert:
https://forge.univention.org/bugzilla/show_bug.cgi?id=23068

Es wäre denkbar bei ausgeschalteter VM das Cacheing in der XML Datei händisch zu unterbinden, allerdings ist dieser Ansatz nicht offiziell unterstützt.

virsh edit <VM-Name>

In der “” Sektion müsste für “disk” unter “driver” die Option “cache=‘none’” aufgenommen werden:

<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>

Dieses Vorgehen ist nicht getestet, weitere Informationen dazu finden Sie auf folgender Webseite:
http://libvirt.org/formatdomain.html#elementsDisks

Mit freundlichen Grüßen
Tobias Scherer


#3

Besten Dank!

Snapshots sind jetzt in 10-20 Sekunden erstellt. So soll’s sein.

Gruss,

Michael


#4

Hallo,

wie werden die XML Konfigurationsdateien für die VMs (libvirt) generiert?

Beim Ändern von Konfigurationswerten in der UMC und anschließendem Speichern wird die oben genannte Änderung natürlich wieder überschrieben.

Ich würde gern einen minütlichen Cronjob mit sed vermeiden :wink:

Gruß,

Michael


#5

Hallo,

momentan gibt es keinen unterstützten Weg diese Änderung persistent zu behalten.
Unter folgendem Link ist der gibt es weitere Informationen zum Status der Verbesserung dieses Verhaltens:
https://forge.univention.org/bugzilla/show_bug.cgi?id=22231

Mit freundlichen Grüßen
Tobias Scherer


#6

Das ist ein Fehler, der eigentlich mit [bug]20253[/bug] schon behoben sein sollte. Dafür gibt es jetzt den neuen Bug [bug]23125[/bug]. Der dort verlinkte Patch wurde nur rudimentär getestet!

Eingespielt werden kann er auf der Kommandozeile wie folgt:

wget -O- 'https://forge.univention.org/bugzilla/attachment.cgi?id=3415' | patch -p1 -d /usr/share/pyshared

Danach muß UVMMd neu gestartet werden:

/etc/init.d/univention-virtual-machine-manager-daemon restart