Meta/Facebook voltou-se para o kernel live-patching (KLP) com o Kpatch da Red Hat, a infraestrutura livepatch do kernel Linux para lidar com atualizações ao vivo para”vários milhões de servidores”. Os engenheiros da Meta compartilharam durante a Linux Plumbers Conference desta semana sobre os sucessos que tiveram com ele, bem como os problemas encontrados ao longo do caminho.
Assim como acontece com a maioria das organizações que analisam o patch ao vivo do kernel, eles recorreram a ele para reduzir o tempo de inatividade do servidor nas atualizações do kernel–principalmente para o fluxo interminável de atualizações de segurança. A reinicialização completa dos servidores e os tempos de POST muitas vezes longos podem ser bastante problemáticos, enquanto com o patch ao vivo do kernel eles podem mover-se quase perfeitamente para o novo kernel quando tudo correr conforme o planejado.
Livepatching permite que as funções do kernel sejam corrigidas com segurança no local em tempo de execução. Além da infraestrutura de livepatch dentro do kernel, a Meta foi com o Kpatch da Red Hat, enquanto o SUSE continua a manter o kGraft e a Oracle também tem o Ksplice.
Meta: Kernel Live Patching em escala
Ao longo do caminho usando Linux live-patching em”milhões de servidores”, eles encontraram problemas para superar problemas de rastreamento e alguns problemas de desempenho foram encontrados. Os problemas de desempenho relatados são possíveis problemas de 1 a 2 segundos durante o patch ao vivo de maior latência de E/S e fsync, bem como taxas de retransmissão TCP mais altas.
Os engenheiros da Meta continuam trabalhando para lidar com casos de canto, melhor manuseio para casos como compilações de kernel otimizadas para PGO compiladas por Clang e outros itens para aumentar a robustez.
Aqueles curiosos sobre o patch ao vivo do kernel do Meta em escala podem ver o LPC 2022 slide deck e a gravação de vídeo incorporada abaixo.