Udgivelse af CRIU 4.3, systemet til at gemme og gendanne tilstanden af processer i Linux

Efter 11 måneders udvikling er version 4.3 af CRIU-værktøjet (Checkpoint and Restore In Userspace) offentliggjort. Det er designet til at gemme og gendanne processer i brugerrummet. Værktøjet gør det muligt at gemme tilstanden af en eller flere processer og derefter genoptage arbejdet fra den gemte position, også efter en genstart af systemet eller på en anden server uden afbrydelse af allerede etablerede netværksforbindelser. Projektkoden er skrevet i C og distribueres under GPLv2-licensen. CRIU anvendes i containerstyringssystemer som OpenVZ, LXC/LXD og Docker. Nødvendige ændringer til CRIU er inkluderet i den primære kerne af Linux.

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:

  • Muligheden for komprimering af hukommelsesblokke og sider er blevet implementeret ved hjælp af LZ4-algoritmen og multi-trådet dekomprimering.
  • Ydelsen er blevet forbedret ved at anvende asynkron ind- og udgang (AIO) ved gendannelse af VMA-sider (Virtual Memory Area), en ny metode til at stoppe opgaver uden brug af hardware-brydepunkter og parallelisering af gendannelse af memfd og anonym delt hukommelse.
  • Støtte til ARM64 GCS (Guarded Control Stack) udvidelsen er tilføjet, hvilket giver hardwarebeskyttelse af returadresser fra funktioner. Efter overførsel af kontrol til funktionen gemmer processoren returadresserne ikke kun i den normale stak, men også i en separat skyggestak, der ikke kan ændres direkte. Før der forlades funktionen, trækkes returadressen fra skyggestakken og sammenlignes med returadressen fra hovedstakken.
  • Backend til at gemme tilstanden af NVIDIA CUDA-driverens API er tilføjet.
  • Gendannelse af GPU-mapping er blevet sikret.
  • For amdgpu-driveren er gemme- og gendannelsestilstand for DRM (Direct Rendering Manager) subsystemets buffere og DMA-BUF filbeskrivelser implementeret.
  • Kommandoer til komprimering og dekomprimering af hukommelsesbilleder i offline-tilstand er blevet tilføjet.
  • Support til at gemme og gendanne information om binding af UID-identifikatorer til netværkssokler er tilføjet.
  • Muligheden "—image-io-mode" for skrivning og læsning af hukommelsessider i O_DIRECT-tilstand (omgå siden cache) er tilføjet.

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