Changes

637 bytes added ,  10:13, 17 September 2021
m
no edit summary
Line 6: Line 6:  
{{Status|ready}}
 
{{Status|ready}}
   −
Currently, vzctl supports CRIU for checkpoint/restore of upstream containers (i.e. when non-OpenVZ kernel is used). Commands <code>vzctl suspend</code> and <code>vzctl restore</code> fully work. Live migration doesn't work yet as it requires support for <code>vzctl suspend {--suspend, --dump, --kill, --restore}</code> 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).
+
As of Virtuozzo/OpenVZ 7, CRIU is fully integrated and supported. Older OpenVZ releases used in-kernel checkpoint/restore functionality, now superseded by CRIU.
* [https://openvz.org Project homepage]
+
 
* [http://git.openvz.org/?p=vzctl&a=search&h=HEAD&st=commit&s=CRIU%7Ccriu%7Ccrtools&sr=1 Relevant vzctl git commits]
+
* [https://openvz.org/ OpenVZ]
* [https://openvz.org/Virtuozzo Virtuozzo] is a virtualization and automation solution built on top of OpenVZ.
+
* [https://virtuozzo.com/ Virtuozzo]
    
=== LXC/LXD ===
 
=== LXC/LXD ===
Line 20: Line 20:     
=== Docker ===
 
=== Docker ===
{{Status|in progress}}
+
{{Status|ready}}
 
* [https://docker.io Project homepage]
 
* [https://docker.io Project homepage]
 
* [https://github.com/docker/libcontainer/pull/479 Merged] into libcontainer/runc
 
* [https://github.com/docker/libcontainer/pull/479 Merged] into libcontainer/runc
Line 28: Line 28:  
''See also: [[Docker]] C/R''
 
''See also: [[Docker]] C/R''
   −
=== CoreOS Rocket ===
+
== Podman ==
{{Status|not started}}
+
{{Status|ready}}
 +
* [https://podman.io/ Project homepage]
 +
* [https://podman.io/blogs/2018/10/10/checkpoint-restore.html Blog entry about adding the support]
    
== Tools and utilities ==
 
== Tools and utilities ==
Line 42: Line 44:     
* Jerome [https://github.com/jpetazzo/critmux did] this some time ago
 
* Jerome [https://github.com/jpetazzo/critmux did] this some time ago
 +
 +
''See also: [[Screen]]''
    
=== Shell ===
 
=== Shell ===
 
{{Status|not started}}
 
{{Status|not started}}
   −
It would be nice to have bash (or other shell) to launch criu with <code>--restore-sibling</code> option and get new kid processes from it.
+
It would be nice to have bash (or other shell) to launch criu with <code>--restore-sibling</code> option and get new kid processes from it. Right now we workaround it with "[[shell jobs]]".
 +
 
 +
''See also: [[Shell jobs]]''
    
== Other ==
 
== Other ==
 +
 +
=== OpenJDK ===
 +
{{Status|started}}
 +
 +
The [https://openjdk.java.net/projects/crac/ CRaC] (Coordinated Restore at Checkpoint) Project researches coordination of Java programs with mechanisms to checkpoint (make an image of, snapshot) a Java instance while it is executing. Restoring from the image could be a solution to some of the problems with the start-up and warm-up times. The primary aim of the Project is to develop a new standard mechanism-agnostic API to notify Java programs about the checkpoint and restore events. Other research activities will include, but will not be limited to, integration with existing checkpoint/restore mechanisms and development of new ones, changes to JVM and JDK to make images smaller and ensure they are correct.
 +
 +
* [https://openjdk.java.net/projects/crac/index.html OpenJDK: CRaC Project]
 +
* [https://wiki.openjdk.java.net/display/crac CRaC Wiki]
 +
* [https://github.com/openjdk/crac CRaC Repository]
    
=== OpenMPI ===
 
=== OpenMPI ===
Line 73: Line 88:  
=== Systemd ===
 
=== Systemd ===
 
{{Status|not started}}
 
{{Status|not started}}
Adrian suggested that
     −
Migrating
+
Adrian suggested that migrating
processes from one system to another works, depending on the process,
+
processes from one system to another works, depending on the process,
pretty good. Migrating a process under systemd's control might be
+
pretty good. Migrating a process under systemd's control might be
possible by just killing the process on the source side but it cannot
+
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
+
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
+
without systemd knowing how to restore a process and thus making it a
child process of systemd (--restore-sibling).
+
child process of systemd (--restore-sibling).
    
[[Category:Plans]]
 
[[Category:Plans]]
 
[[Category:Development]]
 
[[Category:Development]]
278

edits