CentOS VM で接続が閉じられています。最適なトラブルシューティング方法を教えてください。

CentOS VM で接続が閉じられています。最適なトラブルシューティング方法を教えてください。

私は 3 つの VM (CentOS6 上のアプリケーション サーバー 1 つと CentOS7 上のデータベース サーバー 2 つ) をセットアップしています。過去 1 ~ 2 週間、データベース サーバーへの接続時 (およびクラスター内の 2 つのサーバー間) にタイムアウトの問題が発生しています。

データベース プロバイダー (Couchbase) は、ログから接続が強制的に閉じられたことを確認できます。

WARN com.couchbase.endpoint - [com.couchbase.endpoint][UnexpectedEndpointDisconnectedEvent] The remote side disconnected the endpoint unexpectedly

ログには、次のようにパッケージがドロップされたことも表示されます。

[warn] Interface ‘ens32’ (removedip) failures: RX:2863 / TX:0 - Details:
- RX packets:308,593,167 errors:0
dropped:2,863 overruns:0 frame:0

VMはVMware ESXi(バージョン6.5)と同じホスト上でホストされています。すべきお互いに良好な関係を築くことができる。

では、ここ数週間で何が変わったのでしょうか?VM OSのセキュリティアップデートとデータベースサーバーのバージョン(6.6.0から7.0.0)です。データベースのアップグレードすべきではないネットワーク内で何かを変更するつもりはありませんが、明らかにこれが私が最初にデータベース プロバイダーに連絡した理由です...

犯人を見つけるためのアイデアがあれば、ぜひ教えてください :-)

編集:

Cameron の提案に従って、短いネットワーク トレースを実行し、それをローカル マシンの Wireshark にロードしました。次に、「エキスパート情報」を開くと、次の情報が表示されました。 Wireshark - 専門家の情報 アプリケーション サーバーの前に Nginx プロキシ サーバーがあることを述べておく必要があります。このサーバーは SSL を処理し、アプリケーション サーバーに到達する前に SSL を「解除」します。情報だけを見ると、2 つの「赤い」ブロックは外部からのリクエストに関連していると思われます。アプリケーション サーバーからデータベース サーバーへのリクエストではありません。

しかし、結果で何を探せばいいのかよくわかりません。もう少し長く実行する必要があると思いますが、外部からの情報なしで実行したほうがいいかもしれません。

編集2

座ってそれを見ている間に、実際に問題が発生しました... - そこで、すぐに tcpdump を再度開始しました。 そのため、結果には根本的な原因が含まれていない可能性がありますが、最初のものよりも関連性が高いはずです。 Wireshark - 専門家情報 (2) 私が拡張したブロックは、データベース サーバーの 1 つとの通信に関連しているようです.... :-)

しかし、これらの結果は何を意味するのでしょうか。また、どうすれば原因の発見に近づくことができるのでしょうか。

答え1

Server Fault へようこそ。

CentOS 6 は現在サポートが終了しているため、SSL/TLS の非互換性に悩まされている可能性が非常に高いです。もちろん、それを介して接続している場合です。RHEL6 を使用している間、SSL2 などがデフォルトで徐々に無効になったため、このようなイベントを何度も経験しました。Java のさまざまなポイント バージョンでも同様です (1.7 シリーズのいくつかのポイント リリースは特に問題がありました)。

ESXi で CentOS ワークロードを実行している場合、もう 1 つの考えられる原因は、エントロピーが不足している可能性があることです。これにより、ブロッキング動作が発生し、タイムアウトやクラスターの問題が発生し、接続が中断される可能性があります。Java 8 のどこかまでは、Java は特にこの問題の影響を受けやすかったです。/proc/sys/kernel/random/entropy_avail を時間の経過とともに確認することで、これが問題であるかどうかを判断できます。128 程度以下になり、回復しない場合は、エントロピー不足です。キーボードとマウスの操作がない VM ではよくあることです。この場合は、エントロピー収集デーモンを実行してみてください。

ところで、これらのログから、何か他のものがこれらの接続を強制的に閉じていると結論付けるつもりはありません。単に、一方の当事者が予期していなかったときに接続が閉じられただけです。これは、タイムアウト、例外、プロセス クラッシュなどが原因である可能性があります。

データベース サーバーがアップグレードされたとのことですが、これは CentOS 6 からの OS アップグレードですか? アプリケーションもアップグレードされましたか、それともリフト アンド シフトされましたか?

乾杯、キャメロン

関連情報