このドキュメントでは、APIC のネットワーク接続性を確認する方法について解説します。
APIC NIC の冗長構成
APIC には、inband 用の VIC 上の 10GE 2ポートと、oob 用の LOM の 1GE 2ポートがあります。
それぞれの2ポートのペアでは bonding で冗長性を確保するようになっており、片側が active 、もう一方が backup として動作します。
各ポートと bonding interface の紐づけは以下となります。
|
NIC1
|
NIC2
|
bonding
|
inband
|
eth2-1
|
eth2-2
|
bond0
|
oob
|
eth1-1
|
eth1-2
|
bond1
|
bonding interface を構成するどちらのポートが active となっているかは、以下のコマンドで確認することが出来ます。
この情報と次の lldp の情報から、対象の APIC がどの leaf のどのポートを経由して、管理通信を行っているか分かります。
apic1# cat /proc/net/bonding/bond0 <===== oobの場合は bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth2-1 <===== activeはeth2-1
MII Status: up
MII Polling Interval (ms): 60
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth2-1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:f2:8b:7d:c4:93
Slave queue ID: 0
Slave Interface: eth2-2
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:f2:8b:7d:c4:94
Slave queue ID: 0
|
APICでlldp確認
leaf や spine では "show lldp neighbor" コマンドで接続機器の lldp の情報を確認することが出来ますが、
APIC ではこのコマンドは使えず、代わりに以下の何れかのコマンドで確認することが出来ます。
(ただし、2018年現在(version 3.2) oob interface に関しては、lldp が実装されておりません。)
- acidiag run lldptool in eth2-X
- bash shell で show lldptool in eth2-X
どちらのコマンドも出力結果は同じです。以下は bash shell で show lldptool in eth2-1 を実行した結果です。
apic1# bash
admin@apic1:~> show lldptool in eth2-1
Chassis ID TLV
MAC: 64:12:25:ed:78:4b
Port ID TLV
Local: Eth1/48
Time to Live TLV
120
Port Description TLV
topology/pod-1/paths-1101/pathep-[eth1/48]
System Name TLV
fab1-p1-leaf1
System Description TLV
topology/pod-1/node-1101
System Capabilities TLV
System capabilities: Bridge, Router
Enabled capabilities: Bridge, Router
Management Address TLV
IPv4: 172.31.251.101
Ifindex: 83886080
....
|
APIC infra ip,vlan の確認
APICが fabric の管理に利用している infra ip は以下のコマンドで確認することが出来ます。
apic1# show controller
Fabric Name : jtac3
Operational Size : 3
Cluster Size : 3
Time Difference : 5241580531
Fabric Security Mode : permissive
ID Pod Address In-Band IPv4 In-Band IPv6 OOB IPv4 OOB IPv6 Version Flags Serial Number Health
---- ---- ------------ --------------- ------------- --------------- ---------- ---------- ------- -------------- -----------
1* 1 10.0.0.1 <=== 192.168.1.1 fc00::1 10.71.168.217 :: 3.2(1l) crva- FCH2022V30R fully-fit
2 1 10.0.0.2 192.168.1.2 fc00::1 10.71.168.218 :: 3.2(1l) crva- FCH1949V277 fully-fit
3 1 10.0.0.3 192.168.1.3 fc00::1 10.71.168.219 :: 3.2(1l) crvas FCH1951V1SA fully-fit
|
もしくは以下のコマンドでも確認出来ます。
apic1# acidiag avread | grep 'Local appliance'
Local appliance ID=1 ADDRESS=10.0.0.1 TEP ADDRESS=10.0.0.0/16 CHASSIS_ID=9f885b60-1090
|
このipアドレスをもとに infra port を探します。interface 名の bond0 に続く数字が infra vlan を示します。
以下の例では、 infra vlan が 4093 になっている事が分かります。
apic1# ifconfig -a | grep -B1 '10.0.0.1'
bond0.4093: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1496
inet 10.0.0.1 netmask 255.255.255.255 broadcast 10.0.0.1
|
APIC infra network の疎通確認
他のAPICの infra ip や、switch のvtep ip 宛へ ping を行うことで疎通確認します。
他のAPICの infra ip は上記の "show controller" コマンドで確認できます。
Switchの vtep ip は、以下のコマンドで確認出来ます。
apic1# acidiag fnvread
ID Pod ID Name Serial Number IP Address Role State LastUpdMsgId
--------------------------------------------------------------------------------------------------------------
101 1 fab3-leaf1 FDO211506NJ 10.0.96.67/32 leaf active 0
102 1 fab3-leaf2 FDO21141MY3 10.0.56.98/32 leaf active 0
103 1 fab3-leaf3 FDO21162J7H 10.0.136.65/32 leaf active 0
104 1 fab3-leaf4 FDO21162HY8 10.0.96.65/32 leaf active 0
105 1 fab3-leaf5 FDO20340CEG 10.0.56.96/32 leaf active 0
106 1 fab3-leaf6 FDO203202BN 10.0.96.94/32 leaf active 0
107 1 fab3-leaf7 FDO203202GG 10.0.248.32/32 leaf active 0
108 1 fab3-leaf8 FDO203308DH 10.0.96.93/32 leaf active 0
201 1 fab3-spine1 FOX1821GYQG 10.0.248.30/32 spine active 0
|
pingで疎通確認を行います。
apic2へのping
apic1# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) from 10.0.0.1 bond0.4093: 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=63 time=0.166 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=63 time=0.089 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=63 time=0.144 ms
...
leafへのping
apic1# ping 10.0.96.67
PING 10.0.96.67 (10.0.96.67) from 10.0.0.1 bond0.4093: 56(84) bytes of data.
64 bytes from 10.0.96.67: icmp_seq=1 ttl=62 time=0.161 ms
64 bytes from 10.0.96.67: icmp_seq=2 ttl=62 time=0.141 ms
64 bytes from 10.0.96.67: icmp_seq=3 ttl=62 time=0.148 ms
... |
もし、疎通が取れない場合は、lldp で確認した APIC が接続された leaf で infra vlan が一致していて、接続ポートにその vlan が設定されているか確認します。
以下のコマンドで、Name が infra:default となっているエントリーの Encap に表示される vlan-XXXX が infra vlan を表し、Ports でこの vlan を許可しているポートを示します。
fab1-p1-leaf1# show vlan extended
VLAN Name Encap Ports
---- -------------------------------- ---------------- ------------------------
9 infra:default vxlan-16777209, Eth1/43, Eth1/44,
vlan-4093 Eth1/48
|
infra vlan が APIC 、 leaf switch で一致していて、接続ポートでも許可されているにも関わらず、infra vlan での疎通が取れないような場合は、APIC の bond0 の active となっている VIC のポートを link down させ、backup だったポートを active に切り替え疎通確認を行います。
この際、APIC 自身では、VIC のポートを link down させる事は出来ないため、leaf 側で接続ポートを disable にするか、ケーブルを抜く必要があります。