Rilascio di CRIU 3.16, sistema di salvataggio e ripristino dello stato dei processi in Linux

Pubblicato il rilascio del toolkit CRIU 3.16 (Checkpoint and Restore In Userspace), progettato per salvare e ripristinare i processi nello spazio utente. Il toolkit consente di salvare lo stato di uno o un gruppo di processi, quindi riprendere il lavoro dalla posizione salvata, anche dopo il riavvio del sistema o su un altro server senza interrompere le connessioni di rete già stabilite. Il codice del progetto è distribuito sotto licenza GPLv2.

Tra le aree di applicazione della tecnologia CRIU, si segnala che il sistema operativo viene riavviato senza interrompere la continuità dell'esecuzione di processi di lunga durata, Live-migration di container isolati, accelerando l'avvio di processi lenti (è possibile iniziare a lavorare dal stato salvato dopo l'inizializzazione), aggiornamento del kernel senza riavviare i servizi, salvataggio periodico dello stato delle attività di elaborazione di lunga durata per riprendere il lavoro in caso di arresto anomalo, bilanciamento del carico sui nodi nei cluster, duplicazione dei processi su un'altra macchina (fork to a sistema remoto), creando istantanee delle applicazioni utente nel processo per analizzarle su un altro sistema o nel caso in cui sia necessario annullare ulteriori azioni nel programma. CRIU viene utilizzato nei sistemi di gestione dei container come OpenVZ, LXC/LXD e Docker. Le modifiche necessarie per il funzionamento di CRIU sono incluse nella composizione principale del kernel Linux.

Nella nuova versione:

  • Aggiunto il comando criu-ns per ripristinare uno snapshot del processo salvato con un nuovo PID e in uno spazio dei nomi di montaggio separato. Potrebbe essere necessario iniziare con un PID diverso, ad esempio, se il vecchio PID è già in uso nel sistema.
  • È stata implementata la possibilità di salvare e ripristinare istantanee dello stato dei profili apparmor nidificati.
  • Implementato il blocco e lo sblocco delle risorse di rete basate su nftables.
  • Aggiunto supporto per il ripristino di dispositivi veth precreati.
  • Supporto migliorato per il ripristino dei contenitori sui pod esistenti.
  • Per i client RPC è stata aggiunta la possibilità di determinare il riutilizzo dei PID, implementata utilizzando il meccanismo pidfd.
  • La licenza per tutti i file proto nella directory images/ è stata modificata in MIT.

Fonte: opennet.ru

Aggiungi un commento