Dell Technologies VxRail:NSX 邊緣節點上的高 CPU 爭用。
Summary: Dell Technologies VxRail:NSX 邊緣節點上的高 CPU 爭用。需要找出導致 nsx 邊緣節點上 CPU 使用率過高的原因。
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
ESXi 節點上有高 CPU 爭用情形,特別是 NSX 邊緣節點。
如果您啟動此 Edge 節點,且使用成本相同的多路徑 (ECMP),則會在下一個邊緣節點上找到 CPU 高爭用率,以及高網路流量。原始內容再次恢復正常。
邊緣節點本身存在正常負載,找不到任何特定的網路擷取。
如果您啟動此 Edge 節點,且使用成本相同的多路徑 (ECMP),則會在下一個邊緣節點上找到 CPU 高爭用率,以及高網路流量。原始內容再次恢復正常。
邊緣節點本身存在正常負載,找不到任何特定的網路擷取。
Cause
這是由高 cPU 使用率和透過某些邊緣 vnic 的高網路流量所造成。
CPU 使用率比較:
邊緣損壞
CPU 執行% 比較:
邊緣損壞
良好邊緣
RX 和 TX 的網路埠比較:
每秒套件比較:
邊緣損壞
良好邊緣
邊緣節點上有針對特定 vnic 的高網路流量。在作為閘道的邊緣 vm 上擷取會造成高流量的特定應用程式。
以下是最終的 wireshark 資訊。
CPU 使用率比較:
邊緣損壞
xxx 27 454.64 471.21 43.19 2307.95 7.32 13.72 334.52 2.67 0.00 0.00 0.00 良好邊緣
xxx 27 240.09 225.96 20.80 2507.98 6.72 8.39 443.93 1.71 0.00 0.00 0.00
CPU 執行% 比較:
邊緣損壞
ID GID NAME NWLD %USED %RUN %SYS %WAIT %VMWAIT %RDY %IDLE %OVRLP %CSTP %MLMTD %SWPWT
16580792 16580792 xxx 27 454.64 471.21 43.19 2307.95 7.32 13.72 334.52 2.67 0.00 0.00 0.00
良好邊緣
ID GID NAME NWLD %USED %RUN %SYS %WAIT %VMWAIT %RDY %IDLE %OVRLP %CSTP %MLMTD %SWPWT
10908367 10908367 xxx 27 240.09 225.96 20.80 2507.98 6.72 8.39 443.93 1.71 0.00 0.00 0.00
RX 和 TX 的網路埠比較:
PORT-ID USED-BY TEAM-PNIC DNAME PKTTX/s MbTX/s PSZTX PKTRX/s MbRX/s PSZRX %DRPTX %DRPRX 50331714 2666974:xxx.eth2 vmnic2 DvsPortset-1 519615.172729.88 688.00 128623.96 694.32 707.00 0.00 0.00 50331715 2666974:xxx.eth1 vmnic3 DvsPortset-1 76622.01 523.06 894.00 230747.221126.70 640.00 0.00 0.00 50331716 2666974:xxx.eth0 vmnic6 DvsPortset-1 51422.12 168.87 430.00 312557.221691.50 709.00 0.00 0.00
PORT-ID USED-BY TEAM-PNIC DNAME PKTTX/s MbTX/s PSZTX PKTRX/s MbRX/s PSZRX %DRPTX %DRPRX 50331744 1752165:xxx.eth2 vmnic3 DvsPortset-1 42856.22 238.49 729.00 50329.21 262.45 683.00 0.00 0.00 50331745 1752165:xxx.eth1 vmnic7 DvsPortset-1 22069.93 91.24 541.00 20044.33 96.35 630.00 0.00 0.00 50331746 1752165:xxx.eth0 vmnic2 DvsPortset-1 27771.00 169.72 801.00 23548.13 144.95 806.00 0.00 0.00
每秒套件比較:
邊緣損壞
"rxqueue": { "count": 4, "details": [
{"intridx": 0, "pps": 30175, "mbps": 203.9, "errs": 0.0},
{"intridx": 1, "pps": 17175, "mbps": 61.1, "errs": 0.0},
{"intridx": 2, "pps": 15626, "mbps": 51.4, "errs": 0.0},
{"intridx": 3, "pps": 14596, "mbps": 57.4, "errs": 0.0} ]},
"txqueue": { "count": 4, "details": [
{"intridx": 0, "pps": 121634, "mbps": 828.2, "errs": 0.0},
{"intridx": 1, "pps": 105483, "mbps": 708.5, "errs": 0.0},
{"intridx": 2, "pps": 137687, "mbps": 1087.9, "errs": 0.0},
{"intridx": 3, "pps": 116488, "mbps": 831.6, "errs": 0.0} ]},
良好邊緣
"rxqueue": { "count": 4, "details": [
{"intridx": 0, "pps": 22388, "mbps": 115.1, "errs": 0.0},
{"intridx": 1, "pps": 54248, "mbps": 497.1, "errs": 0.0},
{"intridx": 2, "pps": 67004, "mbps": 650.2, "errs": 0.0},
{"intridx": 3, "pps": 22688, "mbps": 118.8, "errs": 0.0} ]},
"txqueue": { "count": 4, "details": [
{"intridx": 0, "pps": 21222, "mbps": 125.0, "errs": 0.0},
{"intridx": 1, "pps": 46125, "mbps": 384.3, "errs": 0.0},
{"intridx": 2, "pps": 22771, "mbps": 131.7, "errs": 0.0},
{"intridx": 3, "pps": 29040, "mbps": 162.0, "errs": 0.0} ]},
邊緣節點上有針對特定 vnic 的高網路流量。在作為閘道的邊緣 vm 上擷取會造成高流量的特定應用程式。
以下是最終的 wireshark 資訊。
Resolution
要解決此問題:
使用下列故障診斷工作流程找出問題原因。
1.啟用邊緣節點工程模式以擷取系統負載,並以根模式執行頂端。
2.擷取 ESXi 節點的 esxtop 資訊。最好比較執行正常邊緣節點的 ESXi 節點上的結果,以及執行有問題的邊緣節點的 ESXi 節點。
3.執行統計資訊的 Net 統計資料。檢查輸出中每秒封包統計資料的統計資料,並將其與執行正常邊緣節點的 ESXi 節點進行比較。
4.使用 Wireshark 網路軟體來判斷產生流量最高的應用程式。
5.將所有收集的 .pcap 套裝資訊放入 wireshark,以按時間順序產生整體報告。藉由確認其來源和目標 IP 位址,找出大部分流量來自的埠。
6.ECMP 環境下有部分負載流量。它會使用 ECMP 雜湊釘選至邊緣節點。在 ESG 重載/重新部署時,它會移到另一個 ESG。之後,此流量的 ESG 便會開始報告高 CPU 使用率。
根據預設,流量會根據使用兩個區塊 (srcIP+dstIP) 的內部雜湊演算法,分配給所有 ECMP 配對。如此一來,所有埠 TCP/1556 流量就不會固定在特定邊緣。
在我們的實例中,src 和 dst IP 之間的重擊器備份流量會釘選至此邊緣,導致 ESXi 為該流量提供更多 CPU 週期給此 ESG 虛擬機器。這就是為什麼我們看到 ESXi/vCenter 層級的 CPU 使用率很高,但在 ESG 的客體作業系統內部,CPU 使用率卻很正常。因此整體而言,這也是預期的行為。
- 如果發現特定應用程式在特定埠產生高網路流量,請聯絡應用程式團隊。
- 檢閱網路元件的設計,以避免在特定節點上產生大量流量。
使用下列故障診斷工作流程找出問題原因。
1.啟用邊緣節點工程模式以擷取系統負載,並以根模式執行頂端。
/home/secureall/secureall/sem/WEB-INF/classes/GetSpockEdgePassword.sh edge-xx (edge-xx could be found on nsx manager GUI) logon console of edge node with admin->enable>debug engineeringmode enable->st en->
2.擷取 ESXi 節點的 esxtop 資訊。最好比較執行正常邊緣節點的 ESXi 節點上的結果,以及執行有問題的邊緣節點的 ESXi 節點。
A. 「esxtop」 - 在移轉的 ESXi 主機上執行。
B。以下「esxtop」與「n」-在移轉的 ESXi 主機上執行。
C。使用有問題的 VM 目前的 GID,每個 CPU 核心資料的「esxtop」。取得 GID 值,按下「E」,然後輸入 GID 編號。
D。檢閱與此特定邊緣虛擬機器相關的所有資料。
B。以下「esxtop」與「n」-在移轉的 ESXi 主機上執行。
C。使用有問題的 VM 目前的 GID,每個 CPU 核心資料的「esxtop」。取得 GID 值,按下「E」,然後輸入 GID 編號。
D。檢閱與此特定邊緣虛擬機器相關的所有資料。
3.執行統計資訊的 Net 統計資料。檢查輸出中每秒封包統計資料的統計資料,並將其與執行正常邊緣節點的 ESXi 節點進行比較。
'net-stats -A -t WwQqihVvh -i 5 -n 2' - run on the migrated ESXi host and got following high figure
"txqueue": { "count": 4, "details": [
{"intridx": 0, "pps": 121634, "mbps": 828.2, "errs": 0.0},
{"intridx": 1, "pps": 105483, "mbps": 708.5, "errs": 0.0},
{"intridx": 2, "pps": 137687, "mbps": 1087.9, "errs": 0.0},
{"intridx": 3, "pps": 116488, "mbps": 831.6, "errs": 0.0} ]},
4.使用 Wireshark 網路軟體來判斷產生流量最高的應用程式。
A.在 ESXi 主機 Shell 上,使用「net-stats -l」命令取得 ESG 虛擬機器的交換器埠詳細資料。記下相關邊緣 vm 的 vnic 切換埠。這可讓您知道透過此 vnic 傳輸的流量類型。
B. 針對所有相關的交換器埠逐一執行封包擷取一分鐘,並將其儲存在 .pcap 檔案中。根據您的設定變更。
pktcap-uw --switchport --capture VnicTx,VnicRx -o /vmfs/volumes//.pcap
5.將所有收集的 .pcap 套裝資訊放入 wireshark,以按時間順序產生整體報告。藉由確認其來源和目標 IP 位址,找出大部分流量來自的埠。
6.ECMP 環境下有部分負載流量。它會使用 ECMP 雜湊釘選至邊緣節點。在 ESG 重載/重新部署時,它會移到另一個 ESG。之後,此流量的 ESG 便會開始報告高 CPU 使用率。
根據預設,流量會根據使用兩個區塊 (srcIP+dstIP) 的內部雜湊演算法,分配給所有 ECMP 配對。如此一來,所有埠 TCP/1556 流量就不會固定在特定邊緣。
在我們的實例中,src 和 dst IP 之間的重擊器備份流量會釘選至此邊緣,導致 ESXi 為該流量提供更多 CPU 週期給此 ESG 虛擬機器。這就是為什麼我們看到 ESXi/vCenter 層級的 CPU 使用率很高,但在 ESG 的客體作業系統內部,CPU 使用率卻很正常。因此整體而言,這也是預期的行為。
Affected Products
VxRail Appliance Family, VxRail Appliance SeriesArticle Properties
Article Number: 000202066
Article Type: Solution
Last Modified: 16 May 2023
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.