Como os servidores Linux atualizam seu kernel sem reiniciar

13

De acordo com minhas informações, a atualização do kernel do linux precisa de uma reinicialização. Reiniciar um computador doméstico não é um problema, mas não acho que seja a mesma coisa para um servidor.

Os servidores que usam distribuições Linux são reinicializados após a atualização do kernel ou usam algum tipo de truque para evitar a inicialização?

Sidahmed
fonte

Respostas:

8

Uma alteração no kernel deve ser reiniciada. Você pode instalar o kernel e, em alguns casos, pode inserir e remover módulos de diferentes kernels, mas eu não o aconselharia.

Um servidor pode ser reinicializado e o serviço não será afetado se o servidor fizer parte de um cluster. Você também pode criar clusters de firewall / roteador, para que não haja ponto central de falha (SPOF). Para fazer isso, use o que é chamado de IP virtual (VIP) compartilhado em mais de um sistema.

Se você quiser experimentar essa idéia, poderá usar o QEMU ou o VirtualBox e outros para criar redes virtuais.

Ed Neville
fonte
8
E os patches ao vivo do kernel?
jiggunjer
A questão não era específica para pequenas correções, mas menciona 'atualização', que considerarei como atualizações principais da versão. Portanto, para 'atualizar' de 2.6 -> 3.0, eu recomendaria retirar a máquina da carga antes de iniciar o trabalho de atualização. Após as alterações no kernel, eu reiniciaria. Como é provável que o grub / lilo precise de alterações, eu sugeriria uma reinicialização de cortesia de qualquer maneira.
Ed Neville
15

Sim, eles fazem uma "reinicialização", mas podem fazer uma chamada do sistema kexec_load para pré-carregar o novo kernel.

Existe a possibilidade de corrigir também o kernel em execução, redhat kpatch por exemplo. Todas as coisas que eu sei disso não podem alterar as estruturas de dados.

É claro que as máquinas lisp costumavam consertar seus kernels em execução no século passado.

Icaro
fonte
1
Também há baunilha kexec, para inicializar o novo kernel imediatamente. Dependendo da sua definição de "reinicialização", isso pode se qualificar como uma atualização do kernel não reinicializada.
227 Patrick Patrick