カーネルパニックがハングした後、サーバーのログを表示するにはどうすればよいですか?


10

私は本番gentoo Linuxマシンを実行しています。最近、サーバーが同じ場所にある敷地内でハングし、そこにたどり着くと、サーバーがカーネルパニックハングのように見える状態でハングしていることに気付きました。ハードリブートでマシンを再起動しましたが、マシンがハングした理由に関する証拠の断片がどこにも見つからなかったことに失望しました。

ハードリブートを実行すると、メッセージ自体が失われるか、少なくともsyslog-ngまたはおそらくsysctlでエラーログを保存して、このような事故の発生を防ぐことができる設定があるのは本当ですか?将来は ?ところで、2.6.xカーネルを実行しています。

前もって感謝します。

回答:


5

カーネルパニックをログに記録するには、シリアルリンクを使用するよりもnetconsoleを使用する方が簡単です;)

ubuntu wikiには、他のLinuxフレーバーで使用できる便利なエントリがあります...たとえば、archlinuxで私を助けました。

netconsoleは起動時にも設定できることに注意してください。


4

通常、これらの状況では、リモートシリアルコンソールをセットアップし、コンソールに表示されるすべての内容をログに記録するようにしました。これを行うには、RS-232ケーブルを使用して、マシンのシリアルポートを別のマシンに接続します。シリアルポートが徐々に姿を消している今、これは少しトリッキーになっているかもしれませんが、ほとんどのサーバーはまだそれらを持っていると思います。

次に、その別のマシンでconserverを実行し、コンソールログを構成します。これは、コンソールにすべてを記録し、システムへの代替ログインパスを提供するための良い方法を提供します。

別のLinuxボックスをセットアップして管理したくない場合は、シリアルコンソールサーバーをインストールすることもできます。Avocent、Cyclades、Raritanなどのさまざまな企業がこれらのボックスを製造しており、2-48シリアルポートへのネットワークインターフェイスを提供しています。ただし、この種のことは、もちろん別のLinuxボックスをセットアップするよりも費用がかかります。


4
フィルの答え、ノートに加えて、多くの(ほとんど?)* NIXシステムは、パニックが発生した場合にスワップパーティションにカーネル/ RAMをダンプ、およびにダンプをコピーする/var/crashか、/var/adm/crashデバッガでそれを攻撃できるようにするために再起動時にパニックが発生した場所を確認します。ただし、シリアルコンソールは、サーバーが実行する前に最後に行ったことを確認できるので、依然として優れたオプションですpanic()
voretaq7 2011年

0

syslogメッセージを別のマシンに複製してみることができます。おそらくそれらすべてではなく、アラートとクリティカルのみであり、それらのキャッシュを無効にします。

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