No código base do núcleo Linux, a partir do qual será formado o lançamento 6.19 no início de fevereiro, foi aceito o código do subsistema LUO (Live Update Orchestrator), desenvolvido pela empresa Google para atualizar o núcleo em modo Live sem reinicialização física. O subsistema é baseado no mecanismo KHO (Kexec HandOver), adicionado anteriormente ao núcleo 6.16, que permite a execução de um novo núcleo a partir do antigo sem perda de estado do sistema.
O Live Update Orchestrator permite reiniciar e atualizar completamente o núcleo sem interromper o funcionamento e sem perder o estado do sistema, dos dispositivos e dos processos. Além da funcionalidade do KHO, o subsistema LUO mantém o estado dos dispositivos e da memória RAM, e também garante a continuidade das operações relacionadas ao DMA e ao processamento de interrupções. O estado é mantido até a mudança para o novo núcleo e é restaurado após a ativação do novo núcleo, sem interromper operações contínuas com dispositivos realizadas pelo sistema e por aplicativos no espaço do usuário.
Uma característica da nova série de patchs é a capacidade de manter descritores de arquivo memfd para preservar o estado de dados importantes na memória entre reinicializações, como o conteúdo da memória RAM. máquinas virtuaisComo principal área de aplicação do subsistema, menciona-se a atualização rápida servidores com sistemas de virtualização baseados no hipervisor KVM, para abordar problemas de segurança e estabilidade com o mínimo de tempo de inatividade das máquinas virtuais. A Google já utiliza essa tecnologia em seus ambientes de trabalho.
Ao contrário do livepatch, Ksplice, kpatch, kGraft e outros mecanismos de aplicação de patch a quente, o novo subsistema não se limita à aplicação de correções individuais ao núcleo em funcionamento e permite a substituição completa do núcleo. Diferentemente da chamada kexec, o subsistema LUO preserva o estado dos dispositivos e dos subsistemas do núcleo entre reinicializações, enquanto a chamada kexec funciona apenas como um carregador que inicia um novo núcleo com completa reinicialização do sistema (equivalente a uma reinicialização, mas sem transferir o controle para o firmware).
Fonte: opennet.ru
