This patch series adds support for saving an running lxc domain's
state into
files with lxcDomainSave and restore afterwards from files with lxcDomainRestore.
Usage: virsh save [domain-name] [domain-id or domain-uuid] [directory name]
I use CRIU tool (
https://criu.org/Main_Page), that offers checkpoint/restore
functionality for containers in userspace.
For the time, I have tried successfully the C/R procedure for simple sh containers
and OS containers.
I'll mention some notes/issues here:
*I have working C/R only for non systemd hosts (on systemd host I was facing
problems with CRIU).
*I have not done anything for container networking. Thats should be done with
--veth-pair IN=OUT option in CRIU.
*In new distros, where efivars mountpoint exists, CRIU dump fails.
*The only tty restored is /dev/tty1. I'll fix this in another patch, to allow more
ttys.
*Currently for things to work, I have slightly modified criu source. That is in criu
master
I have the following diff:
diff --git a/criu/tty.c b/criu/tty.c
index 302dd54..2226484 100644
--- a/criu/tty.c
+++ b/criu/tty.c
@@ -1394,8 +1394,10 @@ static int verify_info(struct tty_info *info)
*/
if (term_opts_missing_any(info)) {
if (tty_is_master(info)) {
+ /*
pr_err("Corrupted master peer %x\n",
info->tfe->id);
return -1;
+ */
} else if (!term_opts_missing_all(info)) {
pr_err("Corrupted slave peer %x\n",
info->tfe->id);
return -1;
Lastly, I have ready a patch that adds support for migration but I wait for
feedback on this series, and I'll send the migration one later.
Anyway, any comments here are more than welcome.
I'd recommend focusing on getting save/restore more broadly functional
before considering anything todo with migration.
Regards,
Daniel
--
|: