După șase luni de dezvoltare, a fost lansată versiunea 4.1 a instrumentului CRIU (Checkpoint and Restore In Userspace), destinat salvării și restaurării proceselor în spațiul utilizatorului. Instrumentul permite salvarea stării unui grup de procese și reluarea activității de la acea poziție, inclusiv după repornirea sistemului sau pe un alt server, fără a întrerupe conexiunile de rețea deja stabilite. Codul proiectului este scris în limbajul C și este distribuit sub licența GPLv2. CRIU este utilizat în sisteme de gestionare a containerelor, cum ar fi OpenVZ, LXC/LXD și Docker. Modificările necesare pentru funcționarea CRIU sunt incluse în nucleul principal al Linux.
Printre domeniile de aplicare ale tehnologiei CRIU se numără asigurarea repornirii sistemului de operare fără a întrerupe continuitatea executării proceselor pe termen lung, migrarea live a containerelor izolate, accelerarea pornirii proceselor lente (se poate începe de la un stadiu salvat după inițializare), efectuarea actualizărilor nucleului fără a reporni serviciile, salvarea periodică a stării sarcinilor de calcul prelungite pentru a relua activitatea în caz de întreruperi neașteptate, echilibrarea încărcăturii pe noduri în clustere, duplicarea proceselor pe o altă mașină (fork pe un sistem îndepărtat), realizarea de instantanee ale aplicațiilor utilizator în timpul funcționării pentru analiză pe un alt sistem sau în cazul în care este necesară anularea acțiunilor ulterioare în program.
În noua versiune:
- S-a adăugat suport pentru arhitectura RISC-V.
- A fost adăugat suport pentru mecanismul PIDFD, care permite utilizarea identificatorilor neschimbați, legați de procesele originale (un PID obișnuit poate fi atribuit altui proces după finalizarea procesului curent asociat cu acest PID).
- Pentru platforma ARM64 a fost implementat suport pentru extensiile de autentificare a pointerilor (PAC Pointer Authentication Code), care asigură verificarea adreselor de întoarcere prin semnături digitale stocate în biții superioare neutilizați ai pointerului în sine.
- Au fost extinse capacitățile de salvare și restaurare a stării aplicațiilor care utilizează tehnologia NVIDIA CUDA.
- A fost oferită posibilitatea de a alege backend-ul de blocare a rețelei în timpul compilării, fără a fi necesară modificarea codului. Backend-ul poate fi schimbat prin transmiterea parametrului NETWORK_LOCK_DEFAULT utilitarului make, care acceptă valorile „NETWORK_LOCK_IPTABLES”, „NETWORK_LOCK_NFTABLES” și „NETWORK_LOCK_SKIP”.
- A fost inclus suportul pentru generarea fișierelor coredump pentru arhitecturile Aarch64 și ARM.
Sursa: opennet.ro
