私は15の同じLinux RH 4.7 64ビットサーバーを持っています。クラスタ化されたデータベースを実行します(クラスタはアプリケーションレベル)。時々(毎月)ランダムなボックス(同じではありませんが)が停止します。
箱にPingを送ることができ、Pingは正しく機能します。ボックスでsshを使用しようとすると、次の結果が表示されます。
ssh_exchange_identification: Connection closed by remote host
SSHが正しく設定されています。
サーバールームに行き、コンソールに直接ログインしようとするとAlt+を使用してコンソールを切り替えるFnことができ、ユーザー名を入力すると文字が表示されますが、を押した後はEnter何も起こりません。一度は8時間待っても何の変化もありませんでした。
すべてをリモートホストに書き込むようにsyslogを設定しましたが、このログには何もありません。コンピュータを再起動すると正常に動作します。ハードウェアテストを実行しました。すべてがうまくいきますが、ログには何もありません。機械はまたNAGIOSによって監視され、凍結する前に異常な負荷や活動はありませんでした。
アイデアが足りません。他に何をしたり確認したりできますか?
答え1
カーネルが何らかの方法でパニック状態に陥り、sshdがサーバーキーを送信できないようです。カーネルが固定されているため、ネットワークスタックは引き続き実行されますが、vfs 階層を使用できなくなる可能性があります。
RHEL4システムで同様の問題に直面したときnetdumpおよびnetconsoleサービス、クラッシュダンプ、カーネルパニック情報をキャプチャする専用のnetdumpおよびsyslogサーバーもあります。また、kernel.panic sysctlを10に設定しました。これにより、システムパニックが発生したときにそのシステムにカーネルトレースとメモリコピーが作成され、「crash」ユーティリティを使用してそれらを分析できます。
もちろん、ホスト用のシリアルコンソールを設定すると、コンソール出力を見て魔法のsysrqキーを押すことができるという利点があります。また、ネットワークを設定する意向があり、それをサポートするハードウェアがある場合は、IPMIを使用してリモートで電源をオフ、オン、再起動し、ハードウェアを照会できます。
(RHEL5にはクラッシュダンプがローカルに保存されることを除いて、kexec / kdumpに似た機能があることに言及する価値があります)
答え2
おそらくメモリが足りないと思います。システムは、いくつかの情報をどこで入手できるかを調べようとしながら、徐々に停止しています。あまりにも早く起きて、監視が捕まらないことがあります。リモートでメモリ使用量を記録するなどモニタリングを強化します。また、OOMメッセージのログを確認してください。
(トップレベルで実行するためにいくつかのSSHウィンドウを開きたい場合があります。)
答え3
私はシステムにリソースが不足しているため、SSHサーバー側に必要なプロセスを割り当てることができないようです。
実際のボトルネックは、プロセス不足やメモリ不足など、さまざまな場合があります。確かに知ることができる唯一の方法は、ログとコンソールを調べて、問題があるかどうかを確認することです。次に発生する可能性がある状況に備えて、事前に開始されたSSHジョブシナリオ(マシンごとに1つ)を設定できます。
の場合本物うまくいかない場合は、追加のプロセスを開始しなくても詳細を調査できるように、組み込みコマンドを使用して他のシェルを起動することは不可能になる可能性があるため、考慮することができます。また、「tail -f /var/log/*」も非常に便利です。
頑張ってください。
答え4
これが起こったことを見た唯一のケースは、KVMスイッチとキーボードショートカット(Alt + nなど)を使用してサーバーを切り替えたときです。これは毎回発生するわけではなく、サーバー切り替えの影響を受けるため、すぐには目立たない。 KVMスイッチ自体の物理ボタンを使用してサーバー間を切り替えると、ロックは発生しません。ショートカットを頻繁に使用する場合、サーバーは新しいログインを許可しないことがあります。既存のSSHセッションは影響を受けません。