VMware – 虚拟机重启后没有获得DHCP地址

我们在ESX集群中有一个奇怪的行为:

基础设施:

我们在由vCenterpipe理的群集中有2个ESXi 5.5.0 build 2718055。 我们正在使用Essentials许可证,所以我们没有分布式交换机。 我们的公司networking有多个vlan,vm服务器需要10个vlan。 硬件是HP DL380 Gen8,8个1Gb eth端口。 连接到服务器的交换机(Cisco 2960E和3850E)端口configuration了cisco trunk vlan – 所有数据包都以其vlan标签到达。 物理networking是完全冗余的,服务器上的两个交换机之一和两个网卡中的一个可以发生故障而不会使VM崩溃。

所有的交换机端口configuration相同,

我使用2个虚拟交换机(在每个主机上),每个交换机都已分配

问题

当我重新启动虚拟机,置于esx1和自动IP地址configuration,机器将不会得到一个DHCP连接 – networking连接可用,如果我设置手动IP地址一切工作正常,但pconfig /refresh是海宁,和DHCPExplorer没有find一个有效的DHCP服务器(我可以ping,如果我指定手动IP地址)。

现在我必须将机器迁移到esx2并等待一段时间(或者执行ipconfig /renew或禁用并启用nic),机器将获得一个dhcp地址。 之后,我可以将机器移回到esx1,它将工作得很好。 之后,我甚至从DHCP资源pipe理器得到积极的结果。

然后我testing了这个行为是否连接到了networking的物理部分:我从受影响的vlan的端口组中删除了所有的物理nics,用dhcp机器做了一些重启,然后用另一个nic进行了testing – 简而言之我强迫这个端口组的所有stream量都通过networking的一个物理端口和交换机。

结果是:问题仅在两个不同的nics上的两个不同的端口上出现,但它们都连接到同一个交换机。

在我看来,如果这个开关是以某种方式阻止访问DHCP服务。 有没有人看到过这样的行为? 我将不再使用选项 – 很快我们想要升级到ESX 6,但是由于我们也有VMWare View桌面虚拟化,升级过程将包括大量工作和testing,并且不能很快完成。

编辑:

由于我们的交换机的可视化configuration对于屏幕来说太大了,所以我通过powershell导出了虚拟交换机和端口组。

有问题的主机是主机1002,我确定的有问题的nics是vmnic4和vmnic8,观察问题的端口组是PortGroup35和PortGroup41

  Get-Virtualswitch|select Name, ID, NumPorts, NumPortsAvailable, Nic, MTU, VMHostID 

结果:

 Name : vSwitch0 Id : key-vim.host.VirtualSwitch-vSwitch0 NumPorts : 4352 NumPortsAvailable : 4309 Nic : {vmnic7, vmnic0, vmnic2, vmnic9} Mtu : 1500 VMHostId : HostSystem-host-1001 Name : vSwitch2 Id : key-vim.host.VirtualSwitch-vSwitch2 NumPorts : 4352 NumPortsAvailable : 4309 Nic : {vmnic3, vmnic1, vmnic6, vmnic8} Mtu : 1500 VMHostId : HostSystem-host-1001 Name : vSwitch5 Id : key-vim.host.VirtualSwitch-vSwitch5 NumPorts : 4352 NumPortsAvailable : 4309 Nic : {vmnic4} Mtu : 1500 VMHostId : HostSystem-host-1001 Name : vSwitch0 Id : key-vim.host.VirtualSwitch-vSwitch0 NumPorts : 4352 NumPortsAvailable : 4304 Nic : {vmnic7, vmnic3, vmnic5, vmnic9} Mtu : 1500 VMHostId : HostSystem-host-1002 Name : vSwitch2 Id : key-vim.host.VirtualSwitch-vSwitch2 NumPorts : 4352 NumPortsAvailable : 4304 Nic : {vmnic8, vmnic4, vmnic6, vmnic2} Mtu : 1500 VMHostId : HostSystem-host-1002 Name : vSwitch5 Id : key-vim.host.VirtualSwitch-vSwitch5 NumPorts : 4352 NumPortsAvailable : 4304 Nic : {vmnic1} Mtu : 1500 VMHostId : HostSystem-host-1002 Get-Virtualportgroup|select Name, VirtualSwitchId, Key, VLANId, VMHostID 

结果:

 Name : PORTGROUP82 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP82 VLanId : 82 VMHostId : HostSystem-host-1001 Name : PORTGROUP90 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP90 VLanId : 90 VMHostId : HostSystem-host-1001 Name : PORTGROUP83 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP83 VLanId : 83 VMHostId : HostSystem-host-1001 Name : PORTGROUP16 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP16 VLanId : 16 VMHostId : HostSystem-host-1001 Name : Management Network VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-Management Network VLanId : 41 VMHostId : HostSystem-host-1001 Name : PORTGROUP80 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch2 Key : key-vim.host.PortGroup-PORTGROUP80 VLanId : 80 VMHostId : HostSystem-host-1001 Name : PORTGROUP41 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch2 Key : key-vim.host.PortGroup-PORTGROUP41 VLanId : 41 VMHostId : HostSystem-host-1001 Name : PORTGROUP35 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch2 Key : key-vim.host.PortGroup-PORTGROUP35 VLanId : 35 VMHostId : HostSystem-host-1001 Name : VMkernel VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch5 Key : key-vim.host.PortGroup-VMkernel VLanId : 0 VMHostId : HostSystem-host-1001 Name : PORTGROUP43 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP43 VLanId : 43 VMHostId : HostSystem-host-1001 Name : PORTGROUP82 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP82 VLanId : 82 VMHostId : HostSystem-host-1002 Name : PORTGROUP83 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP83 VLanId : 83 VMHostId : HostSystem-host-1002 Name : PORTGROUP90 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP90 VLanId : 90 VMHostId : HostSystem-host-1002 Name : PORTGROUP16 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP16 VLanId : 16 VMHostId : HostSystem-host-1002 Name : Management Network VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-Management Network VLanId : 41 VMHostId : HostSystem-host-1002 Name : PORTGROUP80 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch2 Key : key-vim.host.PortGroup-PORTGROUP80 VLanId : 80 VMHostId : HostSystem-host-1002 Name : PORTGROUP41 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch2 Key : key-vim.host.PortGroup-PORTGROUP41 VLanId : 41 VMHostId : HostSystem-host-1002 Name : PORTGROUP35 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch2 Key : key-vim.host.PortGroup-PORTGROUP35 VLanId : 35 VMHostId : HostSystem-host-1002 Name : VMkernel VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch5 Key : key-vim.host.PortGroup-VMkernel VLanId : 0 VMHostId : HostSystem-host-1002 Name : PORTGROUP43 VirtualSwitchId : key-vim.host.VirtualSwitch-vSwitch0 Key : key-vim.host.PortGroup-PORTGROUP43 VLanId : 43 VMHostId : HostSystem-host-1002 

编辑:新的信息

现在我意识到,为什么这个问题只发生在esx1上:这些机器的dhcp服务器是vm,放在esx2上。 所以来自esx2上的机器的DHCP请求甚至不必离开虚拟交换机。 如果我将dhcp服务器移到esx1,则问题将在esx2上解决。 仍然只有一个开关受到影响,另一个工作正常。 所以在我看来,问题肯定在于物理交换,而不是虚拟交换。

您的交换机可能在不同的交换机端口上具有不一致的生成树设置。

在考虑这个“失败”之前,你还等多久? 您是否可以访问Cisco交换机configuration?


除此之外,最好能看到像这个例子那样的虚拟交换机configuration。

感谢您更新您的问题和意见,基本上你需要在该端口/ VLAN的特定交换机上设置“DHCP Helper”。

基本上在开关上做;

启用conf t int {任何端口} ip helper-address {DHCP​​服务器IP或群集VIP}

然后testing,如果成功写你的configuration回到启动。