vCenter Server Appliance (VCSA) 6 を VMware Fusion や ESXi に直接 OVF デプロイすると、OVF パラメータを入力できず First Boot の諸設定が行われず、結果腐った vCenter Server ができあがります。通常 ESXi にデプロイする場合は、HTML インストーラーから ovftool を経由し各種 OVF パラメーターを含めてデプロイするので問題ありません。しかし、手元の VMware Fusion にデプロイする場合は、OVF パラメーターを設定できず残念な vCenter Server が量産されてしまいます。

VMware Fusion に VCSA をデプロイするのは、当然ながらサポート外です。

VCSA が OVF パラメーターを受け取る仕組み

VCSA は非常に多くの OVF パラメータを持っています。これは仮想アプライアンスを最初に起動したときの First Boot 処理にて、vmtoold –cmd “info-get ${parameter_name}” コマンドでゲスト OS の中で実行しているスクリプトに取り込まれます。VCSA 5.5 までは guestinfo.ovfEnv に格納された XML をパースして各種の値を取り出していたのですが、事前に定義された guestinfo.cis.** という名前のパラメーター群から値を取得できるようになっています。全てのパラメーターは 以前のエントリー を見て頂くとして、ここでは最低限必要なパラメーターを列挙します。

以下のパラメーターを VCSA の仮想アプライアンスを起動する前に、*.vmx ファイルに追加します。パスワードやネットワークセグメントは適宜変更してください。なお、vCenter Server のホスト名の DNS 逆引きができることが必須ですので、bind、unbound、dnsmasq とどれでもよいので適当に DNS サーバーを建てておく必要があります。

    guestinfo.cis.deployment.node.type = "embedded"
    guestinfo.cis.appliance.ssh.enabled = "true"
    guestinfo.cis.appliance.root.passwd = "VMware1!"
    guestinfo.cis.appliance.time.tools-sync = "true"
    guestinfo.cis.vmdir.password = "VMware1!"
    guestinfo.cis.vmdir.domain-name = "vsphere.local"
    guestinfo.cis.appliance.net.addr.family = "ipv4"
    guestinfo.cis.appliance.net.mode = "static"
    guestinfo.cis.appliance.net.pnid = "vc-l-01a.corp.local"
    guestinfo.cis.appliance.net.addr = "22.1.1.11"
    guestinfo.cis.appliance.net.prefix = "8"
    guestinfo.cis.appliance.net.dns.servers = "22.0.0.2"
    guestinfo.cis.appliance.net.gateway = "22.0.0.2"