CRIU,一种用于保存和恢复Linux中进程状态的系统

抢救 (检查点和用户空间中的还原) 是一种工具,可让您保存一个或一组进程的状态 然后即使重新启动系统或在另一台服务器上,也可以从保存的位置恢复工作,而不会断开已经建立的网络连接。

有了这个工具, 可以冻结正在运行的应用程序 (或部分) 并将其作为文件的集合放在持久性存储中。 然后可以使用这些文件从冻结的位置还原和运行该应用程序。

特色 CRIU项目的原因是 它主要在用户空间中实现,而不是在内核中实现。

关于CRIU

CRIU工具 正在作为OpenVZ项目的一部分进行开发, 目的是替换内核中的检查点/还原。

虽然 它的主要重点是支持容器迁移,允许用户验证和还原正在运行的进程和进程组的当前状态。

目前, 该工具可以在x86-64和ARM系统上使用 y 支持以下功能:

  • 进程:它们的层次结构,PID,用户和组验证者(UID,GID,SID等),系统功能,线程以及运行和停止状态
  • 应用程序内存:内存映射文件和共享内存
  • 打开文件
  • 管道和先进先出
  • Unix域套接字
  • 网络套接字,包括处于ESTABLISHED状态的TCP套接字
  • 系统V IPC
  • 定时器
  • 信号
  • 码头
  • 内核调用特定系统:inotify,signalfd,eventfdyepoll

应用区域之间 观察到CRIU技术 操作系统在不中断进程连续性的情况下重新启动 长时间运行,隔离的容器实时迁移,加快慢进程的启动速度(可以在初始化后从保存的状态开始),执行内核更新而无需重新启动服务,定期保存任务的长期运行状态以在发生崩溃时恢复工作,跨群集节点的负载平衡,另一台计算机上的重复进程(分支到远程系统),在运行期间创建用户应用程序的快照以在另一台系统上进行分析,或者在需要取消程序中的更多操作时进行创建。 CRIU用于OpenVZ,LXC / LXD和Docker等容器管理系统。

关于CRIU 3.15的新版本

目前,该工具的版本为3.15,该服务最近启动,并引入了criu-image-streamer服务,该服务允许在冻结/还原操作期间将过程映像直接从CRIU传输到CRIU。

  • 可以从外部存储(S3,GCS等)传输图像,而无需在本地文件系统上进行缓冲。
  • 对MIPS体系结构的支持已添加。
  • 允许冻结不属于现有PID名称空间的进程,然后还原到现有PID名称空间。
  • 添加了其他机制来验证文件。
  • 添加了对冻结和还原BPF结构BPF_HASH_OF_MAPS和BPF_ARRAY_OF_MAPS的支持。
  • 添加了对第二版cgroup的初始支持。

如何在Linux上安装CRIU?

对于那些有兴趣安装此工具的人,他们应该知道大多数Linux发行版的官方渠道中都提供该工具。

所以为了安装工具 只需打开一个终端,并在包管理器的帮助下查找该工具或使用我们共享的以下命令之一。

对于那些 Debian,Ubuntu用户和以下两者的派生产品:

sudo apt install criu

而对于那些使用 Arch Linux及其任何派生产品:

sudo pacman -S criu

对于那些是 opensuse:

sudo zypper install criu

最后 对于那些想要编译工具的人 他们可以通过输入以下内容来做到这一点:

git clone https://github.com/checkpoint-restore/criu.git
cd criu
make clean
make
make install
sudo criu check
sudo criu check --all

如果您想了解更多 关于此工具,您可以查看详细信息 在下面的链接中。


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。