简介
本文档介绍POE并涵盖ACI中PoE的验证和故障排除。
什么是以太网供电(POE)
以太网供电是通过以太网电缆传输电力和网络数据的技术。借助PoE,交换机的每个以太网接口都可以为互联网协议语音(VoIP)电话、互联网协议摄像头(IP摄像头)或安全摄像头以及无线接入点(AP)等设备供电。PoE设备(例如提供电源的交换机)称为电源设备(PSE)。提供的电源为直流(DC)形式。IP电话或接入点等正在供电的设备称为用电设备(PD)。
目前,支持PoE的架顶式交换机(TOR)包括N9K-C9358GY-FXP、N9K-C9348GC-FXP和N9K-C93108TC-FX3P。POE支持不同的功率水平(如802.3af/at)和最大功率为30W。
以太网供电的工作原理
以太网供电(PoE)的工作方式是通过标准以太网电缆(通常是Cat5e或Cat6)同时传输电源和数据信号。PoE功能的核心是电源设备(PSE),它可以是支持PoE的网络交换机或馈电器。当与Poe兼容的受电设备(PD)(例如无线接入点或IP摄像头)连接到网络时,PSE会检测到其存在。此检测会触发PSE和PD之间的协商过程,在此过程中,PSE和PD进行通信以确定电源需求和功能。然后,PSE将低压DC电流注入以太网电缆,从而向PD供电。此电源通过以太网电缆中未使用的线对传输,通常在8线电缆中引脚4/5和7/8,而数据信号通过其他线对传输。该PD接收该电源并且利用它来操作,而不需要单独的电源。PoE标准(例如IEEE 802.3af、802.3at (PoE+)和802.3bt (PoE++))指定了可通过以太网电缆提供的最大功率电平,较新的标准支持具有较高功率需求的设备更高的功率要求。
负责PoE操作的不同软件模块
- PoE守护程序(SUP):该守护程序位于交换机的Supervisor (SUP)端,是PoE操作的核心
- PoE USD (LC):位于线卡(LC)站点的设备驱动程序(USD)更接近硬件层或PoE控制器。它充当守护程序和控制器之间的管道,而且随着我们向前发展,它将负责所有控制器或硬件级别的操作
- 链路层发现协议(LLDP)和思科发现协议(CDP)用于电源协商:为了协商和调整电源,我们使用LLDP和CDP。一旦为设备启用电源,如果设备具有支持LLDP和CDP扩展电源TLV(类型长度值)的功能,则可以使用这些协议进行电源协商调整。我们还对支持PoE节点策略和接口策略的策略元素进行了更改,以启用此功能
- 应用策略基础设施控制器(APIC) GUI/CLI与具象状态传输应用编程接口(REST API)集成以进行配置
以太网供电(PoE)的系统流程
- 为了简化流程并减少交换机上的负载,典型的系统流程包括守护程序通过USD与PoE硬件通信
- 托管对象(MO)处理是通过APIC完成的,并且存在与LLDP和CDP的交互
- 最后,PoE终端是LLDP和CDP之间交换信息的位置

PoE -用电设备(PD)检测
配置:
使用APIC GUI配置POE。
配置:
步骤1:登录到思科APIC GUI。
第二步: 在菜单栏上导航到Fabric —> Access Policies—>Policy—>InterfacePOE
VLAN、EPG、最大功率相关配置可在此页面上定义

第三步: 在菜单栏上导航到Access Policies—>Interface—>Policy Group—>Leaf Access Port
我们配置接口策略组(IPG),在此组下关联我们在之前步骤中创建的POE接口策略。

第4步:在菜单栏中,导航至访问策略—>策略—>交换机—>POE节点
此处,我们必须定义POE节点策略

验证与故障排除:
以太网供电端口状态
如果在交换机端口上启用了以太网供电(PoE),您会看到该端口的下方PoE状态之一
- 开:端口上启用了PoE,并且提供的电源来自电源。然后向PoE供电设备(PD)提供所输送的电源
- Pwr-deny:在端口上启用PoE,但由于用户配置限制或电源设备(PSE)的电源容量不足,无法供电
- Faulty:端口出现了故障。有故障的PoE端口状态可以自行解决,或者需要用户干预才能纠正问题。如果出现可恢复的错误,交换机上的PoE守护程序可以根据配置、设备类型和安装的电源容量来恢复和重新接通电源。如果遇到可恢复的错误,可以尝试更改端口的管理状态,更改与PoE相关的接口配置,或者插入并删除(OIR)PD以使端口脱离错误状态
如果出现不可恢复的错误,交换机上的PoE守护程序会关闭端口的电源
- 关闭:端口上禁用PoE,并且该端口用作典型的数据端口
这些状态可以在线内电源中验证,验证中会提及详细信息。
通过CLI验证POE
我们使用Cisco CP-8841进行验证和故障排除,它是枝叶交换机上连接的端口Eth 1/7
枝叶:
要确认枝叶上的接口状态,请执行以下操作:
1) Leaf# show interface ethernet 1/7 status
------------------------------------------------------------------------------------------------
Port Name Status Vlan Duplex Speed Type
------------------------------------------------------------------------------------------------
Eth1/7 -- connected trunk full 1G 1g
要确认POE和瓦特可用或已提供,我们检查内联电源:
2) Leaf#show power inline
Module Available Used Remaining
(Watts) (Watts) (Watts)
------ --------- ------ ---------
1 305.0 7.4 297.6
Interface Admin Oper Supplied Delivered Device IEEE Max
(Watts) (Watts) Class
--------- ----- ---- -------- --------- ------ ----- ---
Eth1/7 auto on 7.4 6.5 Cisco IP Phone 8841 2 30.0
If we need to check power inline for specific interface we mention the interface:
Leaf# show power inline ethernet 1/7
Interface Admin Oper Supplied Delivered Device IEEE Max
(Watts) (Watts) Class
--------- ----- ---- -------- --------- ------ ----- ---
Eth1/7 auto on 7.4 6.5 Cisco IP Phone 8841 2 30.0
Interface AdminPowerMax AdminConsumption
(Watts) (Watts)
--------- ------------- ----------------
Eth1/7 30.0 3.9
要检查状态和内部PoE详细信息,请执行以下操作:
3 ) Leaf# show system internal poe info ethernet 1/7
Interface name : Eth1/7
Interface mode : auto
Interface Priority : low
PD description : Cisco IP Phone 8841
Policer action : error disable
Max power : 30.0
Default power : 4.0
PS supplied power : 7.4
PD Base power : 7.0
Port delivered power : 6.5
Port consumption pwr : 3.9
Max drawn power : 5.1
Policer measured pwr : 0.0
PD Class : IEEE 2
PD Discovery mode : IEEE
PD Detection status : Delivering <<<<<
Num violations : 0
要检查详细消耗量,请执行以下操作:
4) Leaf# show power inline consumption
Interface Consumption Admin
Configured Consumption (Watts)
---------- ----------- -------------------
Eth1/1 NO 15.4
Eth1/2 NO 15.4
Eth1/3 NO 15.4
Eth1/4 NO 15.4
Eth1/5 NO 15.4
Eth1/6 NO 15.4
Eth1/7 YES 4.0 <<<<<
Eth1/8 NO 15.4
检查特定接口相关的PoE事件历史记录日志
5) Leaf# vsh -c "show system internal poe event-history interface ethernet 1/7"
FSM: <Ethernet1/7> has 4 logged transitions<<<<<
1.FSM:<Ethernet1/7> Transition at 2024-04-19T12:15:46.549+00:00T12:48:38.767242000+00:00
Previous state: [PORT_ST_POE_SHUT]
Triggered event: [POE_PORT_EV_START_DETECTION]
Next state: [PORT_ST_POE_DETECTING] <-- Initial Status
2.FSM:<Ethernet1/7> Transition at 2024-04-19T12:15:46.549+00:00T12:50:03.337279000+00:00
Previous state: [PORT_ST_POE_DETECTING]
Triggered event: [POE_PORT_EV_START_DETECTION]
Next state: [No transition found]
3.FSM:<Ethernet1/7> Transition at 2024-04-19T12:16:53.135561000+00:00
Previous state: [PORT_ST_POE_DETECTING]
Triggered event: [POE_PORT_EV_LINK_UP]
Next state: [PORT_ST_POE_SHUT]
4.FSM:<Ethernet1/7> Transition at 2024-04-19T12:16:53.034089000+00:00
Previous state: [PORT_ST_POE_SHUT]
Triggered event: [POE_PORT_EV_LINK_DOWN] <--Eth1/7 goes down, no further changes on the poe status
Next state: [FSM_ST_NO_CHANGE]
Curr state: [PORT_ST_POE_DETECTING] <--Last poe State seen in the Port
使用MO验证
1) Leaf# moquery -c poeInst
Total Objects shown: 1
# poe.Inst
adminSt : enabled
childAction :
consumption : 4000
ctrl :
dn : sys/poe/inst
lcOwn : local
modTs : 2024-04-19T12:11:46.549+00:00
monPolDn : uni/infra/moninfra-default
name :
operErr :
pwrCtrl :
rn : inst
status :
totalAvail : 305000
totalFree : 297565
2) Leaf# moquery -c poeIf
Total Objects shown: 1
# poe.If
id : eth1/7
absentCounter : 1
adminSt : enabled
childAction :
consumption : 4000
cutoffPower : 7955
deliveredPower : 6543
descr :
devClass : IEEE PD - Class 2
devName : Cisco IP Phone 8841
dn : sys/poe/inst/if-[eth1/7]
faultStatus : on
invalidSignatureCounter : 0
lcOwn : local
max : 30000
modTs : 2024-04-19T12:09:04.695+00:00
mode : auto
monPolDn : uni/infra/moninfra-default
name : Hub_POE
operSt : on
overloadCounter : 0
poeEpg : uni/tn-HUB/ap-Hub_Anp/epg-Hub_EPG1
poeVoiceVlan : vlan-150
policeAct : err-dis
policeSt : na
policingPower : 7000
portConsumption : 0
portPriority : 0
powerDeniedCounter : 2
prioHigh : no
rn : if-[eth1/7]
shortCounter : 0
status :
suppliedPower : 7435
used : 7435
3) Leaf# moquery -c poemodule
Total Objects shown: 1
# poe.Module
mac : 30:30:3A:30:30:3A
vlan : vlan-150
childAction :
dn : sys/poe/inst/if-[eth1/7]/mac-30:30:3A:30:30:3A-[vlan-150]
epg : uni/tn-HUB/ap-Hub_Anp/epg-Hub_EPG1
id : eth1/7
modTs : never
rn : mac-30:30:3A:30:30:3A-[vlan-150]
status :
vlanType : access
4) Leaf# moquery -c poeModuleVDAEp
Total Objects shown: 1
# poe.VDAEp
mac : 30:30:3A:30:30:3A
vlan : vlan-150
epg : uni/tn-HUB/ap-Hub_Anp/epg-Hub_EPG1
childAction :
dn : sys/poe/inst/if-[eth1/7]/vdaep-30:30:3A:30:30:3A-[vlan-150]-[uni/tn-HUB/ap-Hub_Anp/epg-Hub_EPG1]
id : unspecified
lcOwn : local
modTs : 2024-04-19T12:09:05.478+00:00
monPolDn : uni/infra/moninfra-default
rn : vdaep-30:30:3A:30:30:3A-[vlan-150]-[uni/tn-HUB/ap-Hub_Anp/epg-Hub_EPG1]
status :
vlanType : access
常见故障排除指南
验证环境条件和症状
- 有问题的用电设备(PD)是否根本未通电,还是先短暂通电然后断电?
- 问题是在初始安装期间开始的,还是在设备正常工作的一段时间内开始的?
- 如果问题在用电设备正常工作后出现,会有什么变化?是否有任何硬件或软件的更改?是否有任何环境变化(温度、湿度、气流等)?是否有任何电气变化(维护、中断、干扰等)?
- 问题发生时,本地网络中是否出现了问题?使用APIC控制面板查看故障和事件。如果是,是否与该本地网络的特定问题有关?
- 问题是否发生在白天或夜晚的特定时间?如果是,在该特定时间/日期是否存在任何已知的环境/电气变化?
- 是否同时注意到任何网络事件?流量泛洪、风暴、环路、网络拥塞增加以及高于正常资源利用率(CPU、接口等)可能导致临时失去与PD另一个网元之间的连接,从而导致PD重新启动。
验证受电设备和交换机的具体信息
- 各交换机上的电源是否有足够的线内电源?
- 交换机的所有端口是否不提供PoE,还是仅提供少量端口?
- 同一交换机上不同PoE控制器上的端口如何?
- 是否只有新连接的端口不提供PoE,并且同一交换机上已连接的端口是否可以正常工作?
- 如果同一交换机上已连接的端口之一(PoE状态正常)被退回(关闭/不关闭),PoE功能是否中断或继续正常运行?
- 数据连接是否受影响,或仅是PoE功能?
- 问题是否仅限于一种PD类型/型号?
完成一般故障排除后,请继续执行以下步骤:
第 1 步:验证受电设备是否在其他端口上运行,并且问题只发生在一个端口上
第 2 步使用show interface status命令验证端口是否未脱离服务状态或处于“Err-disabled”状态
第3步:使用show power inline interface-id命令验证端口上是否未配置内联电源“never”。
第4步:验证从电话到交换机端口的以太网电缆是否正常。将已知良好的非PoE以太网设备连接到以太网电缆,并确保它与另一台主机建立链路并交换流量
第5步:确保从交换机前面板到所连接设备(用电设备)的总电缆长度不超过100米
步骤6.从交换机端口拔下以太网电缆。使用短以太网电缆将已知良好的以太网设备连接到此交换机端口(不在配线面板上)。检验设备是否建立了以太网链路并与另一台主机交换流量。接下来,将用电设备连接到此端口并验证其是否通电。如果它不通电
第7步:使用show power inline和show power inline detail命令将已连接用电设备的数量与交换机电源预算(可用PoE)进行比较。验证交换机电源预算是否能够为设备供电
日志和日志位置
当常规故障排除步骤不起作用时,我们必须使用以下步骤将问题从ACI日志中隔离:
poed_usd.log:要监控设备之间的交互(尤其是PD),此日志文件是必不可少的。它主要记录负责与PD设备接口的初始硬件层(称为USD)。在排除端口特定问题或检验与电源设备的初始交互时,请参考此日志。通过检查“poed_usd.log”文件中的条目,我们可以确认硬件层和PD设备之间是否发生了预期的第一级交互。
poed.log:此日志文件包含以太网供电(PoE)后台守护程序生成的日志,后者在ACI环境中不同进程之间的交互中发挥着关键作用。此守护程序可促进与CDP、LLDP和APIC等基本进程的通信。因此,当需要检查PoE守护进程与其他进程之间的无缝交互时,请参考这些日志。
可以在枝叶交换机的“/var/log/dme/log”位置找到这些日志。