web-dev-qa-db-ja.com

サーバー上のすべてのサービスがダウンしても、pingに応答する原因は何ですか?と理解する方法

サーバーが完全にダウンすることは、非常に数日以内にすでに2回発生しています。つまり、http、ssh、ftp、dns、smtp、基本的にすべてのサービスが、サーバーの電源がオフになっているかのように応答を停止します。ただし、pingに応答する場合を除きます。 、これが私を最も悩ませているものです。

短いバーストでサーバーに大きな負荷(CPUとメモリ)を引き起こすいくつかのphpスクリプトがあり、少数のユーザーグループによって使用されますが、通常、サーバーはこれらのバーストに対して完全に「存続」し、サーバーがダウンしたときにこのような使用量のピークと一致することはありません(関連性がないと言っているわけではありませんが、その直後には発生しません)。

これらのクラッシュの最終的な原因を魔法のように教えてくれるようにお願いしているわけではありません。私の質問は、これらのサービスがすべて同時に停止する可能性のある単一のプロセスがあるかどうかです。面白いことに、pingを除くすべてのネットワークサービスがダウンします。サーバーのCPUが100%消費されている場合、サーバーはpingにも応答しません。 (たとえば)壊れたphpスクリプトが原因でApacheがクラッシュした場合、それはhttpのみに影響し、sshやdnsなどには影響しません。

私のOSはCentOS5.6です

最も重要なことは、サーバーをハードリブートした後、どのシステムログを確認する必要があるかということです。/var/log/messagesは、疑わしいものを明らかにしません。

9
matteo

tl; drそれでもpingに応答することは予想される動作です、メモリ使用量を確認してください)

ICMPエコー要求(つまり、ping)は、他の依存関係なしに、カーネル内ネットワークスタックによって処理されます。

カーネルは「メモリ常駐」として知られています。つまり、カーネルは常にRAMに保持され、通常のアプリケーションのようにディスクにスワップすることはできません。

これは、物理メモリが不足している場合、アプリケーションはディスクにスワップされますが、カーネルはそのままの状態のままであることを意味します。物理メモリとスワップメモリ​​の両方がいっぱいになると(そしてシステムがプログラムを管理できなくなると)、マシンはフォールオーバーします。ただし、a)カーネルはまだメモリ内にあり、b)他の助けを借りずにping要求に応答できるため、システムはすべてが存在しているにもかかわらずpingに応答し続けます。デッド。

あなたの問題に関して、私はメモリの問題を強く疑っています。 「sysstat」をインストールし、「sar」コマンドを使用して、memory/cpu/load/io loadなどのログを表示します。クラッシュ時には、100%物理とスワップの両方が使用されていることがわかります。

dmesgまたは/ var/log/messagesも検討しますOOM-killer(メモリ不足キラー)が呼び出されている兆候がある場合。これはカーネルの緊急システムであり、メモリが使い果たされた場合にプロセスの強制終了を開始します。その有効性は、どのプロセスが強制終了されているかに大きく依存します。メモリを消費する単一のプロセスは効率的に強制終了され、メモリが解放されますが、ApacheベースのWebサイトは、子プロセスが強制終了されるとすぐに置換プロセスを生成します。

8
Coops

通常、これはI/Oまたはディスクサブシステムの問題です。多くの場合、これは非常に高いシステム負荷平均と組み合わされます。たとえば、下のグラフに詳細が示されているシステムは、スクリプトが正常に実行されず、大量のファイルがロックされ、4CPUシステムで負荷が36 ...に上昇すると、応答しなくなりました(ただしping可能でした)。

enter image description here

RAMで実行されており、ディスクアクセスを必要としないサービスは引き続き実行されます...したがって、ネットワークスタック(ping)は稼働していますが、ディスクアクセスが必要な場合、他のサービスは停止します。 ..キーが参照されている場合、またはパスワードの検索が必要な場合のSSH。負荷平均が30程度に達すると、SMTPがシャットダウンする傾向があります。

システムがこの状態になったら、サーバーのIPに対してリモートnmapを試して、何が起きているかを確認します。

これがディスクまたはストレージの問題である場合、ロギングはおそらく機能しません...

ハードウェアのセットアップについて説明してください。これは仮想マシンですか?ストレージレイアウトとは何ですか?

ロギングだけでなく、システムパフォーマンスをグラフ化して、これがいつ発生するかを理解できるかどうかを確認する必要があります。これが特定の活動に関連しているかどうかを確認してください。

5
ewwhite