De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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?
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários