waspagv Posted April 6, 2021 Posted April 6, 2021 Аналогичная проблема была описана в Но решение оттуда не помогает. Повторю описание: 1) коммутатор и софт: Software BIOS: version 4.1.0 NXOS: version 7.0(3)I6(2) BIOS compile time: 02/02/2017 NXOS image file is: bootflash:///nxos.7.0.3.I6.2.bin NXOS compile time: 10/17/2017 19:00:00 [10/18/2017 06:48:10] Hardware cisco Nexus3064 Chassis Intel(R) Celeron(R) CPU P4505 @ 1.87GHz with 3903096 kB of memory. Processor Board ID FOC1634EK8W 2. В логе ежесекундно появляются записи вида: 2021 Apr 6 11:10:53 Izhevsk20 %-SLOT1-5-BCM_L2_HASH_COLLISION: L2 ENTRY unit=0 mac=0c:80:63:b5:a5:5b vlan=3624 port=0x0c000003 2021 Apr 6 11:10:53 Izhevsk20 %-SLOT1-5-BCM_L2_HASH_COLLISION: L2 ENTRY unit=0 mac=50:ff:20:4b:75:30 vlan=3682 port=0x08000833 2021 Apr 6 11:10:53 Izhevsk20 %-SLOT1-5-BCM_L2_HASH_COLLISION: L2 ENTRY unit=0 mac=0c:b6:d2:8b:0e:a8 vlan=3585 port=0x08000821 2021 Apr 6 11:10:53 Izhevsk20 %-SLOT1-5-BCM_L2_LEARN_DISABLE: MAC Learning Disabled unit=0 2021 Apr 6 11:10:55 Izhevsk20 %-SLOT1-5-BCM_L2_LEARN_ENABLE: MAC Learning Enabled unit=0 2021 Apr 6 11:10:55 Izhevsk20 %-SLOT1-5-BCM_L2_LEARN_DISABLE: MAC Learning Disabled unit=0 2021 Apr 6 11:10:56 Izhevsk20 %-SLOT1-5-BCM_L2_LEARN_ENABLE: MAC Learning Enabled unit=0 2021 Apr 6 11:10:56 Izhevsk20 %MTM-SLOT1-2-MTM_BUFFERS_FULL: MTM buffers are full for unit 0. MAC tables might be inconsistent. Pls use l2 consistency-checker to verify. 3. В MAC-таблице никогда не бывает реальное число записей: # show mac address-table count MAC Entries for all vlans : Dynamic Address Count: 2656 Overlay Address Count: 0 Static Address (User-defined) Count: 0 Secure Address Count: 0 при реальном около 40 тыс. 4. Процессор сильно загружен # show system resources Load average: 1 minute: 4.23 5 minutes: 4.25 15 minutes: 4.32 Processes : 480 total, 5 running CPU states : 71.92% user, 14.77% kernel, 13.30% idle CPU0 states : 99.00% user, 0.00% kernel, 1.00% idle CPU1 states : 45.19% user, 30.76% kernel, 24.03% idle Memory usage: 3903096K total, 2779640K used, 1123456K free Current memory status: OK 5. Несогласованность мак-таблицы ВСЕГДА: # sh consistency-checker l2 module 1 Consistency check: FAILED Legend: * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC age - seconds since last seen, + - primary entry using vPC Peer-Link, (T) - True, (F) - False Missing entries in the HW MAC Table VLAN MAC Address Type age Secure NTFY Ports ---------+-----------------+--------+---------+------+----+------------------ * 19 0024.1db2.d141 dynamic 0 F F Eth1/51 * 19 0e50.bbbf.d9b1 dynamic 0 F F Eth1/51 * 19 848a.8d2e.b084 dynamic 0 F F Eth1/51 * 54 0018.ae31.bc3d dynamic 0 F F Eth1/51 * 54 0018.ae3a.daaf dynamic 0 F F Eth1/51 * 54 3c97.0ebe.c003 dynamic 0 F F Eth1/51 * 54 408d.5cfe.66c3 dynamic 0 F F Eth1/51 * 54 b42e.992b.ee7b dynamic 0 F F Eth1/51 ... (сотни неверных записей). При перезагрузке коммутатора все мгновенно начинается снова. Согласно таблице из https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/scalability/703I71/b_Cisco_Nexus_3000_Series_NXOS_Verified_Scalability_Guide_703I71.html устройство допускает 128k mac-адресов, поскольку vPC отключен: # show feature | inc vpc vpc 1 disabled Что за напасть? Реально приводит к потере производительности и росту трафика в портах. Вставить ник Quote
waspagv Posted April 6, 2021 Author Posted April 6, 2021 Самую противную часть проблемы я решил - мак-таблица теперь заполняется. Постоянные HASH_COLLISION, конечно, тоже плохо, но на производительность они не влияют. Итак, все дело в частом изменении топологии STP. А она происходила от недобросовестного клиента, который в некоторый момент стал бомбить коммутатор пакетами PVST типа Root Change. Ну, у него Cisco 3750 стояла, он сам не понял, как это работает. Дошло до такого: Izhevsk20# sh spanning-tree detail | i ieee|occur|Exec|from Number of topology changes 3533 last change occurred 0:00:26 ago from Ethernet1/43 Каждый такой topology change приводил к MAC Learning Disabled, затем к MAC Learning Enabled, и не успевала таблица заполниться на половину, как приходил новый topology change, и всё сначала. А раз таблица коммутации не заполнена, то трафик дублировался во все порты. Процессор же грузился постоянным построением таблицы с нуля. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.