VxRail:顯示警告「偵測到高 pnic rx 一般錯誤率」或「偵測到高 pNic 錯誤率」的 vCenter
Summary: 顯示警告訊息的 vCenter,例如「警告:在 vmnicX 上偵測到高 pnic rx 一般錯誤率」;「偵測到高 pNic 錯誤率,請檢查主機的 vSAN 效能檢視以取得詳細資料」
Symptoms
此訊息有兩個不同的問題,必須區別對待。
問題 1:
vCenter Web 用戶端會針對多個主機顯示以下訊息。警告中的 vmnic 可以是主機連線到網路的任何 vmnic。
**這與問題 2 不同 (如下所述)。問題 2 警報中的 vmnic 僅是 vSAN 的使用中和 (或) 備用 vmnic。**
Warning: High pnic rx generic error rate detected on vmnicX.
在 ESXi 主機上執行下列命令時,使用者會看到許多 rx (接收) 長度錯誤,且錯誤會持續增加。這會觸發警告。
(將「X」取代為正確的 vmnic 編號)
esxcli network nic stats get -n vmnicX vmnic0 Packets received: 2611289 Receive length errors: 279662 Multicast packets received: 529478 Broadcast packets received: 512315 vmnic1 packets received: 5812398 Receive length errors: 279518 Multicast packets received: 538956 Broadcast packets received: 427913
主機中的所有 vmnic 幾乎都會具有完全相同的 "Receive length error" 計數。這表示 "Multicast packets received" 或 "Broadcast packets received" 造成 "Receive length errors."
**多點傳送封包在同一 VLAN 中泛濫,通常廣播封包也是如此。
我們可以計算接收長度錯誤和廣播封包的比率,或者接收長度錯誤和多點傳送封包的比率。然後將其與其他節點進行比較。
即使在不同的節點上,多點傳送或廣播造成的接收長度錯誤百分比也幾乎相同。**
若要針對問題 1 進行故障診斷,請在 vmnic 中擷取封包:
- SSH 至節點
- 執行下列命令:(將「
vmnicX」取代為接收到長度錯誤的 vmnic)pktcap-uw --uplink vmnicX --dir 2 -o /tmp/lengtherror.pcap
- 擷取錯誤上行鏈路封包,並以 ctrl+c 停止。
- 將 .pcap 檔案下載至本機桌面,並使用 Wireshark 開啟。
- 對於廣播封包篩選器:
ip.addr == 255.255.255.255 - 對於多點傳送封包篩選器:
eth.dst == ff:ff:ff:ff:ff:ff - 嘗試從篩選結果中尋找「格式不正確的封包」。
- 有時這個篩選器會起作用 (僅在 Wireshark 4.0.12 上):
((eth.len != frame.len - 14) || eth.len != frame.len - 18)

問題 2:
警報已命名。
High pNic error rate detected Check the host's vSAN performance view for details.
當使用者檢查主機的 vSAN 效能檢視時,會發現警報中提到的 vmnic 一律是 vSAN 流量的使用中或 (和) 備用 vmnic。
大多數時候,vmnic 是 vSAN 的備用。
此警報涉及 vSphere 7.0U2。
請參閱:https://knowledge.broadcom.com/external/article/312096/alarm-about-high-pnic-error-rate-being-d.html
下表顯示用於受監控 vSAN 的 pNIC 指標及其警報閾值:
這些類型的錯誤可能會影響 vSAN 效能。
Cause
問題 1:
在這個例子中,封包擷取顯示傳送 CAPWAP 控制封包的 Cisco 存取點 (AP) 控制器。
Wireshark 將其標記為格式不正確的封包。
ESXi 通常也無法處理這類套裝。
如果 Wireshark 在其分析過程中遇到不符合通訊協定預期結構的封包,則會將該封包標記為「格式不正確」。這通常表示封包可能在傳輸過程中已損毀,或者代表通訊協定的異常或不正確實作。
以下篩選器可能會提供另一種類型的輸出 (因為不支援訊框長度),並且還可能導致 "received length error."
但是,這並不準確,因此在將報告提交給客戶之前,必須對此篩選器的輸出進行進一步分析。((eth.len != frame.len - 14) || eth.len != frame.len - 18)
問題 2:
VMware 推出此警示是為了監控可能影響 vSAN 效能的錯誤。
當錯誤百分比達到特殊值時,便會觸發警報,提醒使用者應注意 vSAN 效能。
但是,我們發現警報觸發演算法可能有問題。在計算錯誤封包比率時,使用了短期內的資料封包數和錯誤封包的總量。
因此,大多數時候,錯誤 vmnic 一律是 vSAN 的備用 vmnic,因為 vmnic 上的流量較少。
Resolution
問題 1:
- 在問題 1 的例子中,來源 IP 位址是連接到 VLAN 1 的 Cisco AP 控制器。
- 請檢查 VxRail Cluster 的 vDS 設定,以確保沒有使用 VLAN 1 的流量。
- 從連接至 VxRail 主機的 TOR 交換器連接埠中移除 VLAN 1。
- 如果它不在 VLAN 1 中,請遵循相同的步驟從交換器連接埠中移除 VLAN。
- 如果 VLAN 承載叢集流量,我們就無法從交換器連接埠中移除 VLAN。使用者可能必須變更網路設計,以隔離導致從 VxRail Cluster 接收到長度錯誤的流量。
問題 2:
有幾種方案可以處理此類問題。
- vmnic 報告錯誤為 vSAN 的備用 vmnic,且錯誤封包成長緩慢。
這是演算法導致的誤報,不會影響 vSAN 效能。我們可以建議客戶忽略此警報,儘管此警報會不時重複出現。
- vmnic 報告錯誤是 vSAN 的使用中 vmnic 或備用 vminc,但錯誤封包會持續增加。
不同類型的錯誤遵循不同的解決方案,我們經常會遇到由 CRC 錯誤、接收到長度錯誤和接收到暫停訊框所導致的警報。
-
在 vmnic 上接收到 CRC 錯誤。
硬體問題通常會導致 CRC 錯誤。大多與纜線、SFP 和網路介面卡相關,包括節點和交換器端
請遵循硬體故障診斷程序找出問題所在。 -
在 vmnic 上接收到長度錯誤。
根本原因與問題 1 相同。針對此情況,您可以遵循問題 1 的故障診斷處理。
-
暫停在 vmnic 上接收到的訊框。
暫停訊框用於網路流量控制。
啟用流量控制 網路不穩定或壅塞會導致 VxRail 效能降低,並對 vSAN I-O 資料存放區作業造成負面影響。
流量控制是一種交換器功能,可協助管理資料傳輸速率,以避免緩衝區溢位。
VxRail 建議流量控制"receive on" and "transmit off."
請參閱 https://www.delltechnologies.com/asset/en-us/products/converged-infrastructure/technical-support/h15300-vxrail-network-guide.pdf 第 88 頁。
如何檢查交換器是否啟用流量控制?
以 Dell 交換器為例:
Run the command "show interface ethernet 1/1/1," replacing the switch interface number with the interface connecting the node
Vxrail-S5048-01# show interface ethernet 1/1/1 Ethernet 1/1/1 is up, line protocol is down Pluggable media present, SFP28 type is SFP28 25GBASE-SR-NOF Wavelength is 850 Interface index is 15 Internet address is not set Mode of IPv4 Address Assignment: not set Interface IPv6 oper status: Disabled MTU 1532 bytes, IP MTU 1500 bytes LineSpeed 0, Auto-Negotiation off Configured FEC is cl108-rs, Negotiated FEC is cl108-rs Flowcontrol rx on tx on ----- tx on means that the flow control is transmit on
如何停用流量控制傳輸?
Vxrail-S5048-01# configure terminal vxrail-S5048-01(config)# interface e1/1/1 ----replace the switch interface number Vxrail-S5048-01(conf-if-eth1/1/1)# flowcontrol transmit off
將連接至 vSAN vmnic 的所有交換器介面設定為傳輸關閉。
將警報重設為綠色,並監控是否傳回警報。