Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Projeto Soft...
Tela cheia Sugerir um artigo

Marvin Lemos: Utilizando SysRq em Sistemas Debian pela rede por meio do sysrqd

20 de Julho de 2011, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 335 vezes

Creio que muitos usuários leigos já se indagaram sobre a funcionalidade da tecla (Print Screen | Sysrq) em seus teclados. SysRqsignifica System Request, que são funções mapeadas em atalhos de teclado pelo Kernel.

É possível usá-las pressionando a combinação de teclas Alt + SysRq + [tecla], que permite executar comandos comuns do SysRq, tais como: sync, umount, reboot, poweroff, sak, term, etc., onde [tecla] pode ser s (sync), k (SAK), 0-9 (nível de log), b (reboot), entre outras.

sysrqd é um pequeno daemon que visa oferecer o controle do sistema com SysRq pela rede.

A grande utilidade dessas funções são em situações em que o sistema está com carga de trabalho (processamento e memória) muito alta ou até mesmo inoperante. Já sysrqd é bastante útil quando não se está na frente do servidor e seja necessário realizar alguma intervenção.

Eis uma relação das funções que o SysRq oferece:

  • r – Tira o teclado e o mouse do controle do servidor X. Isso pode ser bem viável quando o servidor; X estiver travado, pode-se mudar para um terminal e matar o X (ou ainda, verificar os logs);
  • k – Mata todos os processos que estão rodando no momento. Não é aconselhável fazer isso no terminal onde está rodando o X (tty7). A interface gráfica iria parar;
  • b – Imediatamente reinicia o sistema, sem desmontar partições ou realizar sincronização;
  • o – Desligamento via APM;
  • s – Realiza a sincronização de todo o sistema de arquivos montado, ou seja, escreve todos os dados em memória virtual para a física;
  • u – Remonta todo sistema de arquivos que foi montado para read-only;
  • t – Mostra uma lista de tarefas atuais e suas informações para o console;
  • m – Envia todas as informações atuais da memória para o terminal;
  • p – Imprimi os conteúdos atuais dos registradores e flags para o console;
  • 0-9 – Define o nível de log do console, controlando que mensagens do kernel serão impressas para no console;
  • e – Envia um SIGTERM para todos os processos fazendo com que se preparem para o shutdown ou reboot, exceto o init;
  • i – Envia um SIGTERM para todos os processos (Quem não obdeceu ao Alt + SysRq + e toma um kill -9), exceto o init;
  • l – Envia um sinal de SIGKILL para todos os processos, inclusive o init;
  • f – Executará a chamada de sistema oom_kill para matar o processo que está usando mais memória;
  • h – Usado para mostrar a ajuda. Entretanto, qualquer outra tecla não-listada acima irá exibir a ajuda.

Para habilitar as funções de SysRq, é necessário ativá-la no kernel:

  # echo "1" > /proc/sys/kernel/sysrq

 

Para persistir essa informação mesmo após um reinício da máquina, adiciona-se a seguinte linha ao /etc/sysctl.conf:

  kernel.sysrq = 1

 

Instalação do Sysrqd em Sistemas Debian

  # apt-get install sysrqd

 

Uso do sysrqd

A conexão com o sysrqd é protegido por senha, mas não cifrada. Configurando a senha:

  # echo "senha_do_servico"> /etc/sysrqd.secret

  # chmod 0600 /etc/sysrqd.secret

 

Agora, para testar, basta dar um telnet na porta 4094/tcp.

  $ telnet localhost 4094
  Trying 127.0.0.1 ...
  Connected to localhost.
  Escape character is '^]'.
  sysrqd password: senha_do_servico
  sysrq> s
  sysrq> u
  sysrq> q



Fonte: http://www.dicas-l.com.br/dicas-l/20110720.php


Fonte: http://www.marvinlemos.net/?p=336

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.