On Wed, Feb 03, 2010 at 04:03:10PM +0200, Avi Weit wrote:
Hello,
I am searching for the libvirt operations for relocating LXC (system or
application) containers. LXC relocation mechanism is done by checkpoint /
restart. I went over libvirt API documentation and found the following
methods:
virDomainSave that receives a domain and path to state file. The method
saves domain's memory contents into a disk file.
virDomainRestore that receives a domain and path to state file. The method
restores the domain from the state file created by save operation.
Are these the proper methods to use for LXC relocation? I assume I can also
use the corresponding operations via virsh (save / restore)..
>From looking into lxcDriver object (defined under /src/lxc/xlc_driver.c in
libvirt server source) I can see that NULLs are set in save and restore
methods. Does that mean that there is no support for saving and restoring
Linux containers? Is there a libvirt patch beyond the kernel patch that
needs to be applied?
That is correct - the virDomainSave/Restore functions are intended to save
the running guest/container state to a file or load it from a file,
respectively. These operations have not yet been implemented for libvirt's
LXC driver. I'm not sure how mature the kernel support for container
save/restore is yet, but if it has stabilized sufficiently, then we will
obviously accept patches from anyone wanting to try implementing...
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|