Friday, February 5, 2016

ESXi commands for network troubleshooting

I thought about making a post for all the commands I tend to use when checking network on an ESXi host.

KB1003728 is an excellent resource on ping and vmkping in ESXi

List all vmk interfaces and their ip/mask

esxcli network ip interface ipv4 get

Confirm which mac addresses and MTU settings (and more) each vmk has

esxcli network ip interface list

yes, the output is kind of unwieldy...

Normal ping

ping X.X.X.X

gives 3 pings, auto-chooses a vmk depending on local route table

Continuous ping

ping X.X.X.X -c 1000

Haven't found the unlimited option, but 1000 pings does the job normally. Notice you don't get "request timed out" messages when pings fail, it just stalls and once they come back the  icmp_seq counter jumped over some requests.

Ping testing jumbo frames

ping -d -s 8000

-d means don't fragment the packet (keep the jumbo size)
-s size. Jumbo is anything over 1500 but over 8000 normally tests what you want storage wise. Rarely does a packet of 9000 survive a highly available switch setup since vendors include some bits for their stuff.

Ping from a particular VMKernel IP 

vmkping -I vmk# X.X.X.X

great for testing a particular interface, just isolate the vmk there. Also great to check on a storage network such as iSCSI that each VMK can reach all IPs.

Note - you can combine size and interface, like

vmkping -d -s 8000 -I vmk# X.X.X.X

See routing table (ipv4)

esxcli network ip route ipv4 list


traceroute X.X.X.X

Traceroute using a particular interface

traceroute X.X.X.X -i vmk#

Set a nic to auto speed

esxcfg-nics -a vmk#

Leave me a comment with any others you frequently use!

No comments:

Post a Comment