목차

소개

배경 정보

패브릭 검색 워크플로

Check01 — 시스템 상태

Check02 — DHCP 상태

Check03 — AV 세부 정보

Check04 — APIC에 대한 IP 연결

Check05 — 인프라 VLAN

Check06 — LLDP 인접성

Check07 — 스위치 버전

Check08 — FPGA/EPLD/BIOS가 동기화되지 않음

Check09 — SSL 확인

Check10 — 정책 다운로드

Check11 — 시간

Check12 — 모듈, PSU, 팬 확인

깨진 시나리오 예

시나리오 1 - 패브릭 멤버십에 첫 번째 leaf가 표시되지 않음

시나리오 2 - 다른 APIC가 클러스터에 가입하지 않음

시나리오 3 - 스파인이 패브릭 멤버십에 표시되지 않음

시나리오 4 - 초기 패브릭 검색 후 클러스터가 Fully-Fit과 Degraded 사이에서 플래핑됩니다.

소개

이 문서에서는 초기 패브릭 검색 프로세스를 이해하고 문제를 해결하는 단계에 대해 설명하며, 여기에는 예제 문제 시나리오도 포함됩니다.

배경 정보

이 문서의 자료는 Cisco Application Centric Infrastructure, Second Edition 트러블슈팅 특히 패브릭 검색 - 초기 패브릭 설정 장.

패브릭 검색 워크플로

ACI 패브릭 검색 프로세스는 특정 이벤트 시퀀스를 따릅니다. 기본 단계는 다음과 같습니다.

1. 첫 번째 APIC의 KVM 콘솔에 연결하고 패브릭 이름, APIC 클러스터 크기, TEP(터널 엔드포인트) 주소 풀 등의 값을 입력하여 설정 스크립트를 완료합니다.

2. 완료되면 APIC1은 패브릭 포트를 통해 LLDP를 전송하기 시작합니다. LLDP 패킷에는 인프라 VLAN 및 APIC(컨트롤러라고도 함)의 역할과 같은 정보가 포함된 특수 TLV가 포함되어 있습니다.

3. APIC1에서 이러한 LLDP 패킷을 수신하면 leaf는 APIC이 탐지된 모든 포트에서 infra VLAN을 프로그래밍합니다.

4. Leaf는 현재 알려진 infra VLAN에서 DHCP Discovers 전송을 시작합니다.

5. 사용자는 HTTPS를 통해 APIC1의 OOB IP에 로그인하고 패브릭 멤버십 하위 메뉴에 첫 번째 리프 노드를 등록합니다.

6. Leaf에 노드 ID가 주어지면 APIC1은 구성된 TEP 주소 풀의 IP 주소로 응답하며 DHCP 프로세스가 완료됩니다.

7. 등록된 leaf 릴레이 DHCP는 LLDP를 통해 APIC1에 검색된 직접 연결된 다른 spine에서 검색합니다.

8. 사용자는 동적으로 검색된 스파인이 Fabric Membership(패브릭 멤버십) 하위 메뉴에 나타나며 이를 등록할 수 있습니다.

9. 스파인이 등록되면 APIC1은 TEP 풀의 IP 주소로 응답하고 해당 노드에 대해 DHCP가 완료됩니다.

10. spine 릴레이 DHCP는 pod1의 다른 모든 노드에서 검색합니다. (이는 조언된 대로 스파인과 리프 스위치 사이에 풀 메시(full-mesh)가 있으며 이것이 일반적인 아키텍처라고 가정합니다.)

11. 다른 APIC에 연결된 leaf 노드가 등록되면 TCP 통신을 통해 APIC 클러스터를 설정할 수 있습니다. APIC2 및 APIC3에서 설정 대화 상자를 완료해야 합니다.

12. 모든 APIC에 클러스터가 구성되어 있고 완벽하게 적합한지 확인합니다. 그렇다면 패브릭 검색이 완료된 것입니다.

4.2부터는 패브릭 노드에서 새로운 CLI 명령을 사용하여 일반적인 검색 문제를 진단할 수 있습니다. 다음 섹션에서는 수행되는 검사 및 추가적인 검증 명령을 다루어 장애 해결을 지원합니다.

leaf101# show discoveryissues

Checking the platform type................LEAF!

Check01 - System state - in-service [ok]

Check02 - DHCP status [ok]

TEP IP: 10.0.72.67 Node Id: 101 Name: leaf101

Check03 - AV details check [ok]

Check04 - IP rechability to apic [ok]

Ping from switch to 10.0.0.1 passed

Check05 - infra VLAN received [ok]

infra vLAN:3967

Check06 - LLDP Adjacency [ok]

Found adjacency with SPINE

Found adjacency with APIC

Check07 - Switch version [ok]

version: n9000-14.2(1j) and apic version: 4.2(1j)

Check08 - FPGA/BIOS out of sync test [ok]

Check09 - SSL check [check]

SSL certificate details are valid

Check10 - Downloading policies [ok]

Check11 - Checking time [ok]

2019-09-11 07:15:53

Check12 - Checking modules, power and fans [ok]

Check01 — 시스템 상태

Leaf가 노드 ID를 할당받고 Fabric에 등록되면 부트스트랩을 다운로드하기 시작한 다음 서비스 중 상태로 전환됩니다.

Check01 - System state - out-of-service [FAIL]

Check01 - System state - downloading-boot-script [FAIL]

leaf의 현재 상태를 확인하기 위해 사용자는 moquery -c topSystem을 실행할 수 있습니다

leaf101# moquery -c topSystem

Total Objects shown: 1

# top.System

address                  : 10.0.72.67

bootstrapState           : done

...

serial                   : FDO20160TPS

serverType               : unspecified

siteId                   : 1

state                    : in-service

status                   :

systemUpTime             : 00:18:17:41.000

tepPool                  : 10.0.0.0/16

unicastXrEpLearnDisable  : no

version                  : n9000-14.2(1j)

virtualMode              : no

Check02 — DHCP 상태

Check02 - DHCP status [FAIL]

ERROR: node Id not configured

ERROR: Ip not assigned by dhcp server

ERROR: Address assigner's IP not populated

TEP IP: unknown Node Id: unknown Name: unknown

Leaf는 APIC1에서 DHCP를 통해 TEP 주소를 수신한 다음 다른 APIC에 대한 IP 연결을 설정해야 합니다. 리프의 PTEP(Physical TEP)가 loopback0에 할당됩니다. 주소가 할당되지 않은 경우 사용자는 leaf가 tpcdump 유틸리티를 사용하여 DHCP 검색을 보내고 있는지 확인할 수 있습니다. 이를 위해 모든 CPU 인밴드 컨트롤 플레인 네트워크 트래픽을 볼 수 있는 인터페이스 kpm_inb를 사용합니다.

(none)# tcpdump -ni kpm_inb port 67 or 68

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on kpm_inb, link-type EN10MB (Ethernet), capture size 65535 bytes

16:40:11.041148 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from a0:36:9f:c7:a1:0c, length 300

^C

1 packets captured

1 packets received by filter

0 packets dropped by kernel

사용자는 dhcpd가 APIC에서 실행 중이고 bond0 하위 인터페이스에서 수신 대기하고 있는지 확인할 수도 있습니다. 연결 인터페이스는 패브릭과 연결된 APIC 포트를 나타냅니다. bond0.<infra VLAN> 형식을 사용합니다.

apic1# ps aux | grep dhcp

root     18929  1.3  0.2 818552 288504 ?       Ssl  Sep26  87:19 /mgmt//bin/dhcpd.bin -f -4 -cf /data//dhcp/dhcpd.conf -lf /data//dhcp/dhcpd.lease -pf /var/run//dhcpd.pid --no-pid bond0.3967

admin   22770  0.0  0.0   9108   868 pts/0    S+   19:42   0:00 grep dhcp

Check03 — AV 세부 정보

Check03 - AV details check [ok]

Leaf는 등록된 APIC의 IP가 TEP 풀에 유효한 범위에 있는지 확인합니다. APIC 정보가 아직 기록되지 않은 경우 이 검사를 통과합니다. 사용자는 'acidiag avread' 명령을 통해 리프 노드의 관점에서 현재 APIC 정보를 볼 수 있습니다. 아래 예에서 leaf/spine 프롬프트가 (none)#을 표시할 경우 leaf/spine이 아직 패브릭의 멤버가 아님을 나타냅니다.

(none)# acidiag avread

Cluster of 0 lm(t):0(zeroTime) appliances (out of targeted 0 lm(t):0(zeroTime)) with FABRIC_DOMAIN name=Undefined Fabric Domain Name set to version= lm(t):0(zeroTime); discoveryMode=PERMISSIVE lm(t):0(zeroTime); drrMode=OFF lm(t):0(zeroTime)

---------------------------------------------

clusterTime=<diff=0 common=2019-10-01T18:51:50.315+00:00 local=2019-10-01T18:51:50.315+00:00 pF=<displForm=1 offsSt=0 offsVlu=0 lm(t):0(zeroTime)>>

---------------------------------------------

leaf101# acidiag avread

Cluster of 3 lm(t):0(2019-09-30T18:45:10.320-04:00) appliances (out of targeted 3 lm(t):0(2019-10-01T14:52:55.217-04:00)) with FABRIC_DOMAIN name=ACIFabric1 set to version=apic-4.2(1j) lm(t):0(2019-10-01T14:52:55.217-04:00); discoveryMode=PERMISSIVE lm(t):0(1969-12-31T20:00:00.003-04:00); drrMode=OFF lm(t):0(1969-12-31T20:00:00.003-04:00); kafkaMode=OFF lm(t):0(1969-12-31T20:00:00.003-04:00)

appliance id=1  address=10.0.0.1 lm(t):2(2019-09-27T17:32:08.669-04:00) tep address=10.0.0.0/16 lm(t):1(2019-07-09T19:41:24.672-04:00) routable address=192.168.1.1 lm(t):2(2019-09-30T18:37:48.916-04:00) oob address=0.0.0.0 lm(t):0(zeroTime) version=4.2(1j) lm(t):1(2019-09-30T18:37:49.011-04:00) chassisId=c67d1076-a2a2-11e9-874e-a390922be712 lm(t):1(2019-09-30T18:37:49.011-04:00) capabilities=0X3EEFFFFFFFFF--0X2020--0X1 lm(t):1(2019-09-26T09:32:20.747-04:00) rK=(stable,absent,0) lm(t):0(zeroTime) aK=(stable,absent,0) lm(t):0(zeroTime) oobrK=(stable,absent,0) lm(t):0(zeroTime) oobaK=(stable,absent,0) lm(t):0(zeroTime) cntrlSbst=(APPROVED, FCH1929V153) lm(t):1(2019-10-01T12:46:44.711-04:00) (targetMbSn= lm(t):0(zeroTime), failoverStatus=0 lm(t):0(zeroTime)) podId=1 lm(t):1(2019-09-26T09:26:49.422-04:00) commissioned=YES lm(t):101(2019-09-30T18:45:10.320-04:00) registered=YES lm(t):3(2019-09-05T11:42:41.371-04:00) standby=NO lm(t):0(zeroTime) DRR=NO lm(t):101(2019-09-30T18:45:10.320-04:00) apicX=NO lm(t):0(zeroTime) virtual=NO lm(t):0(zeroTime) active=YES

appliance id=2  address=10.0.0.2 lm(t):2(2019-09-26T09:47:34.709-04:00) tep address=10.0.0.0/16 lm(t):2(2019-09-26T09:47:34.709-04:00) routable address=192.168.1.2 lm(t):2(2019-09-05T11:45:36.861-04:00) oob address=0.0.0.0 lm(t):0(zeroTime) version=4.2(1j) lm(t):2(2019-09-30T18:37:48.913-04:00) chassisId=611febfe-89c1-11e8-96b1-c7a7472413f2 lm(t):2(2019-09-30T18:37:48.913-04:00) capabilities=0X3EEFFFFFFFFF--0X2020--0X7 lm(t):2(2019-09-26T09:53:07.047-04:00) rK=(stable,absent,0) lm(t):0(zeroTime) aK=(stable,absent,0) lm(t):0(zeroTime) oobrK=(stable,absent,0) lm(t):0(zeroTime) oobaK=(stable,absent,0) lm(t):0(zeroTime) cntrlSbst=(APPROVED, FCH2045V1X2) lm(t):2(2019-10-01T12:46:44.710-04:00) (targetMbSn= lm(t):0(zeroTime), failoverStatus=0 lm(t):0(zeroTime)) podId=1 lm(t):2(2019-09-26T09:47:34.709-04:00) commissioned=YES lm(t):101(2019-09-30T18:45:10.320-04:00) registered=YES lm(t):2(2019-09-26T09:47:34.709-04:00) standby=NO lm(t):0(zeroTime) DRR=NO lm(t):101(2019-09-30T18:45:10.320-04:00) apicX=NO lm(t):0(zeroTime) virtual=NO lm(t):0(zeroTime) active=YES

appliance id=3  address=10.0.0.3 lm(t):3(2019-09-26T10:12:34.114-04:00) tep address=10.0.0.0/16 lm(t):3(2019-09-05T11:42:27.199-04:00) routable address=192.168.1.3 lm(t):2(2019-10-01T13:19:08.626-04:00) oob address=0.0.0.0 lm(t):0(zeroTime) version=4.2(1j) lm(t):3(2019-09-30T18:37:48.904-04:00) chassisId=99bade8c-cff3-11e9-bba7-5b906a49dc39 lm(t):3(2019-09-30T18:37:48.904-04:00) capabilities=0X3EEFFFFFFFFF--0X2020--0X4 lm(t):3(2019-09-26T10:18:13.149-04:00) rK=(stable,absent,0) lm(t):0(zeroTime) aK=(stable,absent,0) lm(t):0(zeroTime) oobrK=(stable,absent,0) lm(t):0(zeroTime) oobaK=(stable,absent,0) lm(t):0(zeroTime) cntrlSbst=(APPROVED, FCH1824V2VR) lm(t):3(2019-10-01T12:48:03.726-04:00) (targetMbSn= lm(t):0(zeroTime), failoverStatus=0 lm(t):0(zeroTime)) podId=2 lm(t):3(2019-09-26T10:12:34.114-04:00) commissioned=YES lm(t):101(2019-09-30T18:45:10.320-04:00) registered=YES lm(t):2(2019-09-05T11:42:54.935-04:00) standby=NO lm(t):0(zeroTime) DRR=NO lm(t):101(2019-09-30T18:45:10.320-04:00) apicX=NO lm(t):0(zeroTime) virtual=NO lm(t):0(zeroTime) active=YES

---------------------------------------------

clusterTime=<diff=15584 common=2019-10-01T14:53:01.648-04:00 local=2019-10-01T14:52:46.064-04:00 pF=<displForm=0 offsSt=0 offsVlu=-14400 lm(t):21(2019-09-26T10:40:35.412-04:00)>>

---------------------------------------------

Check04 — APIC에 대한 IP 연결

Leaf가 IP 주소를 받으면 APIC과의 TCP 세션을 설정하고 컨피그레이션 다운로드 프로세스를 시작합니다. 사용자는 'iping' 유틸리티를 사용하여 APIC에 대한 IP 연결을 확인할 수 있습니다.

leaf101# iping -V overlay-1 10.0.0.1

PING 10.0.0.1 (10.0.0.1) from 10.0.0.30: 56 data bytes

64 bytes from 10.0.0.1: icmp_seq=0 ttl=64 time=0.651 ms

64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.474 ms

64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.477 ms

64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.54 ms

64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=0.5 ms

--- 10.0.0.1 ping statistics ---  5 packets transmitted, 5 packets received, 0.00% packet loss

round-trip min/avg/max = 0.474/0.528/0.651 ms

Check05 — 인프라 VLAN

Check05 - infra VLAN received [ok]

인프라 VLAN 검사는 노드가 APIC가 있는 Pod에 연결된 경우에만 성공합니다. 그렇지 않으면 검사가 실패할 것으로 예상되므로 사용자가 메시지를 무시할 수 있습니다.

Leaf는 다른 ACI 노드에서 수신한 LLDP 패킷을 기반으로 인프라 VLAN을 결정합니다. 스위치가 검색 중일 때 첫 번째 스위치가 수락됩니다.

(none)# moquery -c lldpInst

Total Objects shown: 1

# lldp.Inst

adminSt        : enabled

childAction    :

ctrl           :

dn             : sys/lldp/inst

holdTime       : 120

infraVlan      : 3967

initDelayTime  : 2

lcOwn          : local

modTs          : 2019-09-12T07:25:33.194+00:00

monPolDn       : uni/fabric/monfab-default

name           :

operErr        :

optTlvSel      : mgmt-addr,port-desc,port-vlan,sys-cap,sys-desc,sys-name

rn             : inst

status         :

sysDesc        : topology/pod-1/node-101

txFreq         : 30

(none)# show vlan encap-id 3967

VLAN Name                             Status    Ports

---- -------------------------------- --------- -------------------------------

8    infra:default                    active    Eth1/1

VLAN Type  Vlan-mode

---- ----- ----------

8    enet  CE

APIC에 연결된 스위치 포트 인터페이스에 인프라 VLAN이 프로그래밍되지 않은 경우 leaf에서 탐지된 배선 문제가 있는지 확인합니다.

(none)# moquery -c lldpIf -f 'lldp.If.wiringIssues!=""'

Total Objects shown: 1

# lldp.If

id           : eth1/1

adminRxSt    : enabled

adminSt      : enabled

adminTxSt    : enabled

childAction  :

descr        :

dn           : sys/lldp/inst/if-[eth1/1]

lcOwn        : local

mac          : E0:0E:DA:A2:F2:83

modTs        : 2019-09-30T18:45:22.323+00:00

monPolDn     : uni/fabric/monfab-default

name         :

operRxSt     : enabled

operTxSt     : enabled

portDesc     :

portMode     : normal

portVlan     : unspecified

rn           : if-[eth1/1]

status       :

sysDesc      :

wiringIssues : infra-vlan-mismatch

Check06 — LLDP 인접성

Check06 - LLDP Adjacency [FAIL]

Error: leaf not connected to any spine

어떤 포트가 다른 ACI 디바이스에 연결되는지 확인하려면 leaf가 다른 패브릭 노드로부터 LLDP를 수신해야 합니다. LLDP가 수신되었는지 확인하려면 사용자는 'show lldp neighbors'를 선택할 수 있습니다.

(none)# show lldp neighbors

Capability codes:

(R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device

(W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other

Device ID            Local Intf      Hold-time  Capability  Port ID

apic1                 Eth1/1          120                    eth2-1

apic2                 Eth1/2          120                    eth2-1

switch                Eth1/51         120        BR          Eth2/32

switch                Eth1/54         120        BR          Eth1/25

Total entries displayed: 4

Check07 — 스위치 버전

Check07 - Switch version [ok]

version: n9000-14.2(1j) and apic version: 4.2(1j)

APIC와 리프 버전이 같지 않으면 패브릭 검색이 실패할 수 있습니다. Leaf에서 실행 중인 버전을 확인하려면 'show version' 또는 'vsh -c 'show version''을 사용하십시오.

(none)# show version

Cisco Nexus Operating System (NX-OS) Software

TAC support: http://www.cisco.com/tac

Documents: http://www.cisco.com/en/US/products/ps9372/tsd_products_support_series_home.htmlCopyright (c) 2002-2014, Cisco Systems, Inc. All rights reserved.

The copyrights to certain works contained in this software are

owned by other third parties and used and distributed under

license. Certain components of this software are licensed under

the GNU General Public License (GPL) version 2.0 or the GNU

Lesser General Public License (LGPL) Version 2.1. A copy of each

such license is available at

http://www.opensource.org/licenses/gpl-2.0.php and

http://www.opensource.org/licenses/lgpl-2.1.php

Software

BIOS:      version 07.66

kickstart: version 14.2(1j) [build 14.2(1j)]

system:    version 14.2(1j) [build 14.2(1j)]

PE:        version 4.2(1j)

BIOS compile time:       06/11/2019

kickstart image file is: /bootflash/aci-n9000-dk9.14.2.1j.bin

kickstart compile time:  09/19/2019 07:57:41 [09/19/2019 07:57:41]

system image file is:    /bootflash/auto-s

system compile time:     09/19/2019 07:57:41 [09/19/2019 07:57:41]

...

APIC에서도 동일한 명령이 작동합니다.

apic1# show version

Role        Pod         Node        Name                      Version

----------  ----------  ----------  ------------------------  --------------------

controller  1           1           apic1                     4.2(1j)

controller  1           2           apic2                     4.2(1j)

controller  2           3           apic3                     4.2(1j)

leaf        1           101         leaf101                   n9000-14.2(1j)

leaf        1           102         leaf102                   n9000-14.2(1j)

leaf        1           103         leaf103                   n9000-14.2(1j)

spine       1           1001        spine1                    n9000-14.2(1j)

spine       1           1002        spine2                    n9000-14.2(1j)

Check08 — FPGA/EPLD/BIOS가 동기화되지 않음

FPGA, EPLD 및 BIOS 버전은 예상대로 모듈을 가져오는 리프 노드의 능력에 영향을 줄 수 있다. 이러한 설정이 너무 오래된 경우 스위치의 인터페이스가 업데이트되지 않을 수 있습니다. 사용자는 다음과 같은 moquery 명령으로 실행 중인 FPGA, EPLD 및 BIOS 버전을 검증할 수 있다.

(none)# moquery -c firmwareCardRunning

Total Objects shown: 2

# firmware.CardRunning

biosVer        : v07.66(06/11/2019)

childAction    :

descr          :

dn             : sys/ch/supslot-1/sup/running

expectedVer    : v07.65(09/04/2018)  interimVer     : 14.2(1j)

internalLabel  :

modTs          : never

mode           : normal

monPolDn       : uni/fabric/monfab-default

operSt         : ok

rn             : running

status         :

ts             : 1970-01-01T00:00:00.000+00:00

type           : switch

version        : 14.2(1j)

# firmware.CardRunning

biosVer        : v07.66(06/11/2019)

childAction    :

descr          :

dn             : sys/ch/lcslot-1/lc/running

expectedVer    : v07.65(09/04/2018)  interimVer     : 14.2(1j)

internalLabel  :

modTs          : never

mode           : normal

monPolDn       : uni/fabric/monfab-default

operSt         : ok

rn             : running

status         :

ts             : 1970-01-01T00:00:00.000+00:00

type           : switch

version        : 14.2(1j)

(none)# moquery -c firmwareCompRunning

Total Objects shown: 2

# firmware.CompRunning

childAction    :

descr          :

dn             : sys/ch/supslot-1/sup/fpga-1/running

expectedVer    : 0x14  internalLabel  :

modTs          : never

mode           : normal

monPolDn       : uni/fabric/monfab-default

operSt         : ok

rn             : running

status         :

ts             : 1970-01-01T00:00:00.000+00:00

type           : controller

version        : 0x14

# firmware.CompRunning

childAction    :

descr          :

dn             : sys/ch/supslot-1/sup/fpga-2/runnin

expectedVer    : 0x4

internalLabel  :

modTs          : never

mode           : normal

monPolDn       : uni/fabric/monfab-default

operSt         : ok

rn             : running

status         :

ts             : 1970-01-01T00:00:00.000+00:00

type           : controller

version        : 0x4

실행 중인 FPGA 버전이 예상 FPGA 버전과 일치하지 않는 경우 "리프/스파인 EPLD/FPGA가 올바르지 않음, F1582" 시나리오의 "패브릭 검색" 장, "장치 교체" 섹션에 있는 단계로 업데이트할 수 있습니다.

Check09 — SSL 확인

Check09 - SSL check [check]

SSL certificate details are valid

컨트롤 플레인 트래픽의 암호화를 보장하기 위해 모든 패브릭 노드 간에 SSL 통신이 사용됩니다. 사용되는 SSL 인증서는 제조 과정에서 설치되며 섀시의 일련 번호를 기반으로 생성됩니다. 제목의 형식은 다음과 같아야 합니다.

subject= /serialNumber=PID:N9K-C93xxxxx SN:FDOxxxxxxxx/CN=FDOxxxxxxxx

스위치를 검색하는 동안 SSL 인증서를 검증하려면 다음 명령을 사용합니다.

(none)# cd /securedata/ssl && openssl x509 -noout -subject -in server.crt

subject= /serialNumber=PID:N9K-C93180YC-EX SN:FDO20432LH1/CN=FDO20432LH1

스위치 노드가 여전히 검색 중인 경우 위 는 루트가 아닌 사용자로만 작동합니다.

섀시 일련 번호는 다음 명령을 통해 확인할 수 있습니다.

(none)# show inventory

NAME: "Chassis",  DESCR: "Nexus C93180YC-EX Chassis"

PID: N9K-C93180YC-EX     ,  VID: V00  ,  SN: FDO20160TPS

...

또한 인증서가 현재 시간에 유효해야 합니다. 인증서의 유효 날짜를 보려면 openssl 명령에서 '-dates' 플래그를 사용합니다.

(none)# cd /securedata/ssl && openssl x509 -noout -dates -in server.crt

notBefore=Nov 28 17:17:05 2016 GMT

notAfter=Nov 28 17:27:05 2026 GMT

Check10 — 정책 다운로드

Check10 - Downloading policies [FAIL]

Registration to all PM shards is not complete

Policy download is not complete

Leaf가 APIC에 대한 IP 연결성을 갖게 되면 APIC에서 해당 컨피그레이션을 다운로드하고 APIC에서 다운로드가 완료되었음을 승인합니다. 이 프로세스의 상태는 다음 명령으로 볼 수 있습니다.

(none)# moquery -c pconsBootStrap

Total Objects shown: 1

# pcons.BootStrap

allLeaderAcked         : no

allPortsInService      : yes

allResponsesFromLeader : yes

canBringPortInService  : no

childAction            :

completedPolRes        : no

dn                     : rescont/bootstrap

lcOwn                  : local

modTs                  : 2019-09-27T22:52:48.729+00:00

rn                     : bootstrap

state                  : completed

status                 :

timerTicks             : 360

try                    : 0

worstCaseTaskTry       : 0

Check11 — 시간

Check11 - Checking time [ok]

2019-10-01 17:02:34

이 체크는 사용자에게 현재 시간을 보여줍니다. APIC과 스위치 시간 사이에 너무 많은 델타가 있으면 검색이 실패할 수 있습니다. APIC에서는 date 명령으로 시간을 확인할 수 있습니다.

apic1# date

Tue Oct  1 14:35:38 UTC 2019

Check12 — 모듈, PSU, 팬 확인

스위치가 다른 디바이스에 연결하려면 모듈이 온라인 상태여야 합니다. 이는 'show module' 및 'show environment' 명령을 통해 확인할 수 있습니다.

(none)# show module

Mod  Ports  Module-Type                         Model              Status

---  -----  ----------------------------------- ------------------ ----------

1    54     48x10/25G+6x40/100G Switch          N9K-C93180YC-EX    ok

Mod  Sw              Hw

---  --------------  ------

1    14.2(1j)        0.3050

Mod  MAC-Address(es)                         Serial-Num

---  --------------------------------------  ----------

1    e0-0e-da-a2-f2-83 to e0-0e-da-a2-f2-cb  FDO20160TPS

Mod  Online Diag Status

---  ------------------

1    pass

(none)# show environment

Power Supply:

Voltage: 12.0 Volts

Power                              Actual        Total

Supply    Model                    Output     Capacity    Status

(Watts )     (Watts )

-------  -------------------  -----------  -----------  --------------

1        NXA-PAC-650W-PI              0 W        650 W       shut

2        NXA-PAC-650W-PI            171 W        650 W        ok

Actual        Power

Module     Model                     Draw    Allocated    Status

(Watts )     (Watts )

--------  -------------------  -----------  -----------  --------------

1         N9K-C93180YC-EX            171 W        492 W    Powered-Up

fan1      NXA-FAN-30CFM-B              N/A          N/A    Powered-Up

fan2      NXA-FAN-30CFM-B              N/A          N/A    Powered-Up

fan3      NXA-FAN-30CFM-B              N/A          N/A    Powered-Up

fan4      NXA-FAN-30CFM-B              N/A          N/A    Powered-Up

N/A - Per module power not available

Power Usage Summary:

--------------------

Power Supply redundancy mode (configured)                Non-Redundant(combined)

Power Supply redundancy mode (operational)               Non-Redundant(combined)

Total Power Capacity (based on configured mode)               650  W

Total Power of all Inputs (cumulative)                        650  W

Total Power Output (actual draw)                              171  W

Total Power Allocated (budget)                                N/A

Total Power Available for additional modules                  N/A

Fan:

------------------------------------------------------

Fan             Model                Hw         Status

------------------------------------------------------

Fan1(sys_fan1)  NXA-FAN-30CFM-B      --         ok

Fan2(sys_fan2)  NXA-FAN-30CFM-B      --         ok

Fan3(sys_fan3)  NXA-FAN-30CFM-B      --         ok

Fan4(sys_fan4)  NXA-FAN-30CFM-B      --         ok

Fan_in_PS1      --                   --         unknown

Fan_in_PS2      --                   --         ok

Fan Speed: Zone 1:  0x7f

Fan Air Filter : Absent

Temperature:

-----------------------------------------------------------------------------------

Module   Sensor                       MajorThresh   MinorThres   CurTemp     Status

(Celsius)     (Celsius)    (Celsius)

-----------------------------------------------------------------------------------

1        Inlet(1)                      70            42           35         normal

1        outlet(2)                     80            70           37         normal

1        x86 processor(3)              90            80           38         normal

1        Sugarbowl(4)                  110           90           60         normal

1        Sugarbowl vrm(5)              120           110          50         normal

모듈이 온라인 상태가 아닌 경우 모듈을 재장착하고 FPGA, EPLD 또는 BIOS가 일치하지 않는지 확인합니다.

깨진 시나리오 예

시나리오 1 - 패브릭 멤버십에 첫 번째 leaf가 표시되지 않음

이 시나리오에서는 사용자가 설정 스크립트를 완료한 후 APIC1에 로그인하며 Fabric Membership에 스위치가 표시되지 않습니다. 첫 번째 leaf를 성공적으로 검색하기 위해 APIC는 검색 단계에서 leaf로부터 DHCP Discover를 수신해야 합니다.

APIC1에서 설정 스크립트에 설정된 매개변수와 일치하는 LLDP TLV를 보내고 있는지 확인합니다.

apic1# acidiag run lldptool out eth2-1

Chassis ID TLV

MAC: e8:65:49:54:88:a1

Port ID TLV

MAC: e8:65:49:54:88:a1

Time to Live TLV

120

Port Description TLV

eth2-1

System Name TLV

apic1

System Description TLV

topology/pod-1/node-1

Management Address TLV

IPv4: 10.0.0.1

Ifindex: 4

Cisco Port State TLV

1

Cisco Node Role TLV

0

Cisco Node ID TLV

1

Cisco POD ID TLV

1

Cisco Fabric Name TLV

ACIFabric1

Cisco Appliance Vector TLV

Id: 1

IPv4: 10.0.0.1

UUID: c67d1076-a2a2-11e9-874e-a390922be712

Cisco Node IP TLV

IPv4:10.0.0.1

Cisco Port Role TLV

2

Cisco Infra VLAN TLV

3967

Cisco Serial Number TLV

FCH1929V153

Cisco Authentication Cookie TLV

1372058352

Cisco Standby APIC TLV

0

End of LLDPDU TLV

또한 APIC1이 직접 연결된 리프 노드에서 LLDP를 수신하는지 확인합니다.

apic1# acidiag run lldptool in eth2-1

Chassis ID TLV

MAC: e0:0e:da:a2:f2:83

Port ID TLV

Local: Eth1/1

Time to Live TLV

120

Port Description TLV

Ethernet1/1

System Name TLV

switch

System Description TLV

Cisco Nexus Operating System (NX-OS) Software 14.2(1j)

TAC support: http://www.cisco.com/tacCopyright (c) 2002-2020, Cisco Systems, Inc. All rights reserved.

System Capabilities TLV

System capabilities:  Bridge, Router

Enabled capabilities: Bridge, Router

Management Address TLV

MAC: e0:0e:da:a2:f2:83

Ifindex: 83886080

Cisco 4-wire Power-via-MDI TLV

4-Pair PoE supported

Spare pair Detection/Classification not required

PD Spare pair Desired State: Disabled

PSE Spare pair Operational State: Disabled

Cisco Port Mode TLV

0

Cisco Port State TLV

1

Cisco Serial Number TLV

FDO20160TPS

Cisco Model TLV

N9K-C93180YC-EX

Cisco Firmware Version TLV

n9000-14.2(1j)

Cisco Node Role TLV

1

Cisco Infra VLAN TLV

3967

Cisco Node ID TLV

0

End of LLDPDU TLV

APIC1이 직접 연결된 리프 노드로부터 LLDP를 수신하는 경우, 리프에서는 APIC에 연결된 포트에 인프라 VLAN을 프로그래밍해야 합니다. 이 VLAN 프로그래밍은 'show vlan encap-id <x>' 명령을 통해 확인할 수 있습니다. 여기서 'x'는 구성된 인프라 VLAN입니다.

(none)# show vlan encap-id 3967

VLAN Name                             Status    Ports

---- -------------------------------- --------- -------------------------------

8    infra:default                    active    Eth1/1

VLAN Type  Vlan-mode

---- ----- ----------

8    enet  CE

인프라 VLAN이 프로그래밍되지 않은 경우 leaf 노드에서 감지된 배선 문제를 확인합니다.

(none)# moquery -c lldpIf -f 'lldp.If.wiringIssues!=""'

Total Objects shown: 1

# lldp.If

id           : eth1/1

adminRxSt    : enabled

adminSt      : enabled

adminTxSt    : enabled

childAction  :

descr        :

dn           : sys/lldp/inst/if-[eth1/1]

lcOwn        : local

mac          : E0:0E:DA:A2:F2:83

modTs        : 2019-09-30T18:45:22.323+00:00

monPolDn     : uni/fabric/monfab-default

name         :

operRxSt     : enabled

operTxSt     : enabled

portDesc     :

portMode     : normal

portVlan     : unspecified

rn           : if-[eth1/1]

status       :

sysDesc      :

wiringIssues : infra-vlan-mismatch

와이어링 이슈 속성이 'infra-vlan-mismatch'로 설정된 경우 leaf가 APIC에서 전송하는 값과 다른 infra VLAN을 학습했음을 나타냅니다(APIC 전송 값은 'moquery -c lldpInst' 명령을 사용하여 확인할 수 있음). 이 시나리오는 leaf가 한때 다른 fabric의 일부였던 노드에서 LLDP를 수신하는 경우에 발생할 수 있습니다. 기본적으로 검색의 노드는 LLDP를 통해 수신한 첫 번째 infra VLAN을 수락합니다. 이를 해결하려면 이 leaf와 APIC을 제외한 다른 ACI 노드 간의 연결을 제거한 다음 'acidiag touch clean' 및 'reload' 명령을 사용하여 스위치를 다시 로드합니다. 스위치가 부팅되면 올바른 인프라 VLAN이 프로그래밍되었는지 확인합니다. 이 값이 참인 경우 연결을 다른 노드로 복원할 수 있으며 사용자는 ACI 패브릭 설정을 더 진행할 수 있습니다.

시나리오 2 - 다른 APIC가 클러스터에 가입하지 않음

이 시나리오에서는 모든 패브릭 노드가 검색되었지만 APIC2 및 3이 아직 APIC 클러스터에 가입하지 않았습니다.

APIC에서 설정 스크립트 값을 검증합니다. 일치해야 하는 값은 다음과 같습니다.

- 패브릭 도메인

- 패브릭 ID

- TEP 풀

- 인프라 VLAN

- GIPo

- 클러스터 크기

- 펌웨어 버전

apic1# cat /data/data_admin/sam_exported.config

Setup for Active and Standby APIC

fabricDomain = ACIFabric1

fabricID = 1

systemName =apic1

controllerID = 1

tepPool = 10.0.0.0/16

infraVlan = 3967

GIPo = 225.0.0.0/15

clusterSize = 3

standbyApic = NO

enableIPv4 = Y

enableIPv6 = N

firmwareVersion = 4.2(1j)

ifcIpAddr = 10.0.0.1

apicX = NO

podId = 1

oobIpAddr = 10.48.22.69/24

모든 3개의 APIC에서 'acidiag cluster' 명령을 사용하여 일반적인 문제를 확인합니다.

apic1# acidiag cluster

Admin password:

Product-name = APIC-SERVER-M1

Serial-number = FCH1906V1XV

Running...

Checking Core Generation: OK

Checking Wiring and UUID: OK

Checking AD Processes: Running

Checking All Apics in Commission State: OK

Checking All Apics in Active State: OK

Checking Fabric Nodes: OK

Checking Apic Fully-Fit: OK

Checking Shard Convergence: OK

Checking Leadership Degration: Optimal leader for all shards

Ping OOB IPs:

APIC-1: 10.48.22.69 - OK

APIC-2: 10.48.22.70 - OK

APIC-3: 10.48.22.71 - OK

Ping Infra IPs:

APIC-1: 10.0.0.1 - OK

APIC-2: 10.0.0.2 - OK

APIC-3: 10.0.0.3 - OK

Checking APIC Versions: Same (4.2(1j))

Checking SSL: OK

Done!

마지막으로, 'avread'를 사용하여 이 설정이 모든 APIC에서 일치하는지 확인합니다. 이 명령은 유사한 출력을 표시하는 일반적인 'acidiag avread'와는 다른 명령이지만, 사용하기 쉽도록 구문 분석됩니다.

apic1# avread

Cluster:

-------------------------------------------------------------------------

fabricDomainName        ACIFabric1

discoveryMode           PERMISSIVE

clusterSize             3

version                 4.2(1j)

drrMode                 OFF

operSize                3

APICs:

-------------------------------------------------------------------------

APIC 1                  APIC 2                  APIC 3

version           4.2(1j)                 4.2(1j)                 4.2(1j)

address           10.0.0.1                10.0.0.2                10.0.0.3

oobAddress        10.48.22.69/24          10.48.22.70/24          10.48.22.71/24

routableAddress   0.0.0.0                 0.0.0.0                 0.0.0.0

tepAddress        10.0.0.0/16             10.0.0.0/16             10.0.0.0/16

podId             1                       1                       1

chassisId         3c9e5024-.-5a78727f     573e12c0-.-6b8da0e5     44c4bf18-.-20b4f52&    cntrlSbst_serial  (APPROVED,FCH1906V1XV)  (APPROVED,FCH1921V1Q9)  (APPROVED,FCH1906V1PW)

active            YES                     YES                     YES

flags             cra-                    cra-                    cra-

health            255                     255                     255

apic1#

시나리오 3 - 스파인이 패브릭 멤버십에 표시되지 않음

이 시나리오에서 첫 번째 leaf는 패브릭에서 검색되었지만 Fabric Membership(패브릭 멤버십) 하위 메뉴 아래에 검색을 위한 spine은 표시되지 않았습니다.

Leaf에서 Spine으로의 물리적 연결을 확인합니다. 아래 예에서 leaf 스위치는 인터페이스 e1/49를 통해 스파인에 연결됩니다.

leaf101# show int eth1/49

Ethernet1/49 is up

admin state is up, Dedicated Interface

Hardware: 1000/10000/100000/40000 Ethernet, address: 0000.0000.0000 (bia e00e.daa2.f3f3)

MTU 9366 bytes, BW 100000000 Kbit, DLY 1 usec

reliability 255/255, txload 1/255, rxload 1/255

Encapsulation ARPA, medium is broadcast

Port mode is routed

full-duplex, 100 Gb/s

...

포트가 서비스 중단 상태인 경우, 직접 연결된 leaf에서 LLDP를 수신한 스파인을 확인합니다.

(none)# show lldp neighbors

Capability codes:

(R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device

(W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other

Device ID            Local Intf      Hold-time  Capability  Port ID

leaf102               Eth2/27         120        BR          Eth1/53

leaf103               Eth2/29         120        BR          Eth1/49

leaf101               Eth2/32         120        BR          Eth1/51

Total entries displayed: 3

또 다른 검증은 leaf와 spine 간에 버전 차이가 없는지 확인하는 것입니다. 있는 경우 새로운 버전을 스파인의 /bootflash에 복사하여 상황을 해결합니다. 그런 다음 다음 다음 명령을 사용하여 소프트웨어로 부팅하도록 스위치를 구성합니다.

(none)# ls -alh /bootflash

total 3.0G

drwxrwxr-x  3 root admin 4.0K Oct  1 20:21 .

drwxr-xr-x 50 root root  1.3K Oct  1 00:22 ..

-rw-r--r--  1 root root  3.5M Sep 30 21:24 CpuUsage.Log

-rw-rw-rw-  1 root root  1.7G Sep 27 14:50 aci-n9000-dk9.14.2.1j.bin

-rw-r--r--  1 root root  1.4G Sep 27 21:20 auto-s

-rw-rw-rw-  1 root root     2 Sep 27 21:25 diag_bootup

-rw-r--r--  1 root root    54 Oct  1 20:20 disk_log.txt

-rw-rw-rw-  1 root root   693 Sep 27 21:23 libmon.logs

drwxr-xr-x  4 root root  4.0K Sep 26 15:24 lxc

-rw-r--r--  1 root root  384K Oct  1 20:20 mem_log.txt

-rw-r--r--  1 root root  915K Sep 27 21:10 mem_log.txt.old.gz

-rw-rw-rw-  1 root root   12K Sep 27 21:17 urib_api_log.txt

(none)# setup-bootvars.sh aci-n9000-dk9.14.2.1j.bin

In progress

In progress

In progress

In progress

Done

새 이미지가 bootflash에서 계속 제거되는 경우 이전 이미지나 자동 실행 파일을 제거하여 폴더가 절반 이하로 채워졌는지 확인합니다. 스위치에서 'df -h'를 사용하여 공간 사용률을 확인합니다.

부팅 변수를 설정한 후 스위치를 다시 로드하면 새 버전으로 부팅됩니다.

다시 로드 후 FPGA, EPLD 및 BIOS 검증이 필요할 수 있습니다. 이 문제에 대한 추가 트러블슈팅은 하위 섹션 "리프/스파인 EPLD/FPGA가 올바르지 않음, F1582"를 참조하십시오.

시나리오 4 - 초기 패브릭 검색 후 클러스터가 Fully-Fit과 Degraded 사이에서 플래핑됩니다.

새로운 패브릭 설정 이후에 이러한 현상이 발생하는 경우 패브릭에 연결하는 APIC-M3 또는 APIC-L3의 케이블 연결이 잘못되어 발생할 수 있습니다. APIC에 연결된 두 leaf 스위치에서 "show lldp neighbors"를 실행하여 잘못된 케이블을 확인할 수 있습니다. 이 작업을 여러 번 실행하면 두 리프 스위치에 동일한 APIC 인터페이스가 표시됨을 알 수 있습니다.

APIC-M3/L3 서버의 뒷면은 다음과 같습니다.

APIC-M3/L3 서버 후면 보기

APIC-M3/L3의 경우 VIC 카드에는 4개의 포트가 있습니다. ETH2-1, ETH2-2, ETH2-3 및 ETH2-4(아래 참조):

레이블이 있는 APIC VIC 1455 보기

APIC 서버를 리프 스위치에 연결하는 규칙은 다음과 같습니다.

- 모든 포트의 속도는 10기가비트 또는 25기가비트여야 합니다.

- ETH2-1 및 ETH2-2는 APIC OS의 eth2-1('ifconfig' 출력)에 해당하는 하나의 포트 채널 쌍입니다.

- ETH2-3 및 ETH2-4는 APIC OS의 eth2-2('ifconfig' 출력)에 해당하는 다른 포트 채널 쌍입니다.

- 포트 채널 쌍당 하나의 연결만 허용됩니다. 예를 들어 한 케이블을 ETH2-1 또는 ETH2-2에 연결하고 다른 케이블을 ETH2-3 또는 ETH2-4에 연결합니다(포트 채널 쌍의 두 ETH는 연결하지 않음). 이로 인해 패브릭 검색 문제가 발생할 수 있습니다.).

추가 이해를 위해 APIC 결합에 대한 VIC 포트 매핑을 표현하면 다음과 같습니다.

VIC 1455 포트 - APIC 이중 패브릭 포트