você está aqui: Home  → Arquivo de Mensagens

Reiniciando um servidor Linux a partir do diretório /proc.

Colaboração: Jansen Sena

Data de Publicação: 12 de Março de 2009

Dia desses, procurando por informações a respeito de métodos de reinicialização de um servidor para casos de emergência, encontrei um pequeno e interessante artigo publicado no site da Linux Journal, a respeito de uma maneira simples, entretanto, útil, de reiniciar um sistema GNU/Linux a partir do diretório /proc. Reproduzo, então, alguns comentários a respeito desse que pode ser um interessante recurso para um sysadmin GNU/Linux guardar nas mangas!

Mas, primeiramente, pra que reiniciar um sistema por meio do diretório /proc? Bem, suponha que você precise reiniciar um servidor e ao executar o tradicional comando reboot, você receba a seguinte mensagem:

  root@scadufax:~# reboot
  bash: /sbin/reboot: Input/output error

Sem dar muita atenção pra mensagem de erro, sua próxima alternativa é utilizar o comando shutdown:

  root@scadufax:~# shutdown -r now
  bash: /sbin/reboot: Input/output error

Ainda sem procurar investigar em detalhes o problema, ainda lhe resta uma última alternativa por meio do comando init. Mas não adianta: você recebe a mesma mensagem:

  root@scadufax:~# init 6
  bash: /sbin/reboot: Input/output error

O que está acontecendo? Bem, o reboot, como vários outros utilitários de um sistema GNU/Linux, fica no sistema de arquivos que pode, por sua vez, em decorrência de problemas de hardware, por exemplo, apresentar problemas. Com isso, o kernel não consegue recuperar o conteúdo desses comandos para poder executá-los.

Antes de partir para o desespero e tentar um "hard" reboot, pressionando o botão de energia de seu servidor, existe uma chance que consiste em utilizar o Magic SysRQ Key, habilitado através da configuração da variável CONFIG_MAGIC_SYSRQ no momento da compilação do kernel de seu sistema. Felizmente, para a maioria daqueles que não possuem tanta intimidade com o processo de compilação do núcleo do sistema, esse opção já vem habilitada no kernel padrão da grande maioria das distribuições GNU/Linux.

O Magic SysRQ Key permite que sejam enviados comandos diretamente para o kernel por meio do sistema virtual de arquivos /proc. O primeiro passo para utilizá-lo, entretanto, consiste em certificar-se de que esse recurso encontra-se compilado em seu kernel. Para isso, basta consultar o arquivo que guarda as opções de compilação do seu kernel corrente para verificar se a opção CONFIG_MAGIC_SYSRQ foi utilizada, conforme o exemplo mostrado a seguir:

  root@scadufax:~# grep CONFIG_MAGIC_SYSRQ /boot/config-2.6.24-19-generic
  CONFIG_MAGIC_SYSRQ=y

Caso o recurso esteja presente, o próximo passo é habilitar o recurso para que o kernel esteja apto a receber comandos por meio do Magic SysRQ Key:

  root@scadufax:~# echo 1 > /proc/sys/kernel/sysrq

Enfim, para reiniciar o seu sistema, o próximo passo consiste simplesmente em encaminhar o caracter b para o arquivo /proc/sysrq-trigger:

  root@scadufax:~# echo "b" > /proc/sysrq-trigger

Simples, não?

Em breve, publicarei mais alguns "truques" do /proc/sysrq-trigger?



Veja a relação completa dos artigos de Jansen Sena

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script