2012年9月8日土曜日

(FreeBSD) igb5: Could not setup receive structures

あるサーバに、FreeBSD 9.1-RC1をインストールしてみました。



LANがたくさんついていて、igbで認識されるネットワークインターフェースがたくさん出てくるのですが、なぜか2個までしか使えません。3個めのインターフェイスをupさせると、動いているように見えて、実際には通信できません。



最初まったく気がついていませんでしたが、こんなエラーメッセージがコンソールに出ていました。

igb5: link state changed to DOWN
igb5: Could not setup receive structures

よくわかっていませんが、いったんdownさせてからupさせるらしいので、1行目は関係なさそう。



Could not setup receive structuresをキーワードに、googleで検索してみました。
以前からある有名な(?)症状らしく、バッファ容量を計算するところが、今時のマルチプロセッサ構成にあっていないのか(?斜め読みなのでよく理解していない)、自動計算される値では足りないらしいです。



このあたりを参考にしました。



http://lists.freebsd.org/pipermail/freebsd-stable/2010-October/059533.html



http://redmine.pfsense.org/issues/1221



http://forums.freenas.org/archive/index.php/t-3122.html



とりあえず、/etc/sysctl.conf でパラメータをチューニングしてやれば動くようになる・・・らしいことがわかりました。



デフォルトではこんな感じになっているので



kern.ipc.nmbjumbo16: 3200
kern.ipc.nmbjumbo9: 6400
kern.ipc.nmbjumbop: 12800
kern.ipc.nmbclusters: 25600



/etc/sysctl.conf でこんな風に指定してみました。



kern.ipc.nmbjumbo16=32000
kern.ipc.nmbjumbo9=64000
kern.ipc.nmbjumbop=262144
kern.ipc.nmbclusters=262144



全部のインターフェイスはまだ使っていませんが、いまのところ、動いているみたいです。





20120907



0 件のコメント:

コメントを投稿