Bug 22021 - Speicherstand geht verloren, wenn Resume einer Instanz fehlschlägt
Speicherstand geht verloren, wenn Resume einer Instanz fehlschlägt
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Virtualization - KVM
UNSTABLE
Other Linux
: P4 normal (vote)
: UCS 3.0 - RC
Assigned To: Philipp Hahn
Stefan Gohmann
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-03-30 08:53 CEST by Tim Petersen
Modified: 2011-12-13 15:49 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): Troubleshooting
Max CVSS v3 score:
hahn: Patch_Available+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim Petersen univentionstaff 2011-03-30 08:53:12 CEST
Auf einem 2.4-2 Master unter KVM aufgetreten:

Speichern&Beenden -> Hostspeicher füllen(viele Maschinen starten) -> Resume der Instanz -> Speicherstand weg (normaler Boot)

Aus den Logs:
/var/log/libvirt/qemu/ucs2.3-0_basis_amd64.log:
2011-03-30 09:37:56.960: starting up
LC_ALL=C PATH=/sbin:/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-0.14 -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -name ucs2.3-0_basis_amd64 -uuid 656957aa-13a0-6922-5d08-3a39561f9775 -nodefconfig -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/ucs2.3-0_basis_amd64.monitor,server,nowait -mon chardev=monitor,mode=readline -rtc base=utc -boot cnd -drive file=/var/lib/libvirt/images/ucs_2.3-0-091215-dvd-amd64.iso,if=none,media=cdrom,id=drive-ide0-0-0,readonly=on,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/var/lib/libvirt/images/ucs230basis.qcow2,if=none,id=drive-ide0-0-1,format=qcow2 -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -netdev tap,fd=24,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:12:7c:03,bus=pci.0,addr=0x3 -usb -device usb-tablet,id=input0 -vnc 0.0.0.0:5 -k de -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -option-rom /usr/share/kvm/pxe-rtl8139.bin
Failed to allocate 2147483648 B: Cannot allocate memory

/var/log/univention/virtual-machine-manager-daemon-errors.log:
libvir: QEMU error : operation failed: migration to 'exec:cat | { dd bs=4096 seek=1 if=/dev/null && dd bs=1048576; } 1<>'/var/lib/libvirt/qemu/save/ucs2.3-0_basis_amd64.save'' failed: migration failed
libvir: QEMU error : operation failed: failed to retrieve chardev info in qemu with 'info chardev'
Comment 1 Philipp Hahn univentionstaff 2011-04-08 08:29:40 CEST
Patch für libvirt-0.9.0: <http://www.redhat.com/archives/libvir-list/2011-April/msg00385.html>
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2011-09-21 08:36:15 CEST
Dieses Problem ist auf isala auch aufgetreten, allerdings aus einem anderen Grund: der Symlink auf unser latest-amd64.iso war zum Zeitpunkt des Resumes ein broken symlink, weshalb der Resume fehlgeschlagen ist:

error: Failed to start domain sschwardt_30-Mas64-Installer-52
error: internal error process exited while connecting to monitor: kvm: -drive file=/var/univention/buildsystem2/isotests/ucs_3.0-0-latest-amd64.iso,if=none,media=cdrom,id=drive-ide0-0-1,readonly=on,format=raw: could not open disk image /var/univention/buildsystem2/isotests/ucs_3.0-0-latest-amd64.iso: No such file or directory

Nach dem ersten Startversuch war der gespeicherte Zustand der VM nicht mehr vorhanden.
Comment 3 Philipp Hahn univentionstaff 2011-11-22 09:40:24 CET
Das ist jetzt schon wiederholt vorgekommen, das durch verschiedenste Fehler der kvm Prozeß nicht gestartet werden konnte und dadurch der gesicherte Zustand verloren ging:
- nicht genügend Speicher
- Dateirechte der Image-Dateien erlauben keinen Zugriff
- CD-ROM-iso-Datei nicht mehr vorhanden
Comment 4 Philipp Hahn univentionstaff 2011-11-22 17:19:32 CET
Backport of libvirt-v0.9.0-49-ga73bbfc:
Check the return value of qemuDomainObjResore() for success before blindly deleting the managed save state.

svn9937, libvirt_0.8.7-1.104.201111221644

ChangeLog:
\item A bug was fixed in \ucsName{libvirt}: On failed resumes the saved state was unconditionally deleted (\ucsBug{22021}).
Comment 5 Stefan Gohmann univentionstaff 2011-11-28 21:49:09 CET
Ich bin folgendermaßen vorgegangen:

- XP Instanz mit mehreren CDROM-Laufwerken und Festplatten erstellt

- Instanz gestartet und erste Schritte der Installation vorgenommen

- Snapshot erstellt

- Instanz beendet

- Ein eingebundenes ISO-Image verschoben

- Snapshot wiederhergestellt -> Das ist mit einer Fehlermeldung fehlgeschlagen

- ISO-Image zurück geschoben

- Snapshot wiederhergestellt -> Installation konnte fortgesetzt werden

-> Verified
Comment 6 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:49:45 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"