checkpoint-restore / criu

Checkpoint/Restore tool
criu.org
Other
2.87k stars 580 forks source link

Cannot suspend containers on stock Proxmox VE #1430

Open luke-jr opened 3 years ago

luke-jr commented 3 years ago

With a stock/fresh ubuntu container, suspend fails:

root@pve:~# pct suspend 102
lxc-checkpoint: 102: criu.c: do_dump: 1297 dump failed with 1
lxc-checkpoint: 102: criu.c: do_dump: 1311 criu output: Will skip in-flight TCP connections

lxc-checkpoint: 102: tools/lxc_checkpoint.c: checkpoint: 184 Checkpointing 102 failed
command 'lxc-checkpoint -n 102 -s -D /var/lib/vz/dump' failed: exit code 1

I'm not sure where these are being written to, but strace also shows:

[pid  7154] write(4, "Error (criu/namespaces.c:415): Can't dump nested uts namespace for 4128\n", 72) = 72
[pid  7154] write(4, "Error (criu/namespaces.c:670): Can't make utsns id\n", 51) = 51
...
[pid  7154] write(4, "Error (criu/util.c:816): exited, status=1\n", 42) = 42
...
[pid  7154] write(4, "Error (criu/cr-dump.c:1732): Dumping FAILED.\n", 45) = 45
adrianreber commented 3 years ago

Thanks for the report.

@brauner can you say anything to the nested uts namespace and lcx? Is that default?

mihalicyn commented 3 years ago

@luke-jr which distribution of Linux you are using inside the container? At the moment, CRIU not supports several UTS namespaces.

luke-jr commented 3 years ago

I've tried Gentoo and Ubuntu so far.

mihalicyn commented 3 years ago

@luke-jr We already meet the problem with the latest Ubuntu. Newer versions of default systemd (or some other default services) use separate UTS namespace. I will provide patches to support that, we already have such functionality on OpenVZ CRIU.

github-actions[bot] commented 3 years ago

A friendly reminder that this issue had no activity for 30 days.