web-dev-qa-db-ja.com

VMware vSphereIPの割り当て

サーバーの管理にVMwarevCenter5.1を使用しています。いくつかのVMテンプレートを介していくつかの仮想マシンを展開し、vCenterにこれらのVM)にIPアドレスを自動的に割り当てるように依頼したいのですが、機能せず、ネットワークVMをデプロイしましたが、ここで何が問題になったのかわかりません。

これが私がしたことです。 IPv4 IPプールを使用してネットワークプロトコルプロファイルを作成し、それを「VMネットワーク」と呼ばれるネットワークに関連付けました。そして、「vAppオプション」を有効にしてVMを作成しました。「オーサリング」セクションの「vAppオプション」で、IP割り当てスキームが「OVF環境」に設定され、「展開」で「IP割り当ては「静的IPプール」に設定されています。「VMネットワーク」を使用するvAppを作成し、以前にテンプレートとして作成したVM新しい=を作成するために使用しました。 VM vApp内。私のVMは、最新のVMwareツールがインストールされ実行されているCentOS6.4ゲストです。

問題は、vAppでVMを作成したときに、そのネットワークアダプターが正しくセットアップされていないことです(/ etc/sysconfig/network-scripts/ifcfg-eth0に誤ったMacアドレスが含まれていて、eth0が正しく設定されていません) up)、IPは割り当てられていません。

私の質問は、vCenterがIPプールから展開する新しいVMに静的IPアドレスを割り当てるように、VM/VMware vCenterを一緒に機能するように構成するにはどうすればよいですか?ありがとう。

2
nybon

発生している問題は、MACアドレスが一意である必要があるため、マシンのクローンが作成されると、MACアドレスが再生成されることです。残念ながら、新しいMACを反映するようにネットワーク構成ファイルを再構成することは、vmwareツールが処理するものではありません。さらに、CentOSは、すでにeth0インターフェイスが存在することを確認し、新しいMACを新しいeth1インターフェイスに配置します。

このvmwareKBには問題があります: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2002767

修正は簡単にスクリプト化でき、vcloud AutomationCenterまたは同様のサービスにアクセスすることでそれが容易になると確信しています。

それを処理できる単純な最初のブートタイプのスクリプトは、次のことを行います。

  • 生成された新しいMACを見つけます(VMアダプターが1つしかない場合はeth1として構成されます)
  • Ifcfg-eth0のMACをifcfg-eth1にあるMACに置き換えます
  • 70-persistent-net.rulesを削除します
  • VMを再起動します

以下のスクリプト例:

#!/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
2
Sam Alpher