如何用vmkping命令調試vsphere環境中的VMkernel網絡連接(ISCSI 開啟巨幀)


背景
出於故障排除目的,可能需要調試vsphere環境中ESX主機之間的VMkernel網絡連接,確保網絡通信狀態。本文主要說明了如何利用vmkping命令來完成該任務。

語法及使用
vmkping命令會以本地的VMkernel端口作為ping報文的發起源;

eg:vmkping -s 8972 -d x.x.x.x //ipv6地址需加-6參數,后跟v6地址

參數說明:

-------------------------------------------------------------------------------------------------------

-4 使用IPv4 ping測試 (不跟參數默認采用該選項t)
-6 使用IPv6 ping測試
-c <count> 指定 packet 發送的個數
-d 設置DF(不分段)位(IPv4)或禁用分段(IPv6)
-D vmkernel TCP堆棧調試模式
-i <interval> 指定ping間隔 (secs秒)
-I <interface> 傳出接口-適用於IPv6范圍或IPv4繞過路由查找
-N <next_hop> 指定下一跳ip IP*_NEXTHOP - bypasses routing lookup
for IPv4, 與-I 選項一並使用
-s <size> 指定發送icmp報的數據包字節數;缺省值為56,將其添加到8字節ICMP報頭時將轉換為64字節的ICMP幀。 (注意:這些大小不包括IP標頭)
-t <ttl> 設置IPv4生存時間或IPv6躍點限制
-v verbose
-W <timeout> 指定未收到響應的情況下超時設置等待時長(秒)
-X 將結果輸出為esxcli框架的XML格式
-S 指定網絡堆棧實例名稱。如未指定,則使用默認的netstack實例。
-------------------------------------------------------------------------------------------------------
==注意: == vmkernel TCP debug模式下, vmkping 遍歷VSI和pings各種配置的地址。任何大於1500 MTU的數據包都是巨型幀。 ESXi/ESX 4.x, ESXi 5.x and 6.0已完全支持最大9000字節的幀。可以通過ESX主機上的命令行界面為每個vSwitch或VMkernel接口啟用巨型幀,為了允許ESX主機將更大的幀發送到物理網絡上,網絡必須端到端支持巨型幀。多在iSCSI網絡場景配置巨型幀,可以使用用戶界面(UI)配置vSphere 5.1、vSphere 5.5和vSphere 6.0中所有iSCSI適配器的巨型幀。適用於軟件iSCSI、從屬硬件iSCSI和獨立硬件iSCSI適配器。要在vSphere Web Client中為軟件和從屬硬件iSCSI適配器啟用巨型幀,請更改MTU參數的默認值:

 

 

上述驟為該標准交換機上的所有物理NIC設置了MTU。 MTU值應設置為連接到標准交換機的所有NIC中最大的MTU大小。

eg2:vmkping -d -s 8972 x.x.x.x //巨型幀ping測試,結合-d和-s選項

注意ICMP報頭的開銷為28字節,因此MTU比通過上述方法建立的數字大28個字節.因此,要檢查9000的MTU,您實際上需要將ping數據包大小設置為9000-28 = 8972.

 

如果在同一網絡環境有多個vmkernel端口(例如iSCSI的心跳vmkernel端口),則該網絡環境所有主機上的vmkernel端口都需要配置巨型幀(MTU:9000)。如果同一網絡上還有其他vmkernel端口,它們的MTU值較低,則vmkping命令帶有-s 8972 選項執行時將會失敗,可使用-d選項在IPv4數據包上設置DF(不分段)位,來完成此類網絡環境中的ping測試。

比如測試MTU=1500的網絡,執行:
vmkping -I vmkX x.x.x.x -d -s 1472 //

esxcfg-route -l //查看ESXi主機的路由及轉發表
esxcfg-nics -l //驗證你當前SSH會話中的MTU大小
esxcfg-vmknic -l //查看網卡配置信息
esxcfg-vswitch -A vmkernel_port_group_namevSwitch //sw上創建端口組,eg:esxcfg-vswitch -A iSCSI vSwitch2
esxcfg-vswitch -m 9000 vSwitch2 //如Switch僅包含iSCSI端口組,則可將vSwitch的MTU指定為9000
esxcli network ip interface set -m 9000 -i vmk_interface //ESXi 5.x and 6.0上創建巨型幀端口
esxcli network ip interface list //查看當前端口是否支持巨型幀且已激活

注意: 如果按服務器的主機名ping時沒有看到響應,請啟動對IP地址的ping。通過對IP地址執行ping操作,可以確定問題是否是主機名解析問題引起的。如果要測試到另一台服務器上另一VMkernel端口的連接性,請記住使用VMkernel端口IP地址,因為服務器的主機名通常解析為遠程服務器上的服務控制台地址。

vXlan 中vmkernel間網絡測試
在vSphere 5.5中,VXLAN具有其自己的vmkernel網絡堆棧,因此,必須使用以下命令從ESXi控制台完成對傳輸VLAN上兩個不同vmknic之間的ping連接測試:

vmkping ++netstack=vxlan -d -s

esxcli network diag ping --netstack=vxlan --host --df --size=
————————————————

轉自:https://blog.csdn.net/ximenjianxue/article/details/108447158


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM