Управление сетью и автоматизация : Cisco Application Policy Infrastructure Controller (APIC)

Проверьте договоры и правила в матрице ACI

18 июня 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Отзыв

Введение

Этот документ описывает, как проверить, что договоры настроены и ведут себя должным образом в матрице Приложения центральной инфраструктуры (ACI).

Примечание: Проверка логических и конкретных моделей, а также аппаратное программирование, описана в этом документе.

Внесенный Полом Рейтиком и Робертом Коррейро, специалистами службы технической поддержки Cisco.

Топология

В примере, который используется всюду по этому документу, Виртуальная-машина-A (VM) присоединена к Leaf1, и договор существует, который позволяет ему связываться с VM-B, который присоединен к Leaf2. Договор позволяет и Протокол ICMP и HTTP.

Этот образ иллюстрирует топологию:

Обзор процесса

Это - взаимодействие политики и поток для договоров и правил:

  1. Менеджер Политики на Контроллере инфраструктуры правила приложений (APIC) связывается с Element Manager Политики на коммутаторе.

  2. Element Manager Политики на коммутаторе программирует Объектно-ориентированную память на коммутаторе.

  3. Менеджер Политики на коммутаторе связывается с клиентом Качества обслуживания списка контроля доступа (ACLQOS) на коммутаторе.

  4. Программы клиента ACLQOS аппаратные средства.

Определите Используемое Правило Договора/Зонирования

Вот пример, показывают выходные данные command правила зонирования от листа, прежде чем договор будет добавлен для с двумя окончаниями Точечные группы симметрии (EPGs).

fab1_leaf1# show zoning-rule

Rule ID  SrcEPG  DstEPG  FilterID  operSt   Scope     Action

=======  ======  ======  ========  ======   =====     ======

4096     0       0       implicit  enabled  16777200  deny,log

4097     0      0      implicit enabled  3080192   deny,log

4098    0      0      implicit enabled 2686976  deny,log

4099    0      49154  implicit enabled 2686976  permit

4102    0      0      implicit enabled 2097152  deny,log

4103    0      32771  implicit enabled 2097152  permit

4117    16387   16386  12       enabled 2097152  permit

4116    16386  16387  13       enabled 2097152  permit

4100    16386  49154  default   enabled 2097152  permit

4101    49154  16386  default  enabled 2097152  permit

4104    0      32770  implicit enabled 2097152   permit

4105    49155  16387  13       enabled 2097152  permit

4112    16387  49155  13       enabled 2097152  permit

4113    49155  16387  12       enabled 2097152  permit

4114    16387  49155  12       enabled 2097152  permit

[snip]

Это - те же выходные данные command после того, как договор добавлен так, чтобы два EPGs могли связаться друг с другом:

fab1_leaf1# show zoning-rule

Rule ID  SrcEPG  DstEPG  FilterID  operSt  Scope  Action

======= ====== ======  ========  ======  ========  ========

4096     0      0       implicit  enabled  16777200  deny,log

4097     0       0       implicit  enabled  3080192   deny,log

4098     0       0       implicit  enabled  2686976   deny,log

4099     0       49154   implicit  enabled  2686976   permit

4131     49155   32771   7         enabled  2686976   permit

4132     32771   49155   6         enabled  2686976   permit

4102     0       0       implicit  enabled  2097152   deny,log

4103     0       32771   implicit  enabled  2097152   permit

4117     16387   16386   12       enabled  2097152   permit

4116     16386   16387   13        enabled  2097152   permit

4100     16386   49154   default   enabled  2097152   permit

4101     49154   16386   default   enabled  2097152   permit

4104     0       32770   implicit  enabled  2097152   permit

4105     49155   16387   13        enabled  2097152   permit

4112     16387   49155   13        enabled  2097152   permit

4113     49155   16387   12        enabled  2097152   permit

4114     16387   49155   12        enabled  2097152   permit

[snip]

Примечание: Заметьте новые ID правила (4131 и 4132), которые были добавлены, ID фильтра 7 и 6, и область 2686976.

Внимание.  : Эти выходные данные command позволяют вам легко определять местоположение правил, что необходимо исследовать в лабораторной системе; однако, это может быть громоздким в производственной среде с динамическими изменениями, которые происходят.

Другой метод, который можно использовать для определения местоположения правил интереса должен использовать Visore. Выполните поиск на Управляемом объекте (MO) контекста для fvCtx. Можно тогда искать на том экране определенное Составное имя (DN) контекста, как показано здесь:

Примите во внимание область для того контекста. Можно использовать это для сопоставления с show-zoning-rule выходными данными command так, чтобы можно было определить местоположение правил, что необходимо сделать запрос:

Можно также определить сегмент ID/scope для контекста от Интерфейса пользователя (UI), как показано здесь:

Эта область соответствия, который показанный в выходных данных command правил зонирования показа:

Как только у вас есть Сведения распознавания области, и вы определяете правило и фильтруете ID, можно использовать следующую команду, чтобы проверить удар новых фильтров (а не неявное запрещают сообщения между EPGs). Неявные запрещают сообщение, включен так, чтобы по умолчанию, не мог связаться EPGs.

Заметьте в этих выходных данных command, что Leaf1, инкрементно увеличивается Фильтр 6 (f-6):

fab1_leaf1# show system internal policy-mgr stats | grep 2686976

Rule (4098) DN (sys/actrl/scope-2686976/rule-2686976-s-any-d-any-f-implicit)
Ingress: 0, Egress: 81553

Rule (4099) DN (sys/actrl/scope-2686976/rule-2686976-s-any-d-49154-f-implicit)
Ingress: 0, Egress: 0

Rule (4131) DN (sys/actrl/scope-2686976/rule-2686976-s-49155-d-32771-f-7)
Ingress: 0, Egress: 0

Rule (4132) DN (sys/actrl/scope-2686976/rule-2686976-s-32771-d-49155-f-6)
Ingress: 1440, Egress: 0
fab1_leaf1# show system internal policy-mgr stats | grep 2686976

Rule (4098) DN (sys/actrl/scope-2686976/rule-2686976-s-any-d-any-f-implicit)
Ingress: 0, Egress: 81553

Rule (4099) DN (sys/actrl/scope-2686976/rule-2686976-s-any-d-49154-f-implicit)
Ingress: 0, Egress: 0

Rule (4131) DN (sys/actrl/scope-2686976/rule-2686976-s-49155-d-32771-f-7)
Ingress: 0, Egress: 0

Rule (4132) DN (sys/actrl/scope-2686976/rule-2686976-s-32771-d-49155-f-6)
Ingress: 1470, Egress: 0

Заметьте в этих выходных данных command, что Leaf2, инкрементно увеличивается Фильтр 7 (f-7):

fab1_leaf2# show system internal policy-mgr stats | grep 268697

Rule (4098) DN (sys/actrl/scope-2686976/rule-2686976-s-any-d-any-f-implicit)
Ingress: 0, Egress: 80257

Rule (4099) DN (sys/actrl/scope-2686976/rule-2686976-s-any-d-49153-f-implicit)
Ingress: 0, Egress: 0

Rule (4117) DN (sys/actrl/scope-2686976/rule-2686976-s-32771-d-49155-f-6)
Ingress: 0, Egress: 0

Rule (4118) DN (sys/actrl/scope-2686976/rule-2686976-s-49155-d-32771-f-7)
Ingress: 2481, Egress: 0
fab1_leaf2# show system internal policy-mgr stats | grep 268697

Rule (4098) DN (sys/actrl/scope-2686976/rule-2686976-s-any-d-any-f-implicit)
Ingress: 0, Egress: 80257

Rule (4099) DN (sys/actrl/scope-2686976/rule-2686976-s-any-d-49153-f-implicit)
Ingress: 0, Egress: 0

Rule (4117) DN (sys/actrl/scope-2686976/rule-2686976-s-32771-d-49155-f-6)
Ingress: 0, Egress: 0

Rule (4118) DN (sys/actrl/scope-2686976/rule-2686976-s-49155-d-32771-f-7)
Ingress: 2511, Egress: 0

Совет: Знание области, ID правила, назначения и источника pcTags и фильтра важно с попытками решить эту проблему далее. Также полезно ознакомиться с EPGs, между которым существует ID правила.

Можно выполнить поиск на MO с названием DN fvAEPg и grep для определенного pcTag через команду moquery, как показано здесь:

admin@RTP_Apic1:~> moquery -c fvAEPg | grep 49155 -B 5

dn : uni/tn-Prod/ap-commerceworkspace/epg-Web
lcOwn : local
matchT : AtleastOne
modTs : 2014-10-16T01:27:35.355-04:00
monPolDn : uni/tn-common/monepg-default
pcTag : 49155

Можно также использовать параметр фильтрации с командой moquery, как показано здесь:

admin@RTP_Apic1:~> moquery -c fvAEPg -f 'fv.AEPg.pcTag=="49155"'
Total Objects shown: 1

# fv.AEPg
name : Web
childAction :
configIssues :
configSt : applied
descr :
dn : uni/tn-Prod/ap-commerceworkspace/epg-Web
lcOwn : local
matchT : AtleastOne
modTs : 2014-10-16T01:27:35.355-04:00
monPolDn : uni/tn-common/monepg-default
pcTag : 49155
prio : unspecified
rn : epg-Web
scope : 2523136
status :
triggerSt : triggerable
uid : 15374

Проверьте аппаратное программирование

Теперь можно проверить запись оборудования для правила. Для просмотра сведений об оборудовании введите show platform внутренняя таблица нс mth_lux_slvz_DHS_SecurityGroupStatTable_memif_data входная команда (это - команда vsh_lc):

В данном примере инкрементно увеличивается запись оборудования 41 (ЗАПИСЬ [000041]).

Примечание: Использование этой команды не практично в производственной среде, но можно использовать другие команды, которые описаны в этом разделе вместо этого.

Помните правило (4132) и область (268976):

Введите эту команду для определения ID правила к аппаратному сопоставлению элемента индекса Ternary Content Addressable Memory (TCAM) и фильтра на основе ID правила и/или ID фильтра:

module-1# show system internal aclqos zoning-rules

[snip]

===========================================
Rule ID: 4131 Scope 4 Src EPG: 49155 Dst EPG: 32771 Filter 7

Curr TCAM resource:
=============================
  unit_id: 0
  === Region priority: 771 (rule prio: 3 entry: 3)===
      sw_index = 62 | hw_index = 40
  === Region priority: 772 (rule prio: 3 entry: 4)===
     sw_index = 63 | hw_index = 45

===========================================
Rule ID: 4132 Scope 4 Src EPG: 32771 Dst EPG: 49155 Filter 6

Curr TCAM resource:
=============================
  unit_id: 0
  === Region priority: 771 (rule prio: 3 entry: 3)===
      sw_index = 66 | hw_index = 41
  === Region priority: 771 (rule prio: 3 entry: 3)===
      sw_index = 67 | hw_index = 42

[snip]

Для данного примера, источника и целевой комбинации EPG интереса 32771=0x8003, 49155=0xC003. Поэтому необходимо полагать, что все множества технических разделов для них получают и целевые классы, которые совпадают с ID правила (4131 и 4132) и фильтруют ID (6 и 7).

В данном примере разгружены некоторые из этих множеств технических разделов. Для ссылки вот конфигурация договора, которая позволяет эхо-запросы и веб - трафик для этих EPGs:

module-1# show platform internal ns table mth_lux_slvz_DHS_SecurityGroupKeyTable0
_memif_data 41


=======================================================================
                        TABLE INSTANCE : 0
=======================================================================
ENTRY[000041] =
              sg_label=0x4           

              sclass=0x8003           

              dclass=0xc003           

              prot=0x1 (IP Protocol 0x01 = ICMP)

Примечание: Предыдущая команда, показанная в синем, используется для ASIC Northstar. Команда, которая используется для Donner или Donner +, является show platform внутренняя таблица mth_luxh_slvq_DHS_SecurityGroupKeyTable0_memif_data нс.

sup_tx_mask=0x1           
              src_policy_incomplete_mask=0x1          

              dst_policy_incomplete_mask=0x1           

              class_eq_mask=0x1

              aclass_mask=0x1ff

              port_dir_mask=0x1           

              dport_mask=0xffff           

              sport_mask=0xffff          

            tcpflags_mask=0xff
           
              ip_opt_mask=0x1
           
              ipv6_route_mask=0x1
           
              ip_fragment_mask=0x1
           
              ip_frag_offset0_mask=0x1           

              ip_frag_offset1_mask=0x1           

              ip_mf_mask=0x1
           
              l4_partial_mask=0x1           

              dst_local_mask=0x1           

              routeable_mask=0x1           

              spare_mask=0x7ff          

              v4addr_key_mask=0x1           

              v6addr_key_mask=0x1           

              valid=0x1


module-1# show platform internal ns table mth_lux_slvz_DHS_SecurityGroupKeyTable0
_memif_data 42


=======================================================================
                        TABLE INSTANCE : 0
=======================================================================
ENTRY[000042] =

              sg_label=0x4           

              sclass=0x8003          

              dclass=0xc003           

              prot=0x6 <--           

              dport=0x50 <--

sup_tx_mask=0x1
           
              src_policy_incomplete_mask=0x1           

              dst_policy_incomplete_mask=0x1           

              class_eq_mask=0x1           

              aclass_mask=0x1ff          

              port_dir_mask=0x1           

              sport_mask=0xffff           

              tcpflags_mask=0xff           

              ip_opt_mask=0x1           

              ipv6_route_mask=0x1           

              ip_fragment_mask=0x1           

              ip_frag_offset0_mask=0x1           

              ip_frag_offset1_mask=0x1           

              ip_mf_mask=0x1           

              l4_partial_mask=0x1           

              dst_local_mask=0x1

Совет: Можно проверить каждое из множеств технических разделов с тем же методом.

Решите аппаратные проблемы программирования

Этот раздел предоставляет некоторые полезные команды устранения проблем и советы.

Полезные команды устранения проблем

Вот некоторые полезные команды, которые можно использовать для определения местоположения Менеджера Политики листа ошибки, когда встречаются с проблемами:

fab1_leaf1# show system internal policy-mgr event-history errors


1) Event:E_DEBUG, length:84, at 6132 usecs after Mon Sep 8 13:15:56 2014

  [103] policy_mgr_handle_ctx_mrules(779): ERROR: Failed to process prio(1537):
(null)


2) Event:E_DEBUG, length:141, at 6105 usecs after Mon Sep 8 13:15:56 2014

  [103] policy_mgr_process_mrule_prio_aces(646): ERROR: Failed to insert iptables
rule for rule(4120) , fentry(5_0) with priority(1537): (null)


[snip]


fab1_leaf1# show system internal policy-mgr event-histor trace

[1409945922.23737] policy_mgr_ppf_hdl_close_state:562: Got close state callback

[1409945922.23696] policy_mgr_ppf_rdy_ntf_fun:239: StatStoreEnd returned: 0x0(SU

CCESS)

[1409945922.23502] policy_mgr_ppf_rdy_ntf_fun:208: ppf ready notification: sess_

id: (0xFF0104B400005B51)

[1409945922.23475] policy_mgr_ppf_rdy_ntf_fun:205: Got ready notification callba

ck with statustype (4)

[1409945921.983476] policy_mgr_gwrap_handler:992: Dropped...now purging it...

[1409945921.982882] policy_mgr_ppf_goto_state_fun:481: Sess id (0xFF0104B400005B


[snip]


module-1# show system internal aclqos event-history trace

T [Fri Sep 5 13:18:24.863283] ============= Session End ============

T [Fri Sep 5 13:18:24.862924] Commit phase: Time taken 0.62 ms, usr 0.00 ms,

sys 0.00 ms

T [Fri Sep 5 13:18:24.862302] ppf session [0xff0104b410000087] commit ... npi

nst 1

T [Fri Sep 5 13:18:24.861421] Verify phase: Time taken 0.77 ms, usr 0.00 ms,

sys 0.00 ms

T [Fri Sep 5 13:18:24.860615] ============= Session Begin ============

T [Fri Sep 5 13:18:24.830472] ============= Session End ============

T [Fri Sep 5 13:18:24.830062] Commit phase: Time taken 0.98 ms, usr 0.00 ms,

sys 0.00 ms

T [Fri Sep 5 13:18:24.829085] ppf session [0xff0104b410000086] commit ... npi

nst 1

T [Fri Sep 5 13:18:24.827685] Verify phase: Time taken 2.04 ms, usr 0.00 ms,

sys 0.00 ms

T [Fri Sep 5 13:18:24.825388] ============= Session Begin ============

T [Fri Sep 5 12:32:51.364225] ============= Session End ============

T [Fri Sep 5 12:32:51.363748] Commit phase: Time taken 0.64 ms, usr 0.00 ms,


[snip]

Совет: Некоторые файлы являются большими, таким образом, проще передать им к загрузочной флэш-памяти и исследовать их в редакторе.

module-1# show system internal aclqos ?

asic          Asic information

brcm          Broadcam information

database      Database

event-history  Show various event logs of ACLQOS

mem-stats      Show memory allocation statistics of ACLQOS

prefix        External EPG prefixes

qos            QoS related information

range-resource Zoning rules L4 destination port range resources

regions        Security TCAM priority regions

span          SPAN related information

zoning-rules  Show zoning rules


module-1# show system internal aclqos event-history ?

errors      Show error logs of ACLQOS

msgs        Show various message logs of ACLQOS

ppf         Show ppf logs of ACLQOS

ppf-parse   Show ppf-parse logs of ACLQOS

prefix      Show prefix logs of ACLQOS

qos         Show qos logs of ACLQOS

qos-detail  Show detailed qos logs of ACLQOS

span        Show span logs of ACLQOS

span-detail Show detailed span logs of ACLQOS

trace       Show trace logs of ACLQOS

trace-detail Show detailed trace logs of ACLQOS

zoning-rules Show detailed logs of ACLQOS

Советы по поиску и устранению неполадок

Вот некоторые полезные советы по устранению проблем:

  • Если вы, вы, кажется, испытываете проблему истощения TCAM, проверяют UI или CLI для отказов, которые привязаны к рассматриваемому правилу. Об этом отказе можно было бы сообщить:
    Fault F1203 - Rule failed due to hardware programming error.
    Одно правило могло бы взять несколько множеств технических разделов в Специализированной интегральной схеме (ASIC). Для просмотра количества записей на ASIC введите эти команды:
    fab1-leaf1# vsh_lc

    module-1# show platform internal ns table-health
    VLAN STATE curr usage: 0 - size: 4096
    QQ curr usage: 0 - size: 16384
    SEG STATE curr usage: 0 - size: 4096
    SRC TEP curr usage: 0 - size: 4096
    POLICY KEY curr usage: 0 - size: 1
    SRC VP curr usage: 0 - size: 4096
    SEC GRP curr usage: 43 - size: 4096

    Примечание: В данном примере существует 43 подарка записей. Об этом использовании также сообщают APIC в eqptCapacity классе.

  • Когда существуют множественные соответствия, поиск TCAM возвращает более низкий индекс hw. Для подтверждения индекса введите эту команду:
    show system internal aclqos zoning-rule
    При устранении проблем вы могли бы наблюдать отбрасывание, которое вызвано правилом any-any-implict. Это правило всегда в нижней части, что означает, что пакет отброшен, потому что не существует правило. Это или из-за неверной конфигурации, или Element Manager Политики не программирует ее как ожидалось.

  • pcTags может иметь или локальную или глобальную область видимости:

    • Глобально области действия pcTag – Этот pcTag обычно имеют минимальное значение (меньше чем четыре цифры в десятичном формате).

    • Локально области действия pcTag – Этот pcTag используют большее значение (пять цифр в десятичном формате).

  • Когда вы устраняете неполадки, ознакомление в длине значения указывает на свою область.

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.