Efter sex månaders utveckling har version 4.1 av verktyget CRIU (Checkpoint and Restore In Userspace) publicerats, vilket är avsett för att spara och återställa processer i användarskiktet. Verktyget möjliggör att spara tillståndet för en eller flera processer och sedan återuppta arbetet från den sparade punkten, även efter systemomstarter eller på en annan server utan att bryta redan etablerade nätverksanslutningar. Projektkoden är skriven i C och distribueras under GPLv2-licensen. CRIU används i containerhanteringssystem som OpenVZ, LXC/LXD och Docker. Nödvändiga ändringar för CRIU är inkluderade i den primära källkoden för Linux-kärnan.
Inom tillämpningsområdena för CRIU-teknologin kan nämnas att den möjliggör omstart av operativsystemet utan att bryta kontinuiteten för långvarigt körande processer, live-migrering av isolerade containrar, snabbare start av långsamma processer (man kan börja arbete från det tillstånd som sparades efter initiering), uppgradering av kärnan utan att starta om tjänster, periodisk lagring av tillståndet för långvarigt körande beräkningsuppgifter för att kunna återuppta arbetet vid avbrott, belastningsbalansering på noder i kluster, duplicering av processer till en annan maskin (fork till ett avlägset system), skapande av snapshots av användarapplikationer under körning för analys på ett annat system eller för att kunna ångra framtida åtgärder i programmet.
I den nya utgåvan:
- Stöd för arkitekturen RISC-V har lagts till.
- Stöd för PIDFD-mekanismen har lagts till, vilket möjliggör användning av oförändrade identifierare kopplade till ursprungsprocesserna (vanlig PID kan tilldelas en annan process efter att den nuvarande processen kopplad till denna PID har avslutats).
- För ARM64-plattformen har stöd för utökningar för pekarautentisering (PAC Pointer Authentication Code) implementerats, vilket säkerställer verifiering av returadresser med hjälp av digitala signaturer som lagras i de oanvända övre bitarna av själva pekaren.
- Möjligheterna för att spara och återställa tillståndet av applikationer som använder teknologin NVIDIA CUDA har utökats.
- Möjligheten att välja nätverkslåsningsbackend under byggprocessen har tillhandahållits, utan behov av att ändra koden. Backend kan ändras genom att skicka parametern NETWORK_LOCK_DEFAULT till make-verktyget, vilket tillåter värdena "NETWORK_LOCK_IPTABLES", "NETWORK_LOCK_NFTABLES" och "NETWORK_LOCK_SKIP".
- Stöd för att generera coredump-filer för arkitekturerna Aarch64 och ARM har lagts till.
Källa: opennet.ru
