ルートファイルシステムが機能していない場合、SSH経由でLinuxマシンを再起動する方法はありますか?


15

好奇心のように。Linuxマシンで何か問題が発生し、ルートファイルシステムが「64Z」として表示されました。いくつかのコマンドの作業などtopdfkillのような、他はreboot(それがルートファイルシステムを読み取ることができないので)「コマンドが見つかりません」と出てくる、とchmodセグメンテーションフォールトを思い付きます。

とにかく、つまりrebootプログラムなしでシステムを再起動する方法はありますか?試しましたkill -PWR 1(SIGPWRをinitに送信)が、これは何もしないようでした。

それは主に学問的な好奇心です。障害の原因となった大規模なデータベース作業を行っていたラボメートは、すぐに物理的にマシンを再起動します。


うまくいけば、この問題から、次の時間が私を保存します... [ cyberciti.biz/tips/reboot-linux-box-after-a-kernel-panic.html ]
gatoatigrado

ルートfsの問題がカーネルパニックを引き起こしたことがわかりましたか?
ハナンN.

回答:


25

マジックsysrqキーで再起動してみてください:

echo b > /proc/sysrq-trigger

詳細については、wikiまたはカーネルのドキュメントを参照してください。


1
ありがとう!これによりシステムが再起動しました。(残念ながら、ルートファイルシステムに何が起こっても、回復不能なようです...悲しいです)。
gatoatigrado

5

RAC(リモートアクセスカード)またはiLO(統合ライトアウト)またはMP(管理プロセッサー)は、サーバーをリセットする手段を提供します。

たとえば、RACカード(DRACと呼ばれる)を搭載したDell PowerEdgeがある場合、sshを介してサーバーの電源を再投入できます。

ssh drac "racadm serveraction powercycle"

もう1つのオプションは、RAC / iLOのWeb-GUIを使用し、そこで同じことを行うことです。

このようなもののためのオープンスタンダードもあります:IPMI。


3

@Rushが答えるよりもさらに興味深いのは、システムがキーボードにまったく応答していない場合でも、システムを再起動(およびそれ以上)できることです。ただし、ping(ICMP)パケットに応答する必要があります。

完全なドキュメントとその実装方法については、こちらをご覧ください。


4
リンクだけではなく、原則の簡単な説明/概要を実際に教えてください。
kizzx2

そのアプローチのために少しセットアップする必要がありますが、間違いなくきちんとしたアイデアです。
gatoatigrado

それは面白そうに聞こえますが、かなりのセキュリティリスクが関係していませんか?単一のICMPパケットを介してサーバーの再起動を許可することは、サービス拒否攻撃が発生するのを待っているように見えます。
bgvaughan

@bgvaughan:あなたは正しいです、そして私が上で提供したリンクで、それについて賛否両論があります、そして、それらの1つはセキュリティです、あなたがそれをすることができる人を制限することができます。
ハナンN.

2

最も簡単な方法は、通常、ランレベルを変更することです。

Linuxでは、次のことができます。

Prompt# init 6

詳細はこちら:http : //linux.about.com/od/itl_guide/a/gdeitl36t04.htm


1
これはこの状況では機能しません。initコマンドは/ sbin(少なくともubuntu)にあるため、ファイルシステムへのアクセスが必要です。
晴れ

1

これには事前のセットアップが必要ですが、マシンのクラッシュに慣れている場合(たとえば、低レベルの開発を行っているため)、ウォッチドッグをセットアップすることができます。つまり、次の場合に自動的にリブートするカーネルまたはユーザータスク応答しなくなります。Linuxは、マザーボードにハードウェアウォッチドッグがある場合はそれを使用でき、そうでない場合はソフトウェアウォッチドッグを使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.