Megjelent a CRIU 4.0 (Checkpoint and Restore In Userspace) eszközkészlet, amely a felhasználói térben futó folyamatok állapotának megőrzésére és helyreállítására szolgál. Az eszközkészlet lehetővé teszi egy vagy csoportnyi folyamat állapotának megőrzését, amelyet később újra lehet kezdeni a megőrzött pozícióból, beleértve a rendszer újraindítását vagy más szerverre való áthelyezését megszakítás nélküli hálózati kapcsolatokkal. A projekt kódja C nyelven íródott, és GPLv2 licenc alatt kerül forgalomba. A CRIU olyan konténerkezelő rendszerekben használatos, mint az OpenVZ, LXC/LXD és Docker. A CRIU működéséhez szükséges változtatások bekerültek a Linux kernel alapértelmezett összetételébe.
A CRIU technológia alkalmazási területei közé tartozik az operációs rendszer újraindítása anélkül, hogy megszakítanánk a hosszú ideig futó folyamatok folytatását, izolált konténerek élő migrációja, lassú folyamatok indításának felgyorsítása (lehetőség van a munka megkezdésére az inicializálás után megőrzött állapotból), kernelfrissítések végrehajtása a szolgáltatások újraindítása nélkül, hosszú futású számítási feladatok állapotának periódikus megőrzése a helyreállítás céljából, terheléselosztás a klaszterek csomópontjai között, folyamatok más gépre való másolása (fork egy távoli rendszerre), felhasználói alkalmazások pillanatfelvételeinek készítése működés közben azok elemzésére egy másik rendszeren vagy arra az esetre, ha a program további lépéseit vissza kellene vonni.
Az új kiadásban:
- Hozzáadva a CUDA plug-in, amely lehetővé teszi az NVIDIA CUDA technológián alapuló alkalmazások állapotának megőrzését és helyreállítását.
- Hozzáadva a Shadow Stack mechanizmus támogatása, amely a Linux kernel 6.6 verziójától kezdve támogatott, és lehetővé teszi sok exploit működésének blokkolását, kihasználva az Intel processzorok hardveres lehetőségeit (a funkciónak átadott vezérlés után a visszatérési címeket a processzor nemcsak a normál veremben, hanem egy külön "árnyékolt" veremben is megőrzi, amely közvetlenül nem módosítható, és a funkcióból való kilépés előtt a visszatérési címet az árnyékolt veremből vonják ki és összehasonlítják a fő verembeli visszatérési címmel).
- A PAGEMAP_SCAN ioctl command support has been added to retrieve information about the contents of memory page tables, which, among other things, allows you to identify write occurrences in a specific memory area when used with userfaultfd().
- The ability to restore a thread in the correct cgroup v1 has been implemented.
Forrás: opennet.ru
