È stato pubblicato il rilascio dello strumento CRIU 3.16 (Checkpoint and Restore In Userspace), progettato per salvare e ripristinare processi nello spazio utente. Lo strumento consente di salvare lo stato di uno o più processi e successivamente riprendere l'attività dalla posizione salvata, anche dopo un riavvio del sistema o su un altro server senza interrompere le connessioni di rete già stabilite. Il codice del progetto è distribuito sotto la licenza GPLv2.
Le aree di applicazione della tecnologia CRIU includono la capacità di riavviare il sistema operativo senza interrompere l'esecuzione di processi a lungo termine, la migrazione live di container isolati, l'accelerazione dell'avvio di processi lenti (è possibile iniziare a lavorare da uno stato salvato dopo l'inizializzazione), l'esecuzione di aggiornamenti del kernel senza riavviare i servizi, il salvataggio periodico dello stato delle attività computazionali a lungo termine per riprendere l'operazione in caso di crash, il bilanciamento del carico sui nodi nei cluster, la duplicazione di processi su un'altra macchina (fork su un sistema remoto), e la creazione di snapshot di applicazioni utente durante l'esecuzione per l'analisi su un altro sistema o nel caso sia necessario annullare ulteriori azioni nel programma. CRIU è utilizzato in sistemi di gestione dei container come OpenVZ, LXC/LXD e Docker. Le modifiche necessarie per l'operatività di CRIU sono incluse nel kernel Linux principale.
Nel nuovo rilascio:
- Aggiunta il comando criu-ns, che consente di ripristinare un'immagine salvata del processo con un nuovo identificatore PID e in uno spazio dei nomi separato dei punti di montaggio (mount namespace). L'esecuzione con un PID diverso può essere necessaria, ad esempio, quando il vecchio PID è già in uso nel sistema.
- Implementata la possibilità di salvare e ripristinare le immagini di stato dei profili annidati di apparmor.
- Implementata la blocco e sblocco delle risorse di rete basate su nftables.
- Aggiunta la supporto per il ripristino di dispositivi veth pre-creati.
- Migliorata la supporto per il ripristino dei contenitori all'interno di pod esistenti.
- Per i client RPC è stata aggiunta la possibilità di determinare il riutilizzo del PID, implementata tramite il meccanismo pidfd.
- La licenza per tutti i file proto nella cartella images/ è stata modificata in MIT.
Fonte: opennet.ru
