Na zes maanden ontwikkeling is de release van de CRIU 4.1-toolset (Checkpoint and Restore In Userspace) gepubliceerd, die bedoeld is voor het opslaan en herstellen van processen in de gebruikersruimte. De toolset maakt het mogelijk om de status van één of meerdere processen op te slaan en vervolgens door te gaan vanaf de opgeslagen positie, ook na een herstart van het systeem of op een andere server zonder bestaande netwerkverbindingen te onderbreken. De code van het project is geschreven in C en is beschikbaar onder de GPLv2-licentie. CRIU wordt toegepast in containerbeheersystemen zoals OpenVZ, LXC/LXD en Docker. De noodzakelijke wijzigingen voor CRIU zijn opgenomen in de hoofdversie van de Linux-kernel.
Toepassingsgebieden van de CRIU-technologie omvatten het mogelijk maken van herstart van het besturingssysteem zonder de continuïteit van langlopende processen te verstoren, live-migratie van geïsoleerde containers, versnelling van de opstart van trage processen (je kunt beginnen met de staat die is opgeslagen na de initialisatie), het uitvoeren van kernel-updates zonder de services opnieuw op te starten, periodiek opslaan van de toestand van langlopende rekenopdrachten voor hervatting in geval van een crash, belastingverdeling op knooppunten in clusters, duplicatie van processen naar een andere machine (fork naar een externe systeem), het maken van snapshots van gebruikersapplicaties tijdens het werken voor analyse op een ander systeem of voor het geval toekomstige actie in het programma ongedaan moet worden gemaakt.
In de nieuwe release:
- Ondersteuning voor de RISC-V-architectuur is toegevoegd.
- Ondersteuning voor het PIDFD-mechanisme is toegevoegd, waarmee onveranderlijke identificatoren die aan de oorspronkelijke processen zijn gekoppeld, kunnen worden gebruikt (een reguliere PID kan aan een ander proces worden toegewezen na beëindiging van het huidige proces dat met deze PID is geassocieerd).
- Voor het ARM64-platform is ondersteuning geïmplementeerd voor extensies voor pointer-authenticatie (PAC Pointer Authentication Code), die de controle van retouradressen mogelijk maken met behulp van digitale handtekeningen die zijn opgeslagen in de ongebruikte bovenste bits van de pointer zelf.
- De mogelijkheden voor het opslaan en herstellen van de status van applicaties die gebruikmaken van de NVIDIA CUDA-technologie zijn uitgebreid.
- Er is nu een optie om de netwerkvergrendelings-backend te kiezen tijdens de fase van het bouwen, zonder de code te hoeven bewerken. De backend kan worden gewijzigd door de make-tool de parameter NETWORK_LOCK_DEFAULT mee te geven, die de waarden 'NETWORK_LOCK_IPTABLES', 'NETWORK_LOCK_NFTABLES' en 'NETWORK_LOCK_SKIP' accepteert.
- Ondersteuning voor het genereren van coredump-bestanden voor de Aarch64- en ARM-architecturen is ingeschakeld.
Bron: opennet.ru
