简介
 
   
  本文档介绍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”位置找到这些日志。