Trocando kernel remotamente no Debian

Publicado por Daniel Roque em 13/09/2013

[ Hits: 4.169 ]

 


Trocando kernel remotamente no Debian



Dica rápida para os colegas que sofrem para solucionar problemas complexos remotamente.

Recentemente, tive que trocar remotamente o kernel de um servidor GNU/Linux, só que todos que já trocaram alguma vez o kernel, sabem que nem sempre as coisas ocorrem como previsto, pode ocorrer um kernel panic ou coisas do tipo.

Vamos à estratégia para contornar a situação. Supomos então:
  • Que você saiba instalar o kernel;
  • Possua acesso via SSH ao servidor e você saiba como acessar;
  • Bootloader: LILO;
  • Kernel atual: 2.6.XX;
  • Kernel novo: 2.6.ZZ;
  • Boot padrão: 2.6.XX;
  • Queremos trocar do kernel 2.6.XX para o kernel 2.6.ZZ.

Passos a seguir:

1. Instalaremos o kernel 2.6.ZZ e configuraremos o LILO para ter a opção do kernel 2.6.ZZ.

Quando eu digitar lilo, deve aparecer algo parecido com as 2 linhas abaixo com o "*" (asterisco)) no 2.6.XX, que já é a opção de boot atual, ou seja, somente adicionamos a opção 2.6.ZZ:

# lilo

2.6.XX + *
2.6.ZZ +

2. Vamos configurar agora, para o nosso próximo boot e somente o próximo boot ocorrer pelo kernel 2.6.ZZ:

# lilo -R 2.6.ZZ

3. Legal, e se a máquina travar? Bom, para isso vamos configurar para o servidor rebootar caso ocorra kernel panic.

Edite o arquivo "/etc/sysctl.conf":

# mcedit /etc/sysctl.conf

E adicione ao final, a opção:

kernel.panic=5

O que faz com que a máquina reinicie 5 segundos após um kernel panic.

4. Legal, se acontecer um kernel panic, tudo bem. Mas, e se a placa de rede não subir?

Para contornar, faremos o seguinte:

Vamos criar um arquivo vazio chamado "/rebootnow":

# touch /rebootnow

Agora, dentro do "/etc/rc.local", vamos adicionar uma verificação que vai ocorrer 5 minutos após o servidor ter reiniciado e, caso este arquivo exista, o servidor vai rebootar.

Dentro de "/etc/rc.local", adicione:

(sleep 300; [ -e /rebootnow ] && reboot ) &

Troque os 300, se achar que 5 minutos é muito ou pouco. Em geral, eu utilizo mesmo é 3 minutos, no caso 180.

5. Legal, precavido de quase tudo. Agora digite reboot e fique pingando o servidor para ver se ele volta.

Assim que voltar, se conseguir pegá-lo com o novo kernel, remova o arquivo "/rebootnow" para evitar que ele reboote, caso ocorra kernel panic ou não consiga pegá-lo novamente.

Na pior das hipóteses, em 7 minutos ele deve voltar do mesmo jeito que estava antes.

* Importante: caso consiga pegá-lo, altere o LILO para ele bootar pelo novo kernel 2.6.ZZ.


Boa sorte!

Outras dicas deste autor

Transparência do VirtualBox com o Compiz

e4rat - Acelerando o Boot em Partições EXT4

Instalação do software Intelbras de visualização de câmeras (SIM Plus)

Colocar um descanso de tela como plano de fundo da área de trabalho (XFCE)

Configurando Timezone no Wine - Padrão do Brasil

Leitura recomendada

Kernel Liquorix 3.19.3 - acelere o Ubuntu, Debian e Linux Mint

Resumo: Compilação do Kernel

Problemas com kernel 2.6.10 no Slackware 10

VirtualBox - Erro: Kernel driver not installed (rc=-1908) [Resolvido]

CD's do Ubuntu de graça!

  

Comentários
[1] Comentário enviado por removido em 13/09/2013 - 01:04h

Que pinguim mais ousado!

Rapaz, parabéns!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts