RHEL 6.5 で /proc/sys/net/ipv4/neigh/unres_qlen の値が 3 ではなく 0 になる
Issue
- ネットワークの負荷が高いときに接続問題が発生します。この問題は、カーネルのバージョンと sysctl 設定に依存しているようです。以前のカーネルバージョン (
2.6.32-358.23.2.el6.x86_64) を使用している場合はこのような問題は発生しませんでしたが、新しいバージョン (2.6.32-431.3.1.el6.x86_64) を使用すると問題が発生します。2 つのカーネルバージョンを実行するシステムで sysctl -a 出力を比較すると、「問題が発生しない」バージョンでは、net.ipv4.neigh.<interface_name>.unres_qlenのコンテンツが 3 になっています。問題が発生しているシステムでは、以下のように、sysctl エントリが 0 となります。
$ net.ipv4.neigh.bond1/xxxx.unres_qlen = 3
---
$ net.ipv4.neigh.bond1/yyyy.unres_qlen = 0
$ net.ipv4.neigh.bond1/pppp.unres_qlen = 3
---
$ net.ipv4.neigh.bond1/qqqq.unres_qlen = 0
問題が発生しているシステムで unres_qlen が 0 に設定されていることが接続問題の原因になりますか? テストを行う予定ですが、リリースを遅らせている緊急の問題であるため、きちんとした回答がほしいです。
2.6.32-431.3.1.el6.x86_64 を実行しているカーネルで unres_qlen エントリが 0 になるのは、単にカーネルの変更によるためですか?
Environment
- Red Hat Enterprise Linux 6.5
- kernel-2.6.32-431.el6.x86_64
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.