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


15

Apenas como uma curiosidade; algo deu errado com uma máquina Linux, fazendo o sistema de arquivos raiz aparecer como "64Z". Alguns comandos funcionam, como top,, dfe kill, mas outros, como reboot"comando não encontrado" (como ele não consegue ler o sistema de arquivos raiz), chmodsurgem com uma falha de segmentação.

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

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


Esperemos que isto irá me salvar do problema da próxima vez ... [ cyberciti.biz/tips/reboot-linux-box-after-a-kernel-panic.html ]
gatoatigrado

Você viu que o problema com o root fs provocou um pânico no kernel?
Hanan N.

Respostas:


25

Tente reiniciar com a chave sysrq mágica:

echo b > /proc/sysrq-trigger

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


1
Obrigado! Isso reiniciou o sistema. (Infelizmente, o que aconteceu com o sistema de arquivos raiz parece irrecuperável ... triste).
gatoatigrado

5

Um RAC (cartão de acesso remoto) ou iLO (luzes apagadas integradas) ou MP (processador de gerenciamento) fornecerá meios de redefinir seu servidor.

Por exemplo, se você possui um Dell PowerEdge com uma placa RAC (chamada DRAC), é possível ligar e desligar o servidor via ssh:

ssh drac "racadm serveraction powercycle"

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

Também existe um padrão aberto para esse material: IPMI.


3

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

Veja aqui a documentação completa e instruções sobre como implementá-lo.


4
Que tal dar um resumo das instruções / resumo dos princípios em vez de apenas um link?
kizzx2

você precisa fazer um pouco de configuração para essa abordagem, mas definitivamente uma idéia interessante.
gatoatigrado

Isso parece interessante - mas não há um risco de segurança considerável envolvido? Permitir que um servidor seja reinicializado por meio de um único pacote ICMP parece um ataque de negação de serviço esperando para acontecer.
bgvaughan

@ bgvaughan: você está certo, e no link que forneci acima, existem os prós e os contras a respeito, e um deles é a segurança, embora você possa restringir quem pode fazer isso.
Hanan N.


1

Isso requer configuração prévia, mas se você está acostumado a travar uma máquina (por exemplo, porque está desenvolvendo um nível baixo), convém configurar um watchdog , ou seja, um kernel ou tarefas de usuário que a reinicialize automaticamente quando fica sem resposta. O Linux pode usar um watchdog de hardware se a sua placa-mãe tiver um, ou um watchdog de software caso contrário.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.