CRIU 3.16 發布,Linux 中保存和恢復進程狀態的系統

CRIU 3.16(用戶空間中的檢查點和恢復)工具包已發布,旨在保存和恢復用戶空間中的進程。 該工具包允許您保存一個或一組進程的狀態,然後從保存的位置恢復工作,包括在重新啟動系統後或在另一台服務器上恢復工作,而無需中斷已建立的網絡連接。 項目代碼根據 GPLv2 許可證分發。

在CRIU技術的應用領域中,值得注意的是,在不中斷長時間運行的進程執行連續性的情況下重新啟動操作系統、隔離容器的實時遷移、加速慢速進程的啟動(您可以從初始化後保存的狀態)、更新內核而不重新啟動服務、定期保存長時間運行的計算任務的狀態以便在崩潰時恢復工作、平衡集群中節點的負載、在另一台機器上複製進程(fork 到一台機器)遠程系統),在此過程中創建用戶應用程序的快照,以便在另一個系統上分析它們,或者以防您需要取消程序中的進一步操作。 CRIU 用於 OpenVZ、LXC/LXD、Docker 等容器管理系統。 CRIU 工作所需的更改包含在 Linux 內核的主要組成中。

在新版本中:

  • 新增了 criu-ns 命令,以使用新的 PID 並在單獨的安裝命名空間中還原已儲存的進程快照。 例如,如果系統中已使用舊的 PID,則可能需要從不同的 PID 開始。
  • 已實現保存和還原嵌套 apparmor 設定檔狀態快照的功能。
  • 基於nftables實現了網路資源的阻塞和解除阻塞。
  • 新增了對恢復預先建立的 veth 設備的支援。
  • 改進了將容器恢復到現有 Pod 的支援。
  • 對於 RPC 用戶端,新增了確定 PID 重用的功能,使用 pidfd 機制實作。
  • images/ 目錄中所有 proto 檔案的許可證已更改為 MIT。

來源: opennet.ru

添加評論