Recarregando um kernel “live” no CentOS / RHEL 6

5

Ao atualizar o pacote do kernel no CentOS ou no RHEL 6, é possível carregar o novo kernel sem reiniciar?

Meu instinto me diz que não, mas se fosse, seria útil - especialmente ao compilar aplicativos que exigem módulos do kernel (como o VirtualBox, por exemplo) que reclamam quando a fonte de kernel "errada" está disponível (por exemplo, o kernel em execução é 2.6.2-100, mas o atualizado é o 2.6.2-152).

    
por warren 18.01.2012 / 23:14

6 respostas

5

Não.

O kexec permitirá que você pule as etapas do firmware (BIOS / EFI) e do bootloader de uma reinicialização padrão, mas isso não é a mesma coisa (embora seja útil se você tiver uma placa RAID de carregamento lento).

O mais próximo que você pode obter é carregar e descarregar módulos do kernel.

    
por 18.01.2012 / 23:25
2

O Oracle Enterprise Linux pode fazer isso com o KSplice, mas você precisa ter um contrato do oracle para o ULN (suporte). Eu acredito que eles são cerca de US $ 120. link

    
por 05.02.2012 / 07:43
2

Sim para o RHEL. (Desde 22 de fevereiro de 2012)

Oracle oferece teste gratuito de atualizações inovadoras do Zero-Downtime do Ksplice para clientes da Red Hat

Para continuar após a avaliação de 30 dias, você precisa comprar o Pacote Oracle Linux Premier Support .

O preço começa em US $ 1.400 para sistemas com duas CPUs físicas e US $ 2.300 para sistemas com mais de duas CPUs físicas. Você pode configurar seus sistemas para instalar atualizações automaticamente assim que estiverem disponíveis.

Ela foi oferecida tanto para o RHEL quanto para o CentOS (assim como outros sistemas operacionais) antes de julho de 2011, quando a Oracle adquiriu o Ksplice. Clientes anteriores ainda são suportados.
Oracle compra Ksplice

O código do Ksplice foi criado e distribuído sob a licença GPL v2 e outras licenças de código aberto. Depois que a Oracle adquiriu o Ksplice e limitou a disponibilidade para o Oracle Linux, Ubuntu Desktop e Fedora, houve uma discussão sobre a manutenção de um fork do Centos no Ksplice: Ksplice e CentOS

Também se argumentou que a Ksplice estava violando a GPL: Ksplice viola a GPL

    
por 19.05.2012 / 23:59
2

Ninguém apontou para o kpatch. Não é necessário recarregar o kernel, mas sim o mesmo problema.

kpatch Tecnologia da Red Hat para aplicar correções ao kernel ativo.

With respect to granularity, kpatch works at the function level; put simply, old functions are replaced with new ones. It has four main components:

  • kpatch-build: a collection of tools which convert a source diff patch to a hot patch module. They work by compiling the kernel both with and without the source patch, comparing the binaries, and generating a hot patch module which includes new binary versions of the functions to be replaced.
  • hot patch module: a kernel module (.ko file) which includes the replacement functions and metadata about the original functions.
  • kpatch core module: a kernel module (.ko file) which provides an interface for the hot patch modules to register new functions for replacement. It uses the kernel ftrace subsystem to hook into the original function’s mcount call instruction, so that a call to the original function is redirected to the replacement function.
  • kpatch utility: a command-line tool which allows a user to manage a collection of hot patch modules. One or more hot patch modules may be configured to load at boot time, so that a system can remain patched even after a reboot into the same version of the kernel.

Suportado pelo RHEL 7

    
por 03.10.2015 / 21:37
1

KExec afirma que você pode fazer exatamente isso.

    
por 18.01.2012 / 23:15
1

Na verdade, acabei de reler esta postagem do Blog da Oracle:

link

Portanto, contanto que você use o kernel UEK, você pode fazer a reinicialização rápida do Kexec em OEL5 e OEL6. Isso não está relacionado ao ksplice (que é sobre não reinicializar em primeiro lugar!) E não precisa de uma licença ou qualquer coisa para usar.

    
por 01.05.2015 / 13:36