2008/06/20

snmpd: ioctl 35123 returned -1

CentOS5やRHEL5でsnmpdを起動すると、/var/log/messagesに以下の様なメッセージが大量に吐かれる場合がある。
Jun 18 17:31:48 hostname snmpd[4807]: ioctl 35123 returned -1
Jun 18 17:31:48 hostname last message repeated 7 times
この問題は、8文字より長いネットワークインターフェース名を使用している場合に発生する。通常、インターフェース名は、eth0の様な形式で8文字を超えることは無いが、VLANを使用する場合等に問題になる。

この問題は、Net-SNMPのversion 5.4.2で解決されるらしい(CentOS5は、5.3.1)が、現時点では正式リリースされていない(Net-SNMPのサイト)。従って、現状では8文字より長いインターフェース名を使わないのが現実解となる。

RHELやCentOSでのVLANの使用方法については、『VLANとXenを組合わせて使う・その2・VLAN設定』で解説した。インターフェース名が8文字以下に抑えるには、/etc/sysconfig/networkの中で、VLAN_NAME_TYPEにVLAN_PLUS_VIDもしくはVLAN_PLUS_VID_NO_PADを指定すればよい。
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID
VLAN IDは最大で4桁(1~4095)なので、ネットワークインターフェース名は最大で8文字となる。

また、『VLANとXenを組合わせて使う・その3・Xenネットワーク』で解説した通りに仮想ブリッジを構成すると、ブリッジ名が8文字を超える。Linuxにおいて、仮想ブリッジはネットワークインターフェースの一種なので、この問題が発生する。これについては、短いブリッジ名、例えばbr0900を使用することで回避可能。

2008/6/25追記:
上で、「例えばbr0900を使用することで回避可能」と書いているが、実際にはそう簡単には解決しない。解決編『続・snmpd: ioctl 35123 returned -1・その1』参照。

追記:
この問題は、RHBA-2008:0376-8で修正されている。
This update also fixes syslog messages produced by snmp under the following
conditions:

* when an interface name exceeds 8 characters in length.
従って、net-snmp-5.3.1-24以降にアップグレードすれば解決する…はずだが、CentOSのリポジトリにはまだない

2008/6/26追記:
CentOS公式リポジトリが更新された。『net-snmp-5.3.1-24 released』参照。

0 件のコメント: