qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Take a checkpoint from inside of qemu


From: Leek, Jim
Subject: Re: Take a checkpoint from inside of qemu
Date: Thu, 2 Sep 2021 00:09:06 +0000

Well, nobody responded, so I went ahead and implemented what I described.  It's quite the Rube Goldberg machine.  The program in the vm that needs to trigger the checkpoint is running under another simulator inside the VM.  So the best I can have it do is make a file as a signal.  So I wrote a python script that waits for the signal file to appear, then runs:
$ssh <host> "virsh qemu-monitor-command --hmp centos8_1 'savevm savestate1'"
When the ssh command completes, the python script deletes the signal file and the original program proceeds.

This works... usually.  I notice that the VM occasionally hangs for a few minutes when taking a checkpoint.  Or sometimes the whole thing crashes with, "libvirt.libvirtError: Timed out during operation: cannot acquire state change lock (held by monitor=qemuDispatchDomainMonitorCommand)"

If anyone has any ideas that might help, I'd be happy to hear them. 🙂  But I'm basically just publishing my results so far in case anyone else is interested.


From: Leek, Jim
Sent: Thursday, August 26, 2021 4:08 PM
To: qemu-discuss@nongnu.org <qemu-discuss@nongnu.org>
Subject: Take a checkpoint from inside of qemu
 
I'm running CentOS 8 inside qemu via virt-manager.  I would like a program running on the virtual machine to be able to trigger a savevm command on it's own VM.  (This is for debugging purposes on the program being run in the VM.) 

The only way I can think of to do this is to have the program trigger a script that ssh's out of the guest, to the host, to trigger the savevm command.  Something like this:

guest$ ssh <host> "virsh qemu-monitor-command --hmp centos8_1 'savevm savestate1'"

Is there any more straightforward method available?

Thanks,
Jim

reply via email to

[Prev in Thread] Current Thread [Next in Thread]