Efter sex mÄnaders utveckling har version 4.2 av verktyget CRIU (Checkpoint and Restore In Userspace) publicerats, som Àr avsett för att spara och ÄterstÀlla processer i anvÀndarutrymmet. Verktyget tillÄter anvÀndare att spara tillstÄndet för en eller flera processer och sedan Äteruppta arbetet frÄn den sparade punkten, Àven efter systemomstart eller pÄ en annan server utan att bryta redan etablerade nÀtverkskopplingar. 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 att anvÀnda CRIU ingÄr i den centrala 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:
- I amdgpu-plugin har möjligheten att parallellisera ÄterstÀllandet av tillstÄnd för processer som anvÀnder GPU implementerats.
- En ny parameter "âallow-uprobes" har lagts till, vilket möjliggör arbete med processer som anvĂ€nder vma (Virtual Memory Area) vid spĂ„rning av processer via mekanismen uprobe.
- I biblioteket libcriu har möjligheten att ange en RPC-konfigurationsfil för runtime-containrar som anvĂ€nder detta bibliotek, sĂ„som crun, lagts till. Till exempel kan den implementerade funktionen vara anvĂ€ndbar för att stĂ€lla in alternativ som "âtcp-established" via filen /etc/criu/runc.conf för Kubernetes.
- Problem med kompilering pÄ ARM64-system med musl C-biblioteket har lösts.
- Heltalsoverflow i funktionen pagemap_len() har ÄtgÀrdats.
- Problem med anvÀndningen av getsockopt-alternativen SO_PASSCRED och SO_PASSSEC pÄ system med Linux-kÀrna 6.16 har lösts.
KĂ€lla: opennet.ru
