更换网卡后或 vmkernel 的 MAC 地址重复时 vmk0 管理网络 MAC 地址不更新
search cancel

更换网卡后或 vmkernel 的 MAC 地址重复时 vmk0 管理网络 MAC 地址不更新

book

Article ID: 336893

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
免责声明:本文为 vmk0 management network MAC address is not updated when NIC card is replaced or vmkernel has duplicate MAC address (1031111) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


  • 更换网卡或为其分配新的 MAC 地址后,从命令行运行 esxcfg-vmknic –l 命令,vmk0 管理网络的 MAC 地址可能不会更新。ESXi 主机的默认设置不会选择新的硬件 MAC 地址。
  • 无法在 ESXi 主机上访问管理网络。
  • 无法 ping 通 vmkernel。
  • 无法 ping 通取消使用但已重新构建的 ESXi 物理服务器。
  • 在某些情况下,可能会遇到这样的情况:由于 ESXi vmkernel 保留了以前在其他物理服务器上安装 ESXi 所对应的 mac 地址,因此网络上会出现重复的 mac 地址。
  • 在以前的服务器上进行初始安装时,vmkernel vmk0 接口将使用分配给该物理服务器其中一个 vmknic 接口的 mac 地址,而不是随机的 00:50:56::XX:XX:XX
  • 取消使用服务器时,如果安装 USB 或本地磁盘被移到其他服务器或者是复制得到的(对于 LUN),则新服务器上的 vmkernel vmk0 接口仍将使用之前服务器的物理 MAC 地址。


Environment

VMware ESXi 3.5.x Installable
VMware ESXi 4.0.x Installable
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 5.5
VMware vSphere ESXi 5.0
VMware ESXi 3.5.x Embedded
VMware vSphere ESXi 6.5
VMware vSphere ESXi 5.1
VMware ESXi 4.0.x Embedded
VMware vSphere ESXi 6.0
VMware ESXi 4.1.x Embedded

Resolution

MAC 地址重复

通过检查所有物理网卡的物理 MAC 地址及其链接状态、现有 vSwitch 配置以及当前 vmkernel 接口配置来进行确认。对于 ESXi,请使用以下命令:

# esxcfg-nics -l
# esxcfg-vswitch -l
# esxcfg-vmknic -l

如果确认某个 MAC 地址重复,则必须删除并重新创建 vmkernel 接口,从而更改 MAC 地址。
要从端口组中删除一个 vmknic,请使用以下命令:

# esxcfg-vmknic -d -p pgName



# esxcfg-vmknic -d pgName

要将 vmknic 添加到端口组,请运行以下命令:

#esxcfg-vmknic -a -i DHCP -p pgName



# esxcfg-vmknic -a -i x.x.x.x -n 255.255.255.0 pgName
权宜措施
要解决该问题,请在 ESXi 主机上手动配置 MAC 地址:
  1. 在故障排除控制台中,运行以下命令:

    esxcfg-advcfg -s 1 /Net/FollowHardwareMac
  2. 重新启动 ESXi 服务器。


Additional Information

创建警报以监视重复 IP 地址:也可以应用此方法针对重复的 MAC 地址发出警告。

除了记录到 VMkernel 日志中,ESXi 还将此观察结果记录到/var/log/vobd.log文件(代表 VMkernel 观察结果)中。出现错误时,这些观察结果就可以提供重要的识别信息,因此在故障排除期间经常用到。在我们的例子中,我们注意到存在间歇性地连接到 ESXi 主机的网络连接,这是由于 IP 地址重复造成的。利用这些 VOB 的意义在于:可以在检测到特定 VOB 时创建 vCenter 警报。

完全可以采取同样的措施来检测 ESXi 主机的 IP 地址是否重复。首先,查看/var/log/vobd.log文件(查找重复的 IP 地址或重复的 MAC 地址),确定相应的 VOB ID:

YYYY-01-21T15:02:07.513Z: [netCorrelator] 917174784727us:[esx.problem.net.vmknic.ip.duplicate]Duplicate IP address detected for xx.xx.xx.xx on interface vmk0, current owner being xx:xx:xx:xx:xx:xx

注意:
  • 此处的 VOB ID 为 esx.problem.net.vmknic.ip.duplicate(如果 IP 地址重复)或 VmMacConflictEvent 或VmStaticMacConflictEvent(如果 MAC 地址冲突),这将用于 vCenter 警报触发器。
  • 上述日志摘录仅为示例。日期、时间和环境变量可能会因环境而有所不同。

要创建警报,请执行以下操作:

  1. 创建新的警报并为其指定名称,监控类型为主机,对特定事件进行监控。
  2. 复制上面所确定的 VOB ID,并将其指定为警报触发器。
  3. 如果希望收到电子邮件通知或发送 SNMP 陷阱,请配置其他操作,否则请单击下一步,UI 中将显示 vCenter Server 警示。
  4. 要确认该警报触发器,请为一个测试虚拟机分配 ESXi 主机的 IP 地址/MAC 地址,警报即会显示在任务/事件中。
vmk0 management network MAC address is not updated when NIC card is replaced or vmkernel has duplicate MAC address