Meccanismo Kexec HandOver per il riavvio del kernel Linux senza perdita di stato

Nella mailing list del kernel Linux è stata presentata la sesta versione delle patch per l'implementazione del meccanismo Kexec HandOver (KHO), sviluppato dagli ingegneri delle aziende Amazon, Microsoft e Google. Le patch sono già state accettate nel ramo mm-everything, dove si stanno accumulando modifiche per il futuro ramo del kernel 6.16, relative alla gestione della memoria. Sulla base di Kexec HandOver, Google sta sviluppando il sottosistema Live Update Orchestrator (LUO), che consente di riavviare il kernel senza interrompere il funzionamento dei dispositivi.

Kexec HandOver offre la possibilità di avviare un nuovo kernel da uno vecchio senza perdita dello stato del sistema. Al momento, la chiamata kexec() funziona solo come bootloader, avviando semplicemente un nuovo kernel, che dopo riinizializza completamente il sistema, equivalente a un riavvio, ma senza il coinvolgimento del firmware. La serie di patch proposta implementa un approccio diverso. Prima di trasferire il controllo alla nuova versione del kernel, lo stato delle sottosistemi chiave del kernel viene serializzato in una regione di memoria, che non sarà influenzata da ulteriori operazioni. Il nuovo kernel, una volta ottenuto il controllo, ripristina lo stato serializzato. Dal punto di vista degli altri programmi, l'operazione di sostituzione del kernel è impercettibile.

Kexec HandOver può essere utile in situazioni in cui l'interruzione non è accettabile e è necessario garantire un ciclo di lavoro continuo per determinati dispositivi. Ad esempio, nei server di virtualizzazione, Kexec HandOver può essere utilizzato per aggiornare il kernel (e l'hypervisor KVM), senza toccare la memoria occupata dalle macchine virtuali, e mantenendo lo stato delle loro esecuzioni.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster