Todo administrador de sistemas já passou por isso: o servidor Linux sofre um pico de I/O ou um vazamento de memória tão severo que o sistema congela completamente. O SSH para de responder, o console não aceita comandos e até o ping começa a falhar. Qual é o seu próximo passo? O temido "Hard Reset" (desligar no botão)?
Se você gerencia bancos de dados, sabe que um desligamento forçado pode corromper blocos de dados e destruir horas de trabalho. É exatamente para evitar essa catástrofe que o Kernel do Linux possui um recurso oculto e poderoso: o Magic SysRq.
O que é o Magic SysRq?
O Magic SysRq é um mecanismo de "fuga" (escape) embutido diretamente no Kernel do Linux. Ele permite que você envie comandos de baixo nível para o sistema operacional, ignorando completamente o espaço do usuário (user space). Mesmo que o sistema esteja travado e não consiga abrir um terminal, o Kernel ainda escutará esses comandos.
Como habilitar o recurso
Por motivos de segurança, muitas distribuições modernas vêm com esse recurso parcialmente desabilitado. Para ativá-lo totalmente de forma temporária, você pode usar o comando:
sysctl -w kernel.sysrq=1
Para torná-lo permanente, adicione kernel.sysrq = 1 ao arquivo /etc/sysctl.conf.
A Sequência Salva-Vidas: R E I S U B
Se você estiver fisicamente na frente do servidor (ou usando um console iLO/iDRAC), a combinação de teclas é Alt + SysRq + . A sequência mnemônica mais famosa para reiniciar um servidor travado com segurança é a palavra REISUB (muitos memorizam com a frase "Raising Elephants Is So Utterly Boring").
Você deve pressionar e segurar Alt + SysRq e, lentamente, digitar as letras, dando alguns segundos entre cada uma:
- R (Raw): Retoma o controle do teclado do servidor X (interface gráfica, se houver).
- E (tErminate): Envia o sinal SIGTERM para todos os processos (exceto o init/systemd), pedindo que eles fechem graciosamente.
- I (kIll): Envia o sinal SIGKILL para todos os processos que se recusaram a fechar no passo anterior.
- S (Sync): O passo mais importante para DBAs! Força a gravação de todos os dados que estão na memória RAM (cache) para os discos físicos.
- U (Unmount): Remonta todos os sistemas de arquivos em modo "Somente Leitura" (Read-Only), evitando corrupção durante o boot.
- B (Boot): Finalmente, reinicia a máquina imediatamente.
E se eu só tiver acesso via SSH?
Se o servidor estiver travado, mas você ainda tiver uma sessão SSH ou um script rodando como root que consiga executar comandos básicos, você não precisa do teclado físico. Você pode acionar o SysRq escrevendo diretamente no sistema de arquivos virtual do Kernel (o /proc).
Para forçar um "Sync" e depois um "Reboot" remotamente, você executaria:
echo s > /proc/sysrq-trigger echo b > /proc/sysrq-trigger
Recuperação de Desastres levada a sério
Conhecer os atalhos do Kernel pode ser a diferença entre um reinício rápido e a perda total de um banco de dados. Na AJMSolutions, nossa expertise em infraestrutura garante que seus sistemas tenham as melhores práticas de contingência e recuperação aplicadas em todos os níveis.
Nenhum comentário:
Postar um comentário