Trocando kernel remotamente no Debian

Publicado por Daniel Roque em 13/09/2013

[ Hits: 3.122 ]

 


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

Calibrando o Touchscreen pelo Kernel do celular ZTE-V821 Android

IceDove e Lightning - Resolvendo problema de incompatibilidade

Emulação de Impressora Jetdirect

Habilitar protocolos FTP e SMB no Thunar (XFCE)

Placa wireless USB Multilaser Atheros Communications, Inc. AR9271 802.11n no Linux

Leitura recomendada

pf-Kernel 3.17 - Acelere o Linux Mint, Ubuntu e Debian

Dell com controladora PERC x Debian com Kernel 2.6.xx

Debian - Instalando kernel 32 bits via DVD em máquinas com mais de 4GB de RAM

O jeito APT de resolver problemas

Como compilar o Kernel no Linux Mint [Vídeo]

  

Comentários
[1] Comentário enviado por izaias 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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts