Google sta sviluppando un sistema di riavvio del kernel senza interrompere le operazioni dei dispositivi.

Gli ingegneri di Google hanno pubblicato per la discussione degli sviluppatori del kernel Linux un insieme di patch che implementano il sistema Live Update Orchestrator (LUO), progettato per aggiornare il kernel in modalità Live. A differenza di meccanismi come livepatch, Ksplice, kpatch e kGraft, il nuovo sistema non si limita alla possibilità di applicare singole correzioni a un kernel Linux in esecuzione, ma consente di riavviare e aggiornare completamente il kernel senza interrompere il funzionamento degli specifici dispositivi. Il progetto si basa su un insieme di patch KHO (Kexec HandOver) per il meccanismo kexec, utilizzato per caricare un nuovo kernel da un kernel Linux già avviato senza un riavvio fisico.

Come principale area di utilizzo di LUO vengono menzionati gli ambienti cloud, nei quali sarà possibile aggiornare l'iperstazionale KVM senza interrompere il funzionamento delle macchine virtuali in esecuzione. di macchine virtualiIn particolare, sarà possibile sospendere macchine virtuali temporaneamente il riavvio del kernel con l'iperstazionale, mantenendo attivi tutti i dispositivi collegati alle macchine virtuali.

Per realizzare questa possibilità, LUO offre funzionalità per il salvataggio dello stato dei dispositivi prima del passaggio al nuovo kernel e il ripristino dello stato immediatamente dopo l'attivazione del nuovo kernel in modo che le operazioni continue del sistema e delle applicazioni nello spazio utente con i dispositivi non vengano interrotte. Durante il riavvio del kernel, è anche garantita l'integrità delle operazioni eseguite con DMA e l'attività associata al trattamento delle interruzioni.

Per coordinare il salvataggio dello stato e passare a un nuovo kernel, LUO offre un'API che consente ad altre sottosistemi del kernel di collegare gestori per monitorare e partecipare al processo di Live-reboot. Tra le sottosistemi che possono integrarsi con LUO, si evidenziano il hypervisor KVM, iommu, il sistema delle interruzioni e i driver. Per trasferire lo stato della memoria dal vecchio kernel al nuovo, viene utilizzato KHO (Kexec HandOver). La gestione avviene tramite i file sysfs "/sys/kernel/liveupdate/{state, prepare, finish}".

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