I’ve been doing a lot of various oddball testing with vCenter for various scenarios, which have required me to deploy more complex configurations with vCenter 6 recently in my lab. I found very quickly that there isn’t good consolidated documentation on how to do more advanced vCenter deployments other than directly to ESXi hosts. It took me quite a bit of time to figure this all out. I wanted to share this with anyone else who may be doing similar test. Here’s how to deploy vCenter 6 VCSA with External PSC in VMware Workstation.
And I mean this to be a “proper” lab you can really test vCenter stuff in. No plain IP addresses for host names! We want proper FQDNs and what not here!
I am assuming you already have the following up and functioning, along with the following information:
- DNS server
- Proper networking for VMware workstation suitable for whatever you’re going to do
- Document what you will want your host names, IP addresses, DNS IP(s), default gateway IP, and Single Sign-On site names in advance. Fair warning: this all can get very confusing! Don’t introduce confusion by deciding these things on the fly. We’re going to use the following for this article:
- 1st PSC – vcenter6-2-psc1.vs6lab.local, 192.168.1.61
- 2nd PSC – vcenter6-2-psc2.vs6lab.local, 192.168.1.62
- vCenter – vcenter6-2.vs6lab.local, 192.168.1.60
- DNS server: 192.168.1.80
- Default Gateway: 192.168.1.1
Deploy vCenter 6 VCSA External PSC in VMware Workstation – Preparation
Here are the things you should get out of the way first:
- Download VCSA 6 from VMware if you haven’t already done so.
- Extract the VCSA download package to a temporary directory. For simplicity’s sake, we will assume you extracted the download to c:\VCSA. Rename the c:\VCSA\vcsa\vmware-vcsa file with an OVA file extension.
- Create A AND PTR records for all PSC and vCenter nodes within your lab’s DNS server.
Deploy vCenter 6 VCSA 1st External PSC in VMware Workstation
In order to begin your lab deployment to have an external PSC in VMware Workstation, you must deploy the first PSC.
To deploy the first external PSC in VMware Workstation, do the following:
- Double click on c:\VCSA\vcsa\vmware-vcsa.ova
- Provide the name for the new virtual machine. I’m calling mine vcenter6-2-psc1. Also provide the storage location for the virtual machine.
- After importing is completed, open the virtual machine’s VMX file before you power the VM up. You need to add the following lines to the VMX file, adjusting values as needed:
guestinfo.cis.appliance.net.addr.family = "ipv4"
guestinfo.cis.appliance.net.mode = "static"
guestinfo.cis.appliance.net.addr = "192.168.1.61"
guestinfo.cis.appliance.net.prefix = "24"
guestinfo.cis.appliance.net.gateway = "192.168.1.1"
guestinfo.cis.appliance.net.dns.servers = "192.168.1.80"
guestinfo.cis.system.vm0.hostname = "vcenter6-2-psc1.vs6lab.local"
guestinfo.cis.vmdir.password = "P@ssw0rd"
guestinfo.cis.appliance.root.passwd = "P@ssw0rd"
guestinfo.cis.deployment.node.type = "infrastructure"
guestinfo.cis.vmdir.first-instance = "true"
- Ensure that you created both the A and PTR records for this appliance. If you didn’t create them correctly, the remaining steps are a waste of time, as you’ll have to redeploy the appliance.
- Power the virtual machine on. If you get error messages that the VMX file is corrupt, the above lines likely did not get added properly within the VMX file. If you copied above from my web page, try retyping it all out in notepad. Sometimes HTML invisible formating gets copied and pasted that you’re not aware of. Allow the machine to complete its initialization.
- Verify it has completed properly. To do this, you can open the VM’s console window, verify that it shows the correct name and IP address, and does not show any error messages that say firstboot failed. If you see this error, you likely did not put in the proper information above, and/or the DNS A and PTR records were not properly created, or a similar issue with name resolution. Also, you can go to https://vcenter6-2-psc1.vs6lab.local and verify the web page comes up, telling you to sign into a vCenter Management server to manage the PSC.
We’re assuming this completed successfully at this point. If you encountered issues, correct this before proceeding.
Deploy vCenter 6 VCSA Non-Embedded Server in VMware Workstation
After you deploy the first external PSC in VMware Workstation, you need to deploy the vCenter server itself.
By default, deploying a vCenter 6 server appliance will automatically default to embedded within Workstation. The line guestinfo.cis.deployment.node.type within the VMX file controls the node type. As you saw above, setting it to “infrastructure” makes the VCSA instance a Platform Services Controller (PSC). Let’s make a vCenter server!
To deploy a vCenter Server leveraging the external PSC in VMware Workstation, do the following:
- Double click on c:\VCSA\vcsa\vmware-vcsa.ova
- Provide the name for the new virtual machine. I’m calling mine vcenter6-2. Also provide the storage location for the virtual machine.
- After importing is completed, open the virtual machine’s VMX file before you power the VM up. You need to add the following lines to the VMX file, adjusting values as needed:
guestinfo.cis.appliance.net.addr.family = "ipv4"
guestinfo.cis.appliance.net.mode = "static"
guestinfo.cis.appliance.net.addr = "192.168.1.60"
guestinfo.cis.appliance.net.pnid = "vcenter6-2.vs6lab.local"
guestinfo.cis.appliance.net.prefix = "24"
guestinfo.cis.appliance.net.gateway = "192.168.1.1"
guestinfo.cis.appliance.net.dns.servers = "192.168.1.80"
guestinfo.cis.system.vm0.hostname = "vcenter6-2-psc1.vs6lab.local"
guestinfo.cis.vmdir.password = "P@ssw0rd"
guestinfo.cis.appliance.root.passwd = "P@ssw0rd"
guestinfo.cis.deployment.node.type = "management"
guestinfo.cis.vmdir.domain-name = "vsphere.local"
guestinfo.cis.vmdir.site-name = "default-first-site"
- Ensure that you created both the A and PTR records for this appliance. If you didn’t create them correctly, the remaining steps are a waste of time, as you’ll have to redeploy the appliance.
- Power the virtual machine on. If you get error messages that the VMX file is corrupt, the above lines likely did not get added properly within the VMX file. If you copied above from my web page, try retyping it all out in notepad, as sometimes HTML invisible formating gets copied and pasted that you’re not aware of. Allow the machine to complete its initialization. Also, note that the vSphere Web Client takes a long time to initialize. Be patient!
- Verify it has completed properly. To do this, you can open the VM’s console window, verify that it shows the correct name and IP address, and does not show any error messages that say firstboot failed. If you see this error, you likely did not put in the proper information above, and/or the DNS A and PTR records were not properly created, or a similar issue with name resolution. Also, you can go to https://vcenter6-2.vs6lab.local and login to the vSphere Web Client. Ensure you can access the administration and inventory sections of the Web Client. Ensure both the vCenter appliances show up under Administration as healthy.
Still with me? Awesome! We’re almost done! What if you want to add an additional vCenter Platform Services Controller?
Deploy vCenter 6 VCSA Additional External PSC in VMware Workstation
You may be content with just a single external PSC, but additional PSCs can be deployed to test other scenarios as well. Here’s how to deploy an additional external PSC in VMware Workstation:
- Double click on c:\VCSA\vcsa\vmware-vcsa.ova
- Provide the name for the new virtual machine. I’m calling mine vcenter6-2-psc2. Also provide the storage location for the virtual machine.
- After importing is completed, open the virtual machine’s VMX file before you power the VM up. You need to add the following lines to the VMX file, adjusting values as needed:
guestinfo.cis.appliance.net.addr.family = "ipv4"
guestinfo.cis.appliance.net.mode = "static"
guestinfo.cis.appliance.net.addr = "192.168.1.62"
guestinfo.cis.appliance.net.pnid = "vcenter6-2-psc2.vs6lab.local"
guestinfo.cis.appliance.net.prefix = "24"
guestinfo.cis.appliance.net.gateway = "192.168.1.1"
guestinfo.cis.appliance.net.dns.servers = "192.168.1.80"
guestinfo.cis.vmdir.password = "P@ssw0rd"
guestinfo.cis.appliance.root.passwd = "P@ssw0rd"
guestinfo.cis.deployment.node.type = "infrastructure"
guestinfo.cis.vmdir.site-name = "default-first-site"
guestinfo.cis.vmdir.domain-name = "vsphere.local"
guestinfo.cis.vmdir.first-instance = "false"
guestinfo.cis.vmdir.replication-partner-hostname = "vcenter6-2-psc1.vs6lab.local"
- Ensure that you created both the A and PTR records for this appliance. If you didn’t create them correctly, the remaining steps are a waste of time, as you’ll have to redeploy the appliance.
- Power the virtual machine on. If you get error messages that the VMX file is corrupt, the above lines likely did not get added properly within the VMX file. If you copied above from my web page, try retyping it all out in notepad, as sometimes HTML invisible formatting gets copied and pasted that you’re not aware of. Allow the machine to complete its initialization.
- Verify it has completed properly. To do this, you can open the VM’s console window, verify that it shows the correct name and IP address, and does not show any error messages that say firstboot failed. If you see this error, you likely did not put in the proper information above, and/or the DNS A and PTR records were not properly created, or a similar issue with name resolution. Also, you can go to https://vcenter6-2-psc2.vs6lab.local and verify the web page comes up, telling you to sign into a vCenter Management server to manage the PSC. You should also go into the vSphere Web Client under Administration > System Configuration > Nodes and verify the new PSC shows up, and its services are healthy.
To make a PSC in a different site, change the guestinfo.cis.vmdir.site-name value to a new site.
And there you have it!