クリウ (ユーザースペースでのチェックポイントと復元) プロセスのXNUMXつまたはグループの状態を保存できるツールです システムを再起動した後や別のサーバーで、すでに確立されているネットワーク接続を切断せずに、保存した位置から作業を再開します。
このツールを使用すると、 実行中のアプリケーションをフリーズすることが可能です (またはその一部) そしてそれをファイルのコレクションとして永続ストレージに置きます。 その後、ファイルを使用して、フリーズした場所からアプリケーションを復元して実行できます。
特徴的な機能 CRIUプロジェクトの カーネルではなく、主にユーザースペースに実装されます。
CRIUについて
CRIUツール OpenVZプロジェクトの一部として開発されています。 カーネルのチェックポイント/復元を置き換えることを目的としています。
しかし その主な焦点は、コンテナの移行をサポートすることです、ユーザーが実行中のプロセスおよびプロセスグループの現在の状態を確認および復元できるようにします。
現在のところ、 このツールは、x86-64およびARMシステムで使用できます。 y 次の機能をサポートします。
- プロセス:それらの階層、PID、ユーザーおよびグループのオーセンティケーター(UID、GID、SIDなど)、システム機能、スレッド、および実行状態と停止状態
- アプリケーションメモリ:メモリマップトファイルと共有メモリ
- ファイルを開く
- パイプとFIFO
- Unixドメインソケット
- ESTABLISHED状態のTCPソケットを含むネットワークソケット
- System VIPC
- タイマ
- シグナル
- ターミナル
- 特定のシステムへのカーネル呼び出し:inotify、signalfd、eventfdyepoll
アプリケーションエリア間 CRIUテクノロジーの場合、 オペレーティングシステムは、プロセスの継続性を中断することなく再起動します 長時間実行される分離されたコンテナーのライブマイグレーション、低速プロセスの起動の高速化(初期化後に保存された状態から開始できます)、サービスを再起動せずにカーネル更新を実行し、タスクの長時間実行状態を定期的に保存して、クラッシュが発生した場合に作業を再開します、クラスター化されたノード間の負荷分散、別のマシン(リモートシステムへのブランチ)でのプロセスの複製、別のシステムでの分析のため、またはプログラムでさらにアクションをキャンセルする必要がある場合に備えて、操作中にユーザーアプリケーションのスナップショットを作成します。 CRIUは、OpenVZ、LXC / LXD、Dockerなどのコンテナー管理システムで使用されます。
CRIU3.15の新バージョンについて
現在、ツールのバージョンは3.15です。は最近開始され、フリーズ/復元操作中にプロセスイメージをCRIUとの間で直接送信できるcriu-image-streamerサービスを導入しています。
- 画像は、ローカルファイルシステムでバッファリングすることなく、外部ストレージ(S3、GCSなど)から転送できます。
- MIPSアーキテクチャのサポートが追加されました。
- 既存のPID名前空間に属していないプロセスをフリーズした後、既存のPID名前空間に復元することができます。
- ファイルを検証するためのメカニズムが追加されました。
- BPF構造体BPF_HASH_OF_MAPSおよびBPF_ARRAY_OF_MAPSのフリーズおよび復元のサポートが追加されました。
- cgroupのXNUMX番目のバージョンの初期サポートが追加されました。
LinuxにCRIUをインストールするにはどうすればいいですか?
このツールのインストールに興味がある人は、ほとんどのLinuxディストリビューションの公式チャネル内で利用できることを知っておく必要があります。
だからツールをインストールするために ターミナルを開き、パッケージマネージャーの助けを借りてツールを探すか、私たちが共有する次のコマンドのいずれかを使用します。
ある人の場合 Debian、Ubuntuユーザー、およびこれらXNUMXつの派生物:
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
あなたがそれについてもっと知りたいなら このツールについては、詳細を確認できます 次のリンクで。