Qualquer forma de reiniciar uma máquina Linux via SSH se o sistema de arquivos raiz não estiver funcionando?

14

Apenas como curiosidade; algo deu errado com uma máquina Linux, fazendo com que o sistema de arquivos raiz aparecesse como "64Z". Alguns comandos funcionam, como top , df e kill , mas outros como reboot aparecem com "comando não encontrado" (já que não é possível ler o sistema de arquivos raiz) e chmod vem com uma falha de segmentação.

Existe alguma maneira de reiniciar o sistema, ou seja, sem o programa reboot ? Eu tentei kill -PWR 1 (enviando SIGPWR para init), mas isso não parece fazer nada.

É principalmente uma curiosidade acadêmica. O colega de laboratório que estava fazendo o trabalho de banco de dados grande que causou a falha estará reiniciando fisicamente a máquina em breve.

    
por gatoatigrado 27.12.2011 / 09:11

5 respostas

23

Tente reiniciar com a chave mágica sysrq:

echo b > /proc/sysrq-trigger

Para mais informações, leia wiki ou documentação do kernel .

    
por 27.12.2011 / 09:27
5

Um RAC (cartão de acesso remoto) ou o iLO (luzes de presença integradas) ou MP (processador de gerenciamento) fornecerão meios para redefinir seu servidor.

Por exemplo, se você tiver um Dell PowerEdge com uma placa RAC (chamada DRAC), poderá ligar e desligar o servidor via ssh:

ssh drac "racadm serveraction powercycle"

A outra opção é usar o Web-GUI para RAC / iLO e fazer o mesmo lá.

Existe um padrão aberto para essas coisas também: IPMI.

    
por 27.12.2011 / 23:13
3

Ainda mais interessante do que o @Rush answer, é a capacidade de reiniciar (e muito mais) o sistema, mesmo que o sistema não esteja respondendo ao teclado. Mas tem que ser responder aos pacotes de ping (ICMP).

Veja aqui para obter a documentação completa & instruções sobre como implementar isso.

    
por 27.12.2011 / 11:02
2

A maneira mais fácil é geralmente apenas alterar o nível de execução.

No Linux, você pode fazer:

Prompt# init 6

Mais informações aqui: link

    
por 28.12.2011 / 00:40
1

Isso requer configuração prévia, mas se você está acostumado a travar uma máquina (por exemplo, porque você está fazendo um desenvolvimento de baixo nível), você pode querer configurar um watchdog , isto é, um kernel ou tarefas de usuário que o reinicializam automaticamente quando não respondem. O Linux pode usar um watchdog de hardware se a sua placa-mãe tiver um, ou um watchdog de software de outra forma.

    
por 28.12.2011 / 00:26

Tags