CRIU, sistem untuk menyimpan dan memulihkan status proses di Linux

KRIU (Checkpoint dan Pulihkan di Userspace) adalah alat yang memungkinkan Anda untuk menyimpan status dari satu atau sekelompok proses dan kemudian melanjutkan pekerjaan dari posisi yang disimpan, bahkan setelah memulai ulang sistem atau di server lain tanpa memutus sambungan jaringan yang sudah ada.

Dengan alat ini, dimungkinkan untuk membekukan aplikasi yang sedang berjalan (atau bagian darinya) dan meletakkannya di penyimpanan persisten sebagai kumpulan file. File tersebut kemudian dapat digunakan untuk memulihkan dan menjalankan aplikasi dari tempatnya dibekukan.

Ciri khasnya proyek CRIU adalah itu ini diterapkan terutama di ruang pengguna, bukan di kernel.

Tentang CRIU

Alat CRIU sedang dikembangkan sebagai bagian dari proyek OpenVZ, dengan tujuan menimpa checkpoint / restore di kernel.

Meskipun fokus utamanya adalah mendukung migrasi kontainer, memungkinkan pengguna untuk memverifikasi dan memulihkan status saat ini dari proses yang berjalan dan grup proses.

Saat ini, alat ini dapat digunakan pada sistem x86-64 dan ARM y mendukung fungsi-fungsi berikut:

  • Proses: hierarki, PID, pengautentikasi pengguna dan grup (UID, GID, SID, dll.), Kemampuan sistem, utas, serta status berjalan dan berhenti
  • Memori aplikasi: file yang dipetakan memori dan memori bersama
  • Buka file
  • Pipa dan FIFO
  • Unix soket domain
  • Soket jaringan, termasuk soket TCP dalam status ESTABLISHED
  • Sistem V IPC
  • Timer
  • sinyal
  • Terminal
  • Panggilan kernel ke sistem tertentu: inotify, signalfd, eventfdyepoll

Di antara area aplikasi teknologi CRIU, diamati bahwa sistem operasi restart tanpa mengganggu kelangsungan proses migrasi langsung kontainer terisolasi yang berjalan lama, mempercepat peluncuran proses yang lambat (dapat dimulai dari status tersimpan setelah inisialisasi), melakukan pembaruan kernel tanpa memulai ulang layanan, secara berkala menyimpan status tugas yang berjalan lama untuk melanjutkan pekerjaan jika terjadi crash, keseimbangan beban di seluruh node berkerumun, proses duplikat di komputer lain (cabang ke sistem jarak jauh), membuat snapshot aplikasi pengguna selama operasi untuk analisis pada sistem lain atau seandainya Anda perlu membatalkan lebih banyak tindakan dalam program. CRIU digunakan dalam sistem manajemen kontainer seperti OpenVZ, LXC / LXD, dan Docker.

Tentang versi baru CRIU 3.15

Saat ini alat tersebut dalam versi 3.15, yang baru-baru ini diluncurkan dan memperkenalkan layanan streamer-gambar-criu, yang memungkinkan transmisi gambar proses langsung dari / ke CRIU selama operasi pembekuan / pemulihan.

  • Gambar dapat ditransfer dari penyimpanan eksternal (S3, GCS, dll.) Tanpa buffering pada sistem file lokal.
  • Dukungan untuk arsitektur MIPS telah ditambahkan.
  • Diizinkan untuk membekukan proses yang tidak termasuk dalam ruang nama PID yang ada, diikuti dengan pemulihan ke ruang nama PID yang ada.
  • Mekanisme tambahan ditambahkan untuk memverifikasi file.
  • Menambahkan dukungan untuk membekukan dan memulihkan struktur BPF BPF_HASH_OF_MAPS dan BPF_ARRAY_OF_MAPS.
  • Menambahkan dukungan awal untuk cgroup versi kedua.

Bagaimana cara menginstal CRIU di Linux?

Bagi mereka yang tertarik untuk dapat menginstal alat ini, mereka harus tahu bahwa alat ini tersedia di saluran resmi sebagian besar distribusi Linux.

Jadi untuk menginstal alat tersebut cukup buka terminal dan dengan bantuan manajer paket Anda, cari alatnya atau gunakan salah satu dari perintah berikut yang kami bagikan.

Untuk kasus mereka yang sedang Debian, pengguna Ubuntu, dan turunan dari keduanya:

sudo apt install criu

Sedangkan bagi mereka yang merupakan pengguna Arch Linux dan turunannya:

sudo pacman -S criu

Dalam kasus mereka yang merupakan pengguna openuse:

sudo zypper install criu

Akhirnya bagi mereka yang ingin mengompilasi alat tersebut mereka dapat melakukannya dengan mengetik:

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

Jika Anda ingin tahu lebih banyak tentang itu tentang alat ini, Anda dapat memeriksa detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.