Print

HPE C7000 搭配2个VC FlexFabric 10Gb/24模块在VMware 分布式交换机环境下如何抓取报文

2026-05-29 发表

组网及说明

客户现场的使用场景是多套HPE C7000刀箱和其他HPE 机架式服务器混合组成VMware资源池,并启用了VMware的DVS(分布式交换机),大致拓扑如下:下图只画了1套C7000箱和1台机架式服务器,但客户现场刀箱和机架服务器很多。请注意,VMware DVS分布式交换机跨越了刀片服务器和外部的机架式服务器,虚拟机可以在刀片服务器和机架式服务器无缝迁移。

 

告警信息

客户反馈的问题:

偶尔发现在刀片里的VM 与机架式服务器里的VM互相无法ping 通,而刀箱内部的任何VM之间都从来没有过这种现象。

当发生这个问题时,客户的临时解决办法就是迁移虚拟机到刀箱外部的机架式服务器即可解决ping通问题。但是不久还会出现刀片里的VM与机架服务器里的VM无法通信问题。

升级过VMware原厂,VMware给出的答复是H3C的C7000 VC 互联模块丢包。建议C7000 VC模块抓包分析,报文进入VC后是否丢失

 

问题描述

NA

过程分析

如果按照客户描述,下面红色线是两个VM通信的链路:中途包括上联TOR和汇聚层核心网络设备

,最后是刀片VC上联端口、刀片VC下联端口、刀片网卡、VMware分布式交换机。

 

 

【客户的诉求】

 

 

通过抓包,证明刀片VC收到机架式服务器回应的arp报文后正常的通过下联端口转发给刀片服务器。因为他们怀疑VC收到arp回应的报文后没有正常转发给刀片导致。

 

解决方法

【抓包实现方法】

 

当问题发生时,同时在3个设备上抓包: 刀箱的上联TOR、刀箱VCVMware分布式交换机

 

刀片VCVMware DVS交换机抓包方法:

 

刀片VC可以把下联刀片服务器的某个port流量镜像到同侧VC上联端口,比如下图,把刀片bay1对应的VC下联端口d9 镜像到上联端口X3,然后VC的上联x3口直接连接抓包设备。注意,某个VC的上联只能mirror自己的下联某个刀片端口。因此需要2个抓包设备分别抓两侧的VC模块。

 

除了VC抓包外,虚拟机也可以镜像VMware 分布式交换机下联端口(VM)的流量到指定的抓包虚拟机端口,这样形成了2个层次的抓包,分别是VC层面和VMware 分布式交换机下联端口层面

  

1、 VCMethernet 菜单下面的“port monitoring” 功能就是理由VC上联端口镜像下联刀片网口流量的配置页面:

 

 

比如,如果要把bay1刀片服务器的网口流量镜像到VC1上联的X3 口的话,需要将VC1X3口配置为 “Network Analyzer Port”,将抓包服务器或者笔记本电脑直接连接到VC1X3口,注意X3口是光口。然后,在“Monitored Port List”里选择要镜像哪个刀片的网口流量,比如刀片bay1VC1侧的网口对应VC下联的d9 端口,镜像双向流量,如下配置:

 

注意: 启用VCmirror port功能后,VC的分析端口状态必须是 OK, 如果不是OK,需要检查vcSFP模块是否兼容,与对端抓包设备网口是否协商正常。

 

上面VC侧的mirror  port功能启用成功后,开始在VC1 x3口对端的抓包服务器开启tcpdump 抓包:

 

比如,连接VC1  x3口的抓包设备为linux 系统下的ens224f0端口开启tcpdump

开始监听:

 

 

VM1  ping  VM2的时候, 经过VC1的流量将被VC1X3 镜像出来并被tcpdump抓取到报文。

 



 

 

另外,除了VC可以抓取刀片网口流量外, VMware的分布式交换机也能抓取到报文:

需要开启VCENTER里的分布式交换机的 “port monitoring” 功能:

 

 

 

然后专门部署1VM 抓取DVS交换机内部流量:

比如: 要把linux1DVS里的流量镜像到虚拟机linux-2, DVSport mirroring 页面配置号source (被监控VM) 和Destination VM (抓包VM )即可:

 

综上: 通过同时监控VC流量和VMware DVS 流量,可以判断故障发生时arp报文在哪个层面上没有正常转发或接收。