VMware - 虛擬機器重新啟動後未取得 DHCP 位址

VMware - 虛擬機器重新啟動後未取得 DHCP 位址

我們的 ESX 叢集中有一個奇怪的行為:

基礎設施:

我們的叢集中有 2 個 ESXi 5.5.0 build 2718055,由 vCenter 管理。我們使用 Essentials 許可證,因此我們沒有分散式交換器。我們公司網路有多個vlan,其中vm伺服器需要10個左右。硬體是 HP DL380 Gen8,8 個 1Gb eth 連接埠。連接至伺服器的交換器(Cisco 2960E 和 3850E)連接埠配置為 cisco trunk vlan - 所有封包均帶有其 vlan 標記。實體網路是完全冗餘的,伺服器上的兩個交換器之一和兩個網路卡之一可以發生故障,而不會導致虛擬機器崩潰。

所有交換器連接埠配置相同,

我使用 2 個虛擬交換器(在每個主機上),每個交換器都分配了

問題

當我重新啟動虛擬機,放置在 esx1 上並使用自動 IP 位址配置時,機器將無法獲得 DHCP 連接 - 網路連接可用,如果我設定手動 IP 位址,一切正常,但pconfig /refreshhaning,並且 DHCPExplorer 確實如此找不到有效的dhcp 伺服器(如果我分配手動IP 位址,我可以ping 通該伺服器)。

現在我必須將機器遷移到 esx2 並等待一段時間(或執行ipconfig /renew或停用並啟用網卡)機器將獲得 dhcp 位址。之後我可以將機器移回 esx1,它將完美地工作。之後我甚至從 dhcp explorer 得到了積極的結果。

然後我正在測試該行為是否連接到網路的實體部分:我刪除了所有實體網卡,但從受影響的VLAN 的連接埠組中刪除了一個,使用dhcp 電腦進行了一些重新啟動,然後使用另一個網卡對其進行了測試- 簡而言之我強制來自該連接埠組的所有流量都通過網卡和交換器的一個實體連接埠。

結果是:問題僅出現在兩個不同網路卡上的兩個不同連接埠上,但它們都連接到同一交換器。

在我看來,這個開關似乎以某種方式阻止了對 dhcp 服務的存取。有人看過這樣的行為嗎?我沒有其他選擇了 - 很快我們想升級到 ESX 6,但由於我們也有 VMWare View 桌面虛擬化,因此升級過程將包括大量工作和測試,並且無法快速完成...

編輯:

由於我們交換器的可視配置對於螢幕來說太大,因此我透過 powershell 匯出了虛擬交換器和連接埠群組。

有問題的主機是 host-1002,我發現的有問題的網路卡是 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 伺服器是一個虛擬機,放置在 esx2 上。因此,來自 esx2 上電腦的 dhcp 請求甚至不必離開虛擬交換器。如果我將 dhcp 伺服器移至 esx1,問題就在那裡解決並從 esx2 開始。仍然只有一個開關受到影響,另一個工作正常。所以我認為問題肯定出在實體交換器上,而不是虛擬交換器。

答案1

您的交換器可能不一致生成樹不同交換器連接埠上的設定。

您等了多久才認為這「失敗」?您有權利存取 Cisco 交換器設定嗎?


除此之外,最好看看您的虛擬交換器配置就像這個例子

答案2

感謝您更新您的問題和評論,基本上您需要在該連接埠/VLAN 的特定交換器上設定「DHCP 幫助程式」。

基本上就在switch上做;

啟用conf t int {無論連接埠} ip helper-address {DHCP​​伺服器IP或叢集VIP}

然後測試,如果成功將您的配置寫回啟動。

相關內容