Half Coffee

vSphere 下交换机报00:00:00:00:00:00全零MAC Flapping


摘要:在客户现场遇到一个奇怪的问题,华为交换机频繁地报告 MAC 地址抖动,通过交换机日志发现一个全0的MAC地址在两个端口上抖动,而这两个端口分别接同一个集群的两台vSphere主机,网卡为标准虚拟机交换机的uplink。

问题分析

全为 0 的 MAC 在正常的理解中是不合规的 MAC 地址,但是在交换机上查看mac地址表确实有此mac。但是关联在VLAN 1 下。

dis mac-address table
 <Huawei>dis mac address-table
        Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
 1    0000.0000.0000    dynamic      G1/1/0/47 
 

登陆 vCenter 查看vSwitch的配置,确定所有的端口组都有 VLAN 标记,因此确定这个全 0 的 mac 地址是由vSphere发出的,猜测或许是CDP协议,但是不能确定。

为了确认此地址的来源,在交换机上做了端口镜像,用 Wireshark 抓包分析,过滤全 0 的 mac,结果如下图:

cdp

解决办法

确定是 vSphere 发出了mac 地址为全 0 的CDP包,那么解决办法就是关闭cdp。

通过esxcli 命令可以查看或者修改cdp的工作状态。

查看 vSwitch1 的cdp状态,结果显示为both,表示发送并接收cdp包:

#esxcfg-vswitch -b vSwitch1
both 

将cdp模式修改为只接收或者关闭cdp:

` esxcfg-vswitch -B listen vSwitch1`

esxcfg-vswitch -B down vSwitch1

但是,实际测试时发现cdp状态会自动从listen变为both,没办法只能去关闭cdp进程:

` /etc/init.d/cdp stop` 停止cdp进程

chkconfig --del cdp 停止开机启动


评论