ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何用vmkping命令调试vsphere环境中的VMkernel网络连接(ISCSI 开启巨帧)

2021-07-01 14:33:32  阅读:358  来源: 互联网

标签:vsphere VMkernel vmkping iSCSI ping MTU vmkernel 端口


背景
出于故障排除目的,可能需要调试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

标签:vsphere,VMkernel,vmkping,iSCSI,ping,MTU,vmkernel,端口
来源: https://www.cnblogs.com/pipci/p/14958620.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有