In this last and final article, I will share alternative methods of deploying vCenter Server management node using the VCSA 6.0 appliance. Take a look at the various deployment methods below and their respective instructions for more details. If you are deploying using one of the scripts below, you will need to extract the contents of the VCSA ISO. If you are deploying to Workstation/Fusion, you will need to extract the VCSA ISO and add the .ova extension to the following file VMware-VCSA-all-6.0.0-2562643->vcsa->vmware-vcsa before deploying.
vcsa-mgm-node
Disclaimer: Though these alternative deployment options work, they are however not officially supported by VMware. Please use at your own risk.

Deploying to an existing vCenter Server using ovftool (shell script)

I have created a shell script called deploy_vcsa6_mgmt_to_vc.sh which requires using ovftool 4.1 (included in the VCSA ISO) to specify the appropriate OVF "guestinfo" properties for a vCenter Server Management Node deployment. You will need to edit the script and modify several variables based on your environment.

Here is an example of executing the script:

vcsa-6.0-vcenter-server-management-deployment

Deploying to an ESXi host using ovftool (shell script)

I have created a shell script called deploy_vcsa6_mgmt_to_esxi.sh which requires using ovftool 4.0 or greater to specify the appropriate OVF "guestinfo" properties for a vCenter Server Management Node deployment. You will need to edit the script and modify several variables based on your environment. The behavior of this script is similar to the one above, except you are deploying directly to an ESXi host.

Deploying to an existing vCenter Server using ovftool (PowerCLI)

I have created a PowerCLI script called Deployment-VCSA-Mgmt.ps1 which uses ovftool and specifies the appropriate OVF "guestinfo" properties for a vCenter Server Management Node deployment. You will need to edit the script and modify several variables based on your environment.

Deploying to VMware Fusion & Workstation

To properly deploy the new VCSA 6.0, the proper OVF properties MUST be set prior to the booting of the VM. Since VMware Fusion and Workstation do not support OVF properties, you will need to manually deploy the VCSA, but not power it on. Once the deployment has finished, you will need to add the following entries to the VCSA's VMX file and replace it with your environment settings. Once you have saved your changes, you can then power on the VM and the configurations will then be read into the VM for initial setup.

guestinfo.cis.deployment.node.type = "management"
guestinfo.cis.system.vm0.hostname = "192.168.1.50"
guestinfo.cis.vmdir.domain-name = "vghetto.local"
guestinfo.cis.vmdir.site-name = "vghetto"
guestinfo.cis.vmdir.password = "VMware1!"
guestinfo.cis.appliance.net.addr.family = "ipv4"
guestinfo.cis.appliance.net.addr = "192.168.1.64"
guestinfo.cis.appliance.net.pnid = "192.168.1.64"
guestinfo.cis.appliance.net.prefix = "24"
guestinfo.cis.appliance.net.mode = "static"
guestinfo.cis.appliance.net.dns.servers = "192.168.1.1"
guestinfo.cis.appliance.net.gateway = "192.168.1.1"
guestinfo.cis.appliance.root.passwd = "VMware1!"
guestinfo.cis.appliance.ssh.enabled = "true"
guestinfo.cis.appliance.ntp.servers = "0.pool.ntp.org"

For more information, you can take a look at this article here.

Deploying using new supported scripted install (bonus)

As mentioned earlier, there is also a new scripted installer included inside of the VMware-VCSA ISO under /vcsa-cli-installer which supports Windows, Mac OS X and Linux, but must be connected directly to an ESXi host. There are several templates that are also included within the /vcsa-cli-installer/templates. I thought as a bonus I would also share the template I have been using to deploy replicated PSC instances using a static IP Address which some of you may find useful.

The use the scripted installer, you just need to change into the appropriate OS platform directory (win32,mac or lin64) and there should be a binary called vcsa-deploy. To use this template, you just need to save the JSON to a file and then specify that as the first argument to vcsa-deploy utility.

Here is an example of deploying a PSC using the vcsa-deploy scripted installer.

vcsa-6.0-vcenter-server-management-node-scripted-install

10 thoughts on “Ultimate automation guide to deploying VCSA 6.0 Part 4: vCenter Server Management Node

  1. This article gives all sorts of home lab users all sorts of crazy ideas, in a very good way 😉

    I notice your sample scripts tend to hard code everything by IP address, rather than names for ESXi and VCSA. I agree, this works easily, smoothly. Scripted as you’ve shown, or the the regular vcsa-setup.html way, easy.

    But I’ve also found deploying the VCSA appliance configured for DHCP, with a DHCP reservation in my WiFi router leasing the name and domain name, works very nicely as well. I then simply PuTTY in to add a host file line for the esxi host by FQDN, and tada, nice pretty names for ESXi and VCSA, seen in this UI screenshot:
    http://cdn.tinkertry.com/wp-content/uploads/2015/03/heres-my-working-vSphere-6.0-home-lab-with-nice-FQDN-names.png

    FYI, letting VCSA it auto-choose “localhost” doesn’t tend to work out so well, should lesser DHCP servers (crap WiFi router) not give an IP and a name. Only host vcenter and domain lab.local were used did I have everything working just peachy.

    Without resorting to (Windows Server 2012 R2) with FQDN and forward and reverse lookup DNS services (and all the complexity this entails for newbies):
    http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003735
    I have found some ways of repeatedly documenting my deployment techniques that work, but they’re a bit clumsy to try to make repeatable for anybody’s home lab. My focus is on common WiFi routers that worked well enough for 5.5 and earlier, and the common Windows client PC that folks are most likely to be deploying from, with the script templates inside the VMware-VCSA-all-6.0.0-2562643.iso here:
    \vcsa-cli-installer\templates\VC.example.json

    So, finally, now for the goofy question.

    Have you found a more elegant (scripted?) way to deploy a vSphere 6.0 home lab, with a FQDN name for the vCSA appliance (so the SSO stuff works, and the appliance comes up clean)?

    Thanks!

  2. Is it possible to deploy a VC when you have an external PSC? I don’t see in any of your script an option for configuring SSO.

  3. I had a very good setup with vCenter Server 5.5 (Linked mode) + 5 Robo sites with your VCSA Script. Managing/monitoring everything from the HQ vCenter Server (Nice).
    Now I have upgraded my HQ vCenter Server 5.5 -> 6.0, running fine, but unable to manage or connect my Robo Sites…. (License is Essential Plus in HQ, and Essestial in Robo Sites.)
    Hope you can guide, what is possible with Essential Plus license,

  4. Do you specify whether to configure the database as postgres or Orcale anywhere in the json file? If not, does it default to Postgres?

  5. I am loading on Fusion Pro 8.1 using VMX files. I am using Update 2. i can get the “embedded” and “External PSC” to work. i can not get the “Vcenter to external PSC” to work.

    On the appliance main screen ” Failed to Start Services Firstboot Error”. when i dig deeper in the “firstboot/soluser_firstboot.py_5449_stderr.log” file i find “OSError: [Errno 2] No such file or directory”

    When i try to repoint the VCenter to the external PSC using the command “/usr/lib/vmware-vmafd/bin/vmafd-cli set-dc-name –server-name localhost –dc-name systemname_of_second_PSC” the “vmware-vmafd” director is not there. i could use some help. Has anyone tried this VSphere 6.0 Update 2?

    VMX file info:
    guestinfo.cis.deployment.node.type = “management-tiny”
    guestinfo.cis.system.vm0.hostname = “Test830.xxxx.tdw”
    guestinfo.cis.vmdir.domain-name = “vsphere.local”
    guestinfo.cis.vmdir.site-name = “KCC”
    guestinfo.cis.vmdir.password = “xxxxxxxxx”
    guestinfo.cis.appliance.net.addr.family = “ipv4”
    guestinfo.cis.appliance.net.addr = “10.10.50.31”
    guestinfo.cis.appliance.net.pnid = “Test831.xxx.tdw”
    guestinfo.cis.appliance.net.prefix = “24”
    guestinfo.cis.appliance.net.mode = “static”
    guestinfo.cis.appliance.net.dns.servers = “10.10.50.230”
    guestinfo.cis.appliance.net.gateway = “10.10.50.2”
    guestinfo.cis.appliance.root.passwd = “xxxxxxx”
    guestinfo.cis.appliance.ssh.enabled = “true”
    guestinfo.cis.appliance.ntp.servers = “1.pool.ntp.org”

Thanks for the comment!