CRIU is not so easy to be used as a standalone tool -- it works best integrated into other software. This page lists such software and provides details about the current status.
OpenVZ
Status: in progress
Currently, vzctl supports CRIU for checkpoint/restore of upstream containers (i.e. when non-OpenVZ kernel is used). Commands vzctl suspend
and vzctl restore
fully work. Live migration doesn't work yet as it requires support for vzctl suspend {--suspend, --dump, --kill, --restore}
which is not yet implemented as it requires a separate daemon to hold the state of a partially checkpointed container (or an ability from criu tool to do that).
LXC/LXD
Status: ready
- Project homepage
- The tools version 1.1.0 fully supports CRIU to C/R LXC containers
- lxc-checkpoint man page
Docker
Status: in progress
- Project homepage
- Integration efforts done by Saied Kazemi from Google
- Merged into libcontainers
CoreOS Rocket
Status: not started
OpenMPI
Status: stalled
- Adrian Reber did first version of patches
Wayland/Weston
Status: stalled
- Ruslan Kuprieiev plans to patch Weston to let CRIU C/R graphical apps
The file
utility
Status: ready
- Starting from v1.6 new images (v1.1) will be generated
- File utility starting from 5.23 will support these
Systemd
Status: not started Adrian suggested that
Migrating processes from one system to another works, depending on the process, pretty good. Migrating a process under systemd's control might be possible by just killing the process on the source side but it cannot become a child process of systemd on the destination of the migration without systemd knowing how to restore a process and thus making it a child process of systemd (--restore-sibling).