Efter seks måneders udvikling er udgivelsen af værktøjet CRIU 4.1 (Checkpoint and Restore In Userspace) blevet offentliggjort. Værktøjet er designet til at gemme og gendanne processer i brugerrum. Det muliggør at gemme tilstanden af en eller flere processer og derefter fortsætte arbejdet fra den gemte position, inklusive efter en 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 som OpenVZ, LXC/LXD og Docker. Nødvendige ændringer til CRIU er inkluderet i den centrale del 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:
- Tilføjet understøttelse af RISC-V-arkitekturen.
- Tilføjet understøttelse af PIDFD-mekanismen, der gør det muligt at bruge uforanderlige identifikatorer knyttet til de oprindelige processer (en almindelig PID kan tildeles en anden proces efter afslutningen af den aktuelle proces, der er forbundet med denne PID).
- For ARM64-platformen er der implementeret understøttelse af udvidelser til pointerautentisering (PAC Pointer Authentication Code), som muliggør validering af returadresser ved hjælp af digitale signaturer, der opbevares i de ubrugte øverste bits i selve pointeren.
- Mulighederne for at gemme og gendanne tilstanden af programmer, der bruger NVIDIA CUDA-teknologi, er blevet udvidet.
- Muligheden for at vælge netværkslåsebackend under opbygningen er blevet tilføjet, uden at det er nødvendigt at redigere koden. Backend kan ændres ved at overføre parameteren NETWORK_LOCK_DEFAULT til make-værktøjet, som tillader værdierne "NETWORK_LOCK_IPTABLES", "NETWORK_LOCK_NFTABLES" og "NETWORK_LOCK_SKIP".
- Understøttelse af generering af coredump-filer for Aarch64- og ARM-arkitekturerne er blevet inkluderet.
Kilde: opennet.ru
