Networking

VMware vSphere IP 分配

  • November 20, 2013

我正在使用 VMware vCenter 5.1 來管理我的伺服器。我想通過一些VM模板部署一些虛擬機,並要求vCenter自動為這些VM分配IP地址。但它不起作用,並且沒有為我部署的 VM 正確配置網路,我不知道這裡出了什麼問題。

這就是我所做的。我創建了一個帶有 IPv4 IP 池的網路協議配置文件,並將其與我的稱為“VM 網路”的網路相關聯。我創建了一個啟用了“vApp 選項”的虛擬機。在“Authoring”部分的“vApp Options”中,IP分配方案設置為“OVF環境”,在“Deployment”部分,“IP分配設置為“Static IP Pool”。我創建了一個vApp來使用“VM 網路”,並使用我之前創建的 VM 作為模板在 vApp 中創建一個新 VM。我的 VM 是安裝並執行最新 VMware 工具的 CentOS 6.4 來賓。

問題是當我在 vApp 中創建虛擬機時,它的網路適配器設置不正確(/etc/sysconfig/networking-scripts/ifcfg-eth0 包含不正確的 Mac 地址並且 eth0 未啟動)並且沒有分配 IP .

我的問題是如何將我的 VM/VMware vCenter 配置為一起執行,以便 vCenter 將 IP 池中的靜態 IP 地址分配給我部署的新 VM?謝謝。

您遇到的問題是 MAC 地址必須是唯一的,因此在複製機器時會重新生成 MAC 地址。不幸的是,重新配置您的網路配置文件以反映新的 MAC 不是 vmware 工具負責的事情。此外,CentOS 會看到已經有一個 eth0 介面,並將新的 MAC 放在一個新的 eth1 介面上。

這個 vmware KB 有您的問題: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId= 2002767

該修復程序可以很容易地編寫腳本,並且我確信訪問 vcloud 自動化中心或類似的服務會促進這一點。

一個可以處理它的簡單的首次啟動類型腳本將執行以下操作:

  • 查找生成的新 MAC(如果 VM 只有一個適配器,將配置為 eth1)
  • 將 ifcfg-eth0 中的 MAC 替換為 ifcfg-eth1 中的 MAC
  • 刪除 70-persistent-net.rules
  • 重新啟動虛擬機

下面的腳本範例:

#!/bin/sh

#Find the MAC that was generated for the clone (assumes only one network adapter added to the VM)
NEW_MAC=`/sbin/ifconfig eth1 |grep -i hwaddr |awk {'print $5'}`

#Replace the MAC in the eth0 file 
/bin/sed -i "s/HWADDR.*/HWADDR=$NEW_MAC/" /etc/sysconfig/network-scripts/ifcfg-eth0

#Delete the net rules file
/bin/rm /etc/udev/rules.d/70-persistent-net.rules

引用自:https://serverfault.com/questions/537411