• 如何用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

  • 相关阅读:
    联网获取图片, 保存用户的图像 bitmap
    使用 线程池,控制线程 , 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待:
    ImageView属性 android:scaleType="fitXY" ,拉伸图片非常好用
    Activity之间传值,Intent
    退出应用程序 按两次退出键
    修炼-------------Android TabHost,TabWidget选项卡总结
    对TabHost、TabWidget的理解分析
    poj 1847 Tram
    hdu 1874 畅通工程续
    hdu 2544 最短路
  • 原文地址:https://www.cnblogs.com/pipci/p/14958620.html
Copyright © 2020-2023  润新知