簡介
本文檔介紹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):裝置驅動程式(USD)位於線卡(LC)站點,更接近硬體層或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.登入到Cisco APIC GUI。
步驟 2. 在選單欄上,導航到Fabric —> Access Policies—>Policy—>InterfacePOE
VLAN、EPG、最大功率相關配置可在此頁面中定義

步驟 3. 在選單欄上,導航到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相關的介面配置,或者插入並刪除PD (OIR)以使埠脫離錯誤狀態
如果出現不可恢復的錯誤,交換機上的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狀態OK)被退回(關閉/不關閉),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)是不可或缺的。它主要記錄初始硬體層(稱為USD),負責與PD裝置連線。排除埠特定問題故障或檢驗與電源裝置的初始互動時,請參考此日誌。透過檢查「poed_usd.log」檔案中的條目,我們可以確認硬體層和PD裝置之間是否正在進行預期的第一級互動。
poed.log:此日誌檔案包含乙太網供電(PoE)守護進程生成的日誌,在ACI環境中各種進程之間的互動中發揮著關鍵作用。此守護程式有助於與CDP、LLDP和APIC等基本進程進行通訊。因此,當需要檢查PoE守護進程與其他進程之間的無縫互動時,請參考這些日誌。
可以在枝葉的「/var/log/dme/log」位置找到這些日誌。