简介
本文档介绍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的工作原理
以太网供电(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):守护程序位于交换机的监控(SUP)端,是PoE操作的核心
- PoE美元(LC):位于线卡(LC)站点的设备驱动程序(USD)更靠近硬件层或PoE控制器。它充当守护程序和控制器之间的管道,随着我们向前发展,它负责所有控制器或硬件级别的操作
- 链路层发现协议(LLDP)和思科发现协议(CDP)用于电源协商:为了协商和调整功率,我们使用LLDP和CDP。一旦为设备启用电源,如果设备具有支持LLDP和CDP扩展电源TLV(Type-Length Values)的功能,则可以使用这些协议进行电源协商调整。我们还对支持PoE节点策略和接口策略的策略元素进行了更改,以启用此功能
- 应用策略基础设施控制器(APIC)GUI/CLI,具有用于配置的具象状态传输应用编程接口(REST API)集成
以太网供电(PoE)的系统流程
- 为了简化流程并减少交换机上的负载,典型的系统流程涉及守护程序通过USD与PoE硬件通信
- 托管对象(MO)处理通过APIC完成,并且存在与LLDP和CDP的交互
- 最后,PoE端点是LLDP和CDP之间交换信息的位置

PoE — 用电设备(PD)检测
配置:
使用APIC GUI配置POE。
要配置,请执行以下操作:
步骤1.登录到Cisco APIC GUI。
步骤2.在菜单栏上,导航到Fabric —> Access Policies—>Policy—>InterfacePOE
VLAN、EPG、最大功率相关配置可以在此页面上定义

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

第4步:在菜单栏上,导航到Access Policies—>Policies—>Switch—>POE Node
此处我们必须定义POE节点策略

验证与故障排除:
以太网供电端口状态
如果您在交换机端口上启用了以太网供电(PoE),则可以看到该端口的下方PoE状态之一
- 开:在端口上启用PoE,并且提供的电源来自电源。然后向PoE供电设备(PD)提供所输送的电源
- Pwr-deny:在端口上启用PoE,但由于用户配置限制或电源设备(PSE)的功率容量不足,无法供电
- Faulty:端口遇到故障情况。有故障的PoE端口状态可以自行解决,或者需要用户干预来纠正问题。如果出现可恢复的错误,交换机上的PoE后台程序可以根据配置、设备类别和已安装的功率容量恢复和重新接通电源。如果遇到可恢复的错误,可以尝试更改端口的管理状态、更改与PoE相关的接口配置,或者插入和删除(OIR)PD以使端口脱离错误状态
如果出现不可恢复的错误,交换机上的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”中找到日志。