目录

简介

什么是以太网供电(POE)

PoE工作方式

负责PoE操作的不同软件模块

以太网供电(PoE)的系统流程

PoE -用电设备(PD)检测

配置:

使用APIC GUI配置POE。

验证与故障排除:

以太网供电端口状态

通过CLI验证POE

常见故障排除指南

验证环境条件和症状

验证受电设备和交换机的具体信息

日志和日志位置

简介

本文档介绍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)检测

- PoE守护程序通过激活Ti PoE控制器硬件和Portola USD PoE控制器硬件上的检测来触发启用PoE的端口上的PD检测Portola USD检测试行标准Cisco PD，而Titanium控制器检测符合IEEE的PD

- 当Portola USD检测到PD时，它会通过服务器发送事件(SSE)呼叫通知PoE守护进程。USD将检测设置为连续模式并发送特定的
Fast Link Pulse (FLP)，检查同一FLP是否返回。如果返回同一FLP，它会生成一个返回到USD的DPMSTAT更改中断，以通知对PD的检测。物理层(PHY)然后继续执行自动协商以启用链路

- 如果未检测到用电设备(PD)，系统将尝试通过自动协商建立链路。如果没有连接PD并且链路接通，则生成一个连接中断，通常是在另一端是常规网络接口卡(NIC)的情况下

- 如果以太网供电(PoE)守护程序在从PoEUSD收到任何检测事件之前收到链路恢复事件，则会通过向USD发出SSE呼叫来停止这两种类型的检测

- 如果PoE守护程序从PoE USD收到检测事件，则它假设PD符合IEEE标准并使用类信息来决定为PD供电。它还会停止思科PD检测

- 如果PoE守护进程从USD收到检测事件，则会停止PoE控制器的检测。PoE守护程序检查电源是否可用，并相应地直接通知PoE USD启用端口电源

- 任一种PD的断开连接由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”位置找到这些日志。