The release of CRIU 3.18 (Checkpoint and Restore In Userspace) has been published, designed for saving and restoring processes in user space. The toolkit allows saving the state of one or a group of processes and then resuming work from the saved position, even after rebooting the system or on another server without breaking already established network connections. The project code is distributed under the GPLv2 license.
Applications of CRIU technology include enabling OS reboots without disrupting long-running processes, live migration of isolated containers, speeding up the launch of slow processes (you can start work from a state saved after initialization), performing kernel updates without restarting services, periodically saving the state of long-running computational tasks for resuming work in case of a crash, load balancing between nodes in clusters, duplicating processes to another machine (fork to a remote system), and creating snapshots of user applications during operation for analysis on another system or in case further actions in the program need to be canceled. CRIU is used in container management systems such as OpenVZ, LXC/LXD, and Docker. The necessary modifications for CRIU are included in the main Linux kernel.
In the new release:
- It is now possible to use CRIU without root permissions.
- Support for the SIGTSTP signal (an interactive pause signal that can be handled and ignored, unlike SIGSTOP) has been added.
- A parameter ‘—skip-file-rwx-check’ has been added to skip file access (r/w/x) checks during restoration.
- Support for IP_PKTINFO and IPV6_RECVPKTINFO options has been added.
- Support for hardware breakpoints has been implemented for ARM platforms.
- Optimization of checkpointing for highly sparse ghost files (—ghost-fiemap) has been added.
Source: opennet.ru
