DELL PowerConnect 5324を7, 8年ほど前から使っている。
なぜか、当時から64bit counterでちゃんとデータがとれずに困っていたが、アクセス回線が100Mbpsでありかつ、あまり負荷が無かったため、データのとれる32bit counter で値をとっていた。
今回、Bフレッツファミリー100が終了に伴いフレッツネクストファミリー隼へ移行することになり、現在2回線。
負荷試験でいじめるにしても、ifstatなどでリアルタイムモニタをするしかなく、グラフで値が取得出来なかったので、まじめに原因を調べた。最初疑ったのは、Cactiの環境の問題かと思いきや、どうやら違う。
tcpdumpをしながら、64bit counterでどのMIBを叩くかなど確認しながら行き着いた結果は、スイッチが原因。
32bit counter時
.1.3.6.1.2.1.2.2.1.16 IF-MIB::ifInOctets
64bit counter時
1.3.6.1.2.1.31.1.1.1.6 IF-MIB::ifHCInOctets
試しにAlaxalAのスイッチで実験。これが正常。
$ snmpwalk -v2c -c xxx 192.168.80.xx .1.3.6.1.2.1.2.2.1.16 IF-MIB::ifOutOctets.1 = Counter32: 1516 IF-MIB::ifOutOctets.3 = Counter32: 0 IF-MIB::ifOutOctets.10 = Counter32: 1487112571 IF-MIB::ifOutOctets.11 = Counter32: 2456434929 IF-MIB::ifOutOctets.12 = Counter32: 3346849069 IF-MIB::ifOutOctets.13 = Counter32: 4132961252 IF-MIB::ifOutOctets.14 = Counter32: 4194669011 IF-MIB::ifOutOctets.15 = Counter32: 3774590644 IF-MIB::ifOutOctets.16 = Counter32: 3056671465 IF-MIB::ifOutOctets.17 = Counter32: 3530654755 IF-MIB::ifOutOctets.18 = Counter32: 3422319366 IF-MIB::ifOutOctets.19 = Counter32: 3198503144 IF-MIB::ifOutOctets.20 = Counter32: 2603936208 IF-MIB::ifOutOctets.21 = Counter32: 2188571600 IF-MIB::ifOutOctets.22 = Counter32: 1012100246 IF-MIB::ifOutOctets.23 = Counter32: 4262057869 IF-MIB::ifOutOctets.24 = Counter32: 306827950 $ snmpwalk -v2c -c xxx 192.168.80.xx 1.3.6.1.2.1.31.1.1.1.6 IF-MIB::ifHCInOctets.3 = Counter64: 0 IF-MIB::ifHCInOctets.10 = Counter64: 25569802183641 IF-MIB::ifHCInOctets.11 = Counter64: 254264225399 IF-MIB::ifHCInOctets.12 = Counter64: 1731910044921 IF-MIB::ifHCInOctets.13 = Counter64: 102135098057 IF-MIB::ifHCInOctets.14 = Counter64: 29005642362472 IF-MIB::ifHCInOctets.15 = Counter64: 7648801206204 IF-MIB::ifHCInOctets.16 = Counter64: 6830172184232 IF-MIB::ifHCInOctets.17 = Counter64: 15829343 IF-MIB::ifHCInOctets.18 = Counter64: 210465854534 IF-MIB::ifHCInOctets.19 = Counter64: 1865576387531 IF-MIB::ifHCInOctets.20 = Counter64: 2153968856761 IF-MIB::ifHCInOctets.21 = Counter64: 1120854776316 IF-MIB::ifHCInOctets.22 = Counter64: 1900766547462 IF-MIB::ifHCInOctets.23 = Counter64: 154432887612 IF-MIB::ifHCInOctets.24 = Counter64: 252176593
問題のあったDELLのスイッチではどうだろうか。
$ snmpwalk -v2c -c xxx 192.168.0.xx .1.3.6.1.2.1.2.2.1.16 IF-MIB::ifOutOctets.1 = Counter32: 1499571481 IF-MIB::ifOutOctets.2 = Counter32: 321711521 IF-MIB::ifOutOctets.3 = Counter32: 0 IF-MIB::ifOutOctets.4 = Counter32: 1875939512 IF-MIB::ifOutOctets.5 = Counter32: 4191135883 IF-MIB::ifOutOctets.6 = Counter32: 0 IF-MIB::ifOutOctets.7 = Counter32: 128224061 IF-MIB::ifOutOctets.8 = Counter32: 119541184 IF-MIB::ifOutOctets.9 = Counter32: 127963818 IF-MIB::ifOutOctets.10 = Counter32: 0 IF-MIB::ifOutOctets.11 = Counter32: 169218862 IF-MIB::ifOutOctets.12 = Counter32: 3506523126 $ snmpwalk -v2c -c xxx 192.168.0.xx 1.3.6.1.2.1.31.1.1.1.6 IF-MIB::ifHCInOctets = No Such Instance currently exists at this OID
全ポートGigabit対応スイッチで、64bitカウンタに対応していないとはさすがに思わなかった。
さすがに、ネットワークメインじゃ無いメーカーが手を出すとこういう問題が発生すると言うことだろうか。困った困った。
ちなみに同一の問題が、Panasonicのスイッチでも発生している。
$ snmpwalk -v2c -c xxx 192.168.80.xxx system SNMPv2-MIB::sysDescr.0 = STRING: <M16eG-Version1> System Software Release: 1.0.0.148 SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.396.5.4.2.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3885301964) 449 days, 16:30:19.64 SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: sw2.tokyo $ snmpwalk -v2c -c xxx 192.168.80.xx 1.3.6.1.2.1.31.1.1.1.6 IF-MIB::ifHCInOctets = No more variables left in this MIB View (It is past the end of the MIB tree) $
この問題に気づき、ぐぐったら、フォーラムに同様の書き込みがあった。これは、原因が明確にわかっていないと検索出来ないたぐい。Broadcomのチップが対応していないと言いたいのかな? PCT5324 64bit SNMP
There are no plans to add support for the 64-bit HC counters. I believe this is a limitation of the ASIC, so a firmware update would not be able to add this support.
さらに見つけたのが、導入した後の話。。
I believe 5324 2.x.x.x firmware has 64 bit counters. It's on their website.
I've just installed the 2.x firmware and I can confirm the 64 bits counters!
Confirmed here as well. Yipee
動くのか動かないのか。ここからはわからず。
ちなみに、ファームウェアは次のバージョン。
NARA-PC5324# show ver SW version 1.0.0.45 ( date 07-Jun-2004 time 14:34:51 ) Boot version 1.0.0.21 ( date 10-Aug-2004 time 13:33:06 ) HW version 00.00.02
Dell PowerConnect 5324, v.boot1.0.2.02/fw2.0.1.4, A06を見る限り、Last Updated 03 Nov 2011 らしいので、実はいけたりするのかな。
いしても、ネットワーク専門じゃないメーカーを買うとはまるという罠はここに。
ニュースには、
デル、大規模ネットワーク向けスイッチPowerConnect 5324を発売とあるんだけどなー。でも、所詮この程度。
ちなみに、この機器は、2013年6月27日にuptimeを見たとき次の値。そして、今年の8月7日にVLAN設定を変更していたら、応答が無くなりリブートした。
PC5324# show system System Description: Ethernet Switch System Up Time (days,hour:min:sec): 696,23:54:15
計算すると、約2200日連続稼働。記憶によると導入したのが、2007年頃。約10年ぐらい連続稼働しているので、そろそろお役御免なのかもしれません。
ということで、ファームウェアを更新してみました。
更新前:
NARA-PC5324# show version SW version 1.0.0.45 ( date 07-Jun-2004 time 14:34:51 ) Boot version 1.0.0.21 ( date 10-Aug-2004 time 13:33:06 ) HW version 00.00.02 NARA-PC5324#
更新後:
NARA-PC5324# show ver SW version 2.0.1.4 ( date 01-Aug-2010 time 17:00:12 ) Boot version 1.0.2.02 ( date 23-Jul-2006 time 16:45:47 ) HW version 00.00.02 NARA-PC5324#
更新が完了したので、試してみましょうか。
$ snmpwalk -v2c -c xxx 192.168.0.xxx 1.3.6.1.2.1.31.1.1.1.6 IF-MIB::ifHCInOctets.1 = Counter64: 8278680 IF-MIB::ifHCInOctets.2 = Counter64: 0 IF-MIB::ifHCInOctets.3 = Counter64: 0 IF-MIB::ifHCInOctets.4 = Counter64: 847869 IF-MIB::ifHCInOctets.5 = Counter64: 6184210 IF-MIB::ifHCInOctets.6 = Counter64: 0 IF-MIB::ifHCInOctets.7 = Counter64: 0 IF-MIB::ifHCInOctets.8 = Counter64: 0 IF-MIB::ifHCInOctets.9 = Counter64: 0
とれるようになりました.... ふむ。。。
ちなみに、リリースノートには本件に関する内容の記載はありませんでした。。。しょんぼり。