Ang CRIU, isang sistema upang mai-save at maibalik ang estado ng mga proseso sa Linux

CRIU (Checkpoint at Ibalik sa Userspace) ay isang tool na nagbibigay-daan sa iyo upang i-save ang estado ng isa o isang pangkat ng mga proseso at pagkatapos ay ipagpatuloy ang trabaho mula sa nai-save na posisyon, kahit na matapos ang pag-restart ng system o sa ibang server nang hindi sinira ang naitatag na mga koneksyon sa network.

Gamit ang tool na ito, posible na i-freeze ang isang tumatakbo na application (o bahagi nito) at ilagay ito sa paulit-ulit na imbakan bilang isang koleksyon ng mga file. Ang mga file ay maaaring magamit upang maibalik at mapatakbo ang application mula sa kung saan ito nagyeyelo.

Ang natatanging tampok ng proyekto ng CRIU ay iyon pangunahing ipinatutupad ito sa puwang ng gumagamit, sa halip na sa kernel.

Tungkol sa CRIU

Ang tool na CRIU ay binuo bilang bahagi ng proyekto ng OpenVZ, na may layunin na ma-override ang checkpoint / ibalik sa kernel.

Bagaman ang pangunahing pokus nito ay upang suportahan ang paglipat ng container, na pinapayagan ang mga gumagamit na i-verify at ibalik ang kasalukuyang estado ng pagpapatakbo ng mga proseso at proseso ng mga pangkat.

sa kasalukuyan, ang tool ay maaaring magamit sa x86-64 at ARM system y Sinusuportahan ang mga sumusunod na pag-andar:

  • Mga proseso: ang kanilang hierarchy, PIDs, mga user at group authenticator (UID, GID, SID, atbp.), Mga kakayahan ng system, mga thread, at tumatakbo at tumigil sa mga estado
  • Memorya ng aplikasyon: memo ng mga file na memorya at nakabahaging memorya
  • Buksan ang mga file
  • Mga Pipe at FIFO
  • I-unix ang mga socket ng domain
  • Mga socket ng network, kasama na ang mga socket ng TCP sa itinatag na estado
  • System V IPC
  • Timers
  • Signal
  • Mga Terminal
  • Ang mga tawag ni Kernel sa tukoy na system: pag-inotify, signalfd, eventfdyepoll

Sa pagitan ng mga lugar ng aplikasyon ng teknolohiya ng CRIU, sinusunod ito ang operating system ay restart nang hindi nakakaabala ang pagpapatuloy ng mga proseso matagal na, nakahiwalay na mga lalagyan live na paglipat, pinapabilis ang paglulunsad ng mabagal na proseso (maaaring magsimula mula sa nai-save na estado pagkatapos ng pagsisimula), gumaganap ng mga pag-update ng kernel nang walang pag-restart ng mga serbisyo, pana-panahong nagse-save ng matagal nang katayuan ng mga gawain upang ipagpatuloy ang trabaho sa kaganapan ng isang pag-crash , pagkarga ng balanse sa mga clustered node, mga dobleng proseso sa isa pang machine (sangay sa isang remote system), lumikha ng mga snapshot ng mga application ng gumagamit sa panahon ng pagpapatakbo para sa pagtatasa sa isa pang system o kung sakali kailangan mong kanselahin ang maraming mga aksyon sa programa. Ginagamit ang CRIU sa mga system ng pamamahala ng lalagyan tulad ng OpenVZ, LXC / LXD, at Docker.

Tungkol sa bagong bersyon ng CRIU 3.15

Sa kasalukuyan ang tool ay nasa bersyon nito 3.15, na kamakailan ay inilunsad at ipinakilala nito ang serbisyo ng criu-image-streamer, na nagbibigay-daan sa paghahatid ng mga proseso ng imahe nang direkta mula sa / patungong CRIUs habang nag-freeze / naibalik ang mga operasyon.

  • Ang mga imahe ay maaaring ilipat mula sa panlabas na imbakan (S3, GCS, atbp.) Nang walang buffering sa lokal na file system.
  • Ang suporta para sa arkitektura ng MIPS ay naidagdag.
  • Pinapayagan i-freeze ang mga proseso na hindi kabilang sa umiiral na namespace ng PID, na sinusundan ng ibalik sa umiiral na namespace ng PID.
  • Ang mga karagdagang mekanismo ay idinagdag upang mapatunayan ang mga file.
  • Nagdagdag ng suporta para sa pagyeyelo at pagpapanumbalik ng mga istraktura ng BPF ng BPF_HASH_OF_MAPS at BPF_ARRAY_OF_MAPS.
  • Nagdagdag ng paunang suporta para sa ikalawang bersyon ng cgroup.

Paano i-install ang CRIU sa Linux?

Ang mga interesado sa pag-install ng tool na ito ay dapat malaman na magagamit ito sa loob ng mga opisyal na channel ng karamihan sa mga pamamahagi ng Linux.

Kaya upang mai-install ang tool buksan lamang ang isang terminal at sa tulong ng iyong package manager hanapin ang tool o gumamit ng isa sa mga sumusunod na utos na ibinabahagi namin.

Para sa kaso ng mga na Ang mga gumagamit ng Debian, Ubuntu at derivatives ng dalawang ito:

sudo apt install criu

Habang para sa mga gumagamit ng Arch Linux at anumang derivatives nito:

sudo pacman -S criu

Sa kaso ng mga gumagamit ng openuse:

sudo zypper install criu

Sa wakas para sa mga nais mag-ipon ng tool magagawa nila ito sa pamamagitan ng pagta-type:

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

Kung nais mong malaman ang tungkol dito tungkol sa tool na ito, maaari mong suriin ang mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.