CRIU 3.16 发布,Linux 中保存和恢复进程状态的系统

CRIU 3.16(用户空间中的检查点和恢复)工具包已经发布,旨在保存和恢复用户空间中的进程。 该工具包允许您保存一个或一组进程的状态,然后从保存的位置恢复工作,包括在系统重新启动后或在另一台服务器上恢复工作,而无需中断已建立的网络连接。 项目代码根据 GPLv2 许可证分发。

CRIU技术的应用领域包括确保操作系统重新启动时不会中断长时间运行的进程执行的连续性、隔离容器的实时迁移、加速慢速进程的启动(可以从初始化后保存的状态开始工作)、执行内核无需重新启动服务即可更新,定期保存长时间运行的进程的状态,计算任务在崩溃时恢复工作,平衡集群中节点的负载,在另一台机器上复制进程(分叉到远程系统),创建快照用户应用程序在运行期间对另一个系统进行分析或需要取消程序中的进一步操作时。 CRIU 用于 OpenVZ、LXC/LXD 和 Docker 等容器管理系统。 CRIU 工作所需的更改包含在主 Linux 内核中。

在新版本中:

  • 添加了 criu-ns 命令,以使用新的 PID 并在单独的安装命名空间中恢复已保存的进程快照。 例如,如果系统中已使用旧的 PID,则可能需要从不同的 PID 开始。
  • 已实现保存和恢复嵌套 apparmor 配置文件状态快照的功能。
  • 基于nftables实现了网络资源的阻塞和解除阻塞。
  • 添加了对恢复预先创建的 veth 设备的支持。
  • 改进了对将容器恢复到现有 Pod 的支持。
  • 对于 RPC 客户端,添加了确定 PID 重用的功能,使用 pidfd 机制实现。
  • images/ 目录中所有 proto 文件的许可证已更改为 MIT。

来源: opennet.ru

添加评论