Un modo per riavviare una macchina Linux tramite SSH se il filesystem di root non funziona?


15

Proprio come una curiosità; qualcosa è andato storto con una macchina Linux, facendo apparire il file system di root come "64Z". Un lavoro alcuni comandi, come top, dfe kill, ma altri come rebootvenire con "command not found" (in quanto non in grado di leggere il filesystem root), e chmodviene fornito con un segmentation fault.

Esiste un modo per riavviare il sistema comunque, cioè senza il rebootprogramma? Ho provato kill -PWR 1(inviando SIGPWR a init), ma questo non sembrava fare nulla.

È principalmente una curiosità accademica. Il compagno di laboratorio che stava facendo tutto il lavoro di database di grandi dimensioni che ha causato l'errore riavvierà fisicamente la macchina presto.


Spero che questo mi salverà dal problema la prossima volta ... [ cyberciti.biz/tips/reboot-linux-box-after-a-kernel-panic.html ]
gatoatigrado,

Hai visto che il problema con il root fs ha scatenato il panico del kernel?
Hanan N.

Risposte:


25

Prova a riavviare con il tasto sysrq magico:

echo b > /proc/sysrq-trigger

Per maggiori informazioni leggi la documentazione wiki o del kernel .


1
Grazie! Ciò ha riavviato il sistema. (Sfortunatamente, qualunque cosa sia successa al filesystem di root sembra irrecuperabile ... triste).
Gatoatigrado,

5

Un RAC (scheda di accesso remoto) o iLO (luci integrate) o MP (processore di gestione) forniranno i mezzi per ripristinare il server.

Ad esempio, se si dispone di un Dell PowerEdge con una scheda RAC (chiamata DRAC), è possibile spegnere e riaccendere il server tramite ssh:

ssh drac "racadm serveraction powercycle"

L'altra opzione è usare la GUI Web per RAC / iLO e fare lo stesso lì.

Esiste uno standard aperto anche per queste cose: IPMI.


3

Ancora più interessante della risposta di @Rush, è la possibilità di riavviare (e molto altro) il sistema, anche se il sistema non risponde affatto alla tastiera. Ma deve rispondere ai pacchetti ping (ICMP).

Vedi qui per la documentazione completa e le istruzioni su come implementarlo.


4
Che ne dici di dare effettivamente una breve istruzione / sintesi dei principi anziché solo un link?
kizzx2,

devi fare un po 'di configurazione per quell'approccio, ma sicuramente un'idea chiara.
gatoatigrado,

Sembra interessante - ma non c'è un notevole rischio per la sicurezza? Consentire il riavvio di un server tramite un singolo pacchetto ICMP sembra un attacco di tipo Denial of Service in attesa di verificarsi.
bgvaughan,

@bgvaughan: hai ragione, e al link che ho fornito sopra, ci sono i pro ei contro a riguardo, e uno di questi è la sicurezza, anche se puoi limitare chi può farlo.
Hanan N.


1

Ciò richiede una configurazione precedente, ma se sei abituato a mandare in crash un computer (ad es. Perché stai eseguendo uno sviluppo di basso livello su di esso), potresti voler impostare un watchdog , ovvero un kernel o attività utente che lo riavvia automaticamente quando non risponde. Linux può usare un watchdog hardware se la scheda madre ne ha uno o un watchdog software in caso contrario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.