Udgivelse af CRIU 4.2, systemet til at gemme og gendanne tilstande af processer i Linux

Efter seks måneders udvikling er værktøjet CRIU 4.2 (Checkpoint and Restore In Userspace) blevet offentliggjort. Det er designet til at gemme og gendanne processer i brugerområdet. Værktøjet gør det muligt at gemme tilstanden af en eller flere processer og derefter genoptage arbejdet fra den gemte position, herunder efter genstart af systemet eller på en anden server uden at afbryde allerede etablerede netværksforbindelser. Projektkoden er skrevet i C og distribueres under GPLv2-licensen. CRIU anvendes i containerstyringssystemer, såsom OpenVZ, LXC/LXD og Docker. De nødvendige ændringer for, at CRIU kan fungere, er inkluderet i den primære sammensætning af Linux-kernen.

Som anvendelsesområder for CRIU-teknologi kan nævnes genstart af operativsystemet uden at forstyrre kontinuiteten i langvarige processer, live-migrering af isolerede containere, acceleration af opstart af langsomvirkende processer (man kan starte arbejdet fra en tilstand, der er gemt efter initialisering), udførelse af kernelopdateringer uden genstart af tjenester, periodisk gemme tilstanden af langvarige beregningsopgaver for at genoptage arbejde i tilfælde af nødstop, belastningsbalancering på noder i klynger, duplikering af processer til en anden maskine (fork til et fjernt system), oprettelse af snapshots af brugerapplikationer under kørslen for at analysere dem på et andet system eller i tilfælde af, at der er behov for at annullere videre handlinger i programmet.

I den nye version:

  • I amdgpu-pluginet er der implementeret mulighed for parallelisering af gendannelse af tilstanden for processer, der bruger GPU.
  • Tilføjet er indstillingen "—allow-uprobes", som giver mulighed for at arbejde med processer, der bruger vma (Virtual Memory Area), ved sporing af processer gennem mekanismen uprobe.
  • I biblioteken libcriu er muligheden for at angive en RPC-konfigurationsfil for runtime-containere, der bruger dette bibliotek, såsom crun, blevet tilføjet. For eksempel kan den implementerede mulighed være nyttig til at indstille indstillinger som "—tcp-established" via filen /etc/criu/runc.conf for Kubernetes.
  • Problemer med kompilering på ARM64-systemer med musl C-biblioteket er blevet løst.
  • Hele nummeret overflow i funktionen pagemap_len() er blevet rettet.
  • Problemer med brugen af getsockopt-indstillingerne SO_PASSCRED og SO_PASSSEC er løst på systemer med Linux-kernel 6.16.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster