Утилизация аппаратных ресурсов на коммутаторах Huawei S-серии

У коммутаторов Huawei S-серии имеется возможность просмотра используемых аппаратных ресурсов (в частности, утилизации tcam) и перераспределения (для некоторых конфигураций модульных коммутаторов).

ACL

Ресурс ACL это в самом деле ресурс, используемый для traffic-policy (и прочих вариаций traffic-*) и, в некоторых случая, Selective QinQ (когда является особым traffic-policy). Имеется три типа ресурсов ACL – rule(классикация трафика), counter(подсчёт трафика), meter(ограничение скорости)
В случае с S9300 это выглядит следующим образом:

[Quidway]display acl resource slot 2
Slot  2  
                     Vlan-ACL    Inbound-ACL  Outbound-ACL                   
----------------------------------------------------------------------------
  Rule Used               10          373            6                
  Rule Free             2038         7819         1018                
  Rule Total            2048         8192         1024                

  Meter Used               0           78            2                
  Meter Free               0         8114         1022                
  Meter Total              0         8192         1024                

  Counter Used             0           96            2                
  Counter Free             0         8096         1022                
  Counter Total            0         8192         1024                
----------------------------------------------------------------------------


Как видно из этой таблицы, ресурсы раздельны для traffic-policy по отношению к vlan, ingress ACL и egress ACL.

Применим следующую политику:

acl number 3456
 rule 10 permit ip source 192.0.2.1 0
 rule 20 permit ip source 192.0.2.3 0
#
traffic classifier c3456 operator or 
 if-match acl 3456
#
traffic behavior b3456
 statistic enable
#
traffic policy p3456
 classifier c3456 behavior b3456
#
interface GigabitEthernet2/0/17
 traffic-policy p3456 inbound

И смотрим на изменившиеся значения ресурсов ACL:

                     Vlan-ACL    Inbound-ACL  Outbound-ACL                   
----------------------------------------------------------------------------
  Rule Used               10          375           6                   

  Counter Used             0           98           2                
----------------------------------------------------------------------------

Как видно, использовано 2 единицы ресурса rule и 2 единицы counter (потому что 2 правила и по каждому нужно считать трафик(statistics enable в behavior)), meter не используется, т.к. скоростные политики не задействованы в этом traffic-policy.

Используя большие ACL или какой-либо функционал, генерирующий их динамически, нужно следить за исчерпанием этих ресурсов.

Selective QinQ

В зависимости от конкретной модели, selective QinQ может быть реализован по-разному (с точки зрения потреблени hw ресурсов). Раньше это вообще не выделялось в отдельную фичу и явным образом реализовывалось с помощью traffic-policy, суть которого “match c-vlan -> add s-vlan”(пример, архив)

В современном варианте, selective QinQ настраивается следующим образом (на S9300):

interface GigabitEthernet6/1/17
 undo port hybrid vlan 1
 port hybrid untagged vlan 1111 to 1112
 port vlan-stacking vlan 3601 to 3699 stack-vlan 1111
 port vlan-stacking vlan 3700 stack-vlan 1112

И занимает это 2 единицы аппаратного ресурса vlan_xlate:

//до применения vlan-stacking:
[Quidway-hidecmd]display bcmfpi resource slot 6 l2 chip 0 vlan_xlate
   Query Result:                                                   
	Total:8192                                                   
	Used :640                                                   
	Free :7552
//после:
[Quidway-hidecmd]display bcmfpi resource slot 6 l2 chip 0 vlan_xlate
   Query Result:                                                   
	Total:8192                                                   
	Used :642                                                   
	Free :7550

Чтобы просмотривать эти и другие записи, нужно воспользоваться командой “display bcmfpi table …”

Просматривать ресурсы acl тоже можно через display bcmfpi resource, но это менее удобно, чем через “display acl resource” и кроме того, команда “display bcmfpi” есть далеко не на всех свитчах.

Ресурсы l2, l3, mpls

По аналогии с vlan_xlate, ресурсы мак-таблицы, arp-таблицы, mpls-меток и т.д. можно смотреть с помощью “display bcmfpi resource”. Довольно быстро можно исчерпать ресурс mpls-меток, типичное максимальное значение которого – 8K. Проверить ресурс меток можно командой “display bcmfpi resource slot X mpls vc-swap-table”. Традиционные решения для минимизации этой таблицы – использование per-vrf label allocation и выделение меток в GRT только лупбэкам (а не каждому префиксу).

Перераспределение TCAM в сторону тех или иных ресурсов, для S9300, осуществляется командой “assign resource-mode X” (если есть что перераспределять)

Буферы коммутации

В отличии от предыдущих ресурсов, которые хранят те или иные таблицы/правила передачи трафика, буферы хранят непосредственно трафик. Значимость буферов коммутации была описана ранее (Burst vs буфер коммутации).
Для свитчей S5300HI см. заметку S5300HI interface buffers. Buffering issues (архив)

Для того, чтобы понять в какой очереди происходят дропы, на S9300 “display qos queue statistics interface GigabitEthernet 6/1/1”, на S5300(EI) “display qos port statistics interface GigabitEthernet 0/0/1”, предварительно включив сбор статистики командой “qos port statistics enable interface GigabitEthernet 0/0/1” (возможно только на одном порту)

Advertisements

3 thoughts on “Утилизация аппаратных ресурсов на коммутаторах Huawei S-серии

  1. mschedrin

    Спасибо, полезная статья. А по snmp свитч может информацию о ресурсах отдавать? Хочу в мониторинг добавить.

    Reply
    1. Sergey Post author

      В старых моделях(которые ещё от h3c) была возможность смотреть ресурсы ACL по SNMP. В современных свитчах Huawei этих мибов нет (для опроса). Однако, например, в S9300 V2R3 есть трапы, сигнализирующие о проблеме с переполнением аппаратных ресурсом

      [Quidway-diagnose]display snmp-agent mib tree | i hwFwdRes
      1.3.6.1.4.1.2011.5.25.227 hwFwdResTrapMIB
      1.3.6.1.4.1.2011.5.25.227.1 hwFwdResTrapObject
      1.3.6.1.4.1.2011.5.25.227.1.2 hwFwdResLackSlotStr
      1.3.6.1.4.1.2011.5.25.227.1.3 hwFwdResLackReasonId
      1.3.6.1.4.1.2011.5.25.227.1.4 hwFwdResThreshold
      1.3.6.1.4.1.2011.5.25.227.2 hwFwdResTraps
      1.3.6.1.4.1.2011.5.25.227.2.1 hwFwdResLacTrap
      1.3.6.1.4.1.2011.5.25.227.3 hwFwdResTrapConformance
      1.3.6.1.4.1.2011.5.25.227.3.1 hwFwdResTrapCompliances
      1.3.6.1.4.1.2011.5.25.227.3.2 hwFwdResTrapGroups

      [Quidway-diagnose]display snmp-agent mib node hwFwdResLackReasonId
      OID : 1.3.6.1.4.1.2011.5.25.227.1.3
      Name : hwFwdResLackReasonId
      Type : leaf
      Syntax : Enum {… mcOutIfNumOverload(23), mcTmgidOverLoad(24), mcMlidOverLoad(25), trillNhpIndex(26), hostTablePrefixTable(27), routingTablePrefixTable(28), ecmpNextHopTable(29), layer3InterfaceTable(30), nextHopTable(31), tunnelDecapsulationTable(32), qvctNumOverload(33), bfdGlobalIndex(34), ipv4FullRull(35), ipv4MaskRull(36), ipv6FullRull(37), ipv6MaskRull(38), dpiRull(39), comRull(40), tcpFlagRull(41), ccSendNum(42), ccRecvNum(43), y1731SlmNum(44), y17311dmNum(45), y17312dmNum(46), … , aclEntry(61), aclGroup(62), meter(63), counter(64), aclEntryOutbound(65), aclGroupOutbound(66), meterOutbound(67), counterOutbound(68), multicastIndex(69), ipfpmAclResOverLoad(70), dhcpsnpBindTableResOverLoad(71), l3aclFailed(72), fibArpFwdModeNumOverLoad(73), l2mcindex(74), ipmcindex(75), arpNumLack(76), ipv6NdNumLack(77), statNumLack(78), qosNumLack(79), l2vpnLinkLack(80), …..}
      Max-access : accessible-for-notify

      Reply
      1. mschedrin

        Спасибо за наводку на ключевые слова. Посмотрю в MIB, спрошу у саппорта, если ничего не найду. Может хоть в V2R5 добавили.
        Трапы не люблю совсем.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s