With the release of vCAC 6.1 there have been some great improvements in the setup of the clustered vCAC appliances - none of the previous copying of configuration files between appliances - just a simple wizard to do it all for you. In my opinion this is superb.
You’ll need to have deployed a load balancer of some sort - vCAC 6.0 build-out to distributed model – Part 3.1: Configure Load Balancing with vCNS or vCAC 6.0 build-out to distributed model – Part 3.2: Configure load balancing with NSX
Deploy three vCAC appliances by running through the OVF deployment wizard, two to be configured as vCAC Appliance nodes and one to be the external vPostgres database.
Before powering on the appliance I reduce the RAM down to 4GB - this is more than enough when you’re just running vPostgres.
Log on to the administration interface (https://ApplianceFQDNorIP:5480) using root and navigate Admin > Time Settings and configure NTP to use the same settings as your Identity Appliance and vCAC Appliances.
SSH to the deployed and running appliance and log in using root and disable un-used services:
service apache2 stop chkconfig apache2 off service rabbitmq-server stop chkconfig rabbitmq-server off service vcac-server stop chkconfig vcac-server off service vco-server stop chkconfig vco-server off
In the same SSH session, use the following to configure vPostgres
Accept connections from anywhere:
sed -i -re 's/^#(listen_addresses=.\*.)/\1/' /var/vmware/vpostgres/current/pgdata/postgresql.conf
Set the max connections to 400:
sed -i -re 's/^(max_connections *= *)([0-9]+)(.*)/\1 400 \3/' /var/vmware/vpostgres/current/pgdata/postgresql.conf
And restart vPostgres
service vpostgres restart
Finally, we need to set the password for the vPostgres user ‘vcac’
su - vcac cd /opt/vmware/vpostgres/9.2/bin ./psql ALTER USER vcac WITH PASSWORD 'password here'; \q exit
Log on to the administration interface (https://ApplianceFQDNorIP:5480) using root and navigate Admin > Time Settings and configure NTP to use the same settings as your Identity Appliance and vCAC Appliances.
Go to the vCAC Settings tab > Database and enter the details for the appliance we just converted to vPostgres only, then save your settings:
A nice new feature of the VAMI in 6.1 is that it disables the local vPostgres DB if you configure an external one - that saves a manual step!
Select the vCAC Settings > Host Settings tab and enter the URL for the load balancer and Save:
Go to the SSL tab and import the SSL certificate:
Go to the SSO tab and enter the details for the Identity Appliance, remembering to append the port (7444) to the appliances FQDN, the user is [email protected] and the password is the one you specified when configuring the identity appliance. It’s worth noting that this can take some time to initialise!
Once the SSO is configured the vCAC services will start to load - this can take a while, but it’s important to wait until they’re all (20) started before moving on to the next step.
Check the status of the services from the Services tab, or you can monitor the catalina.out log file to see them starting by connecting via SSH to the appliance and using
tail -f /var/log/vcac/catalina.out
Go to the vCAC Settings > Licensing tab and enter your license
All being well, you can now log into your new vCAC Appliance using the new /vcac instead of /shell-ui-app (massive improvement for usability there, thanks VMware!) using the [email protected] account.
Log into the admin console of the second appliance and configure the NTP settings to use the same time servers as the first appliance under Admin > Time Settings
This is where the biggest improvement for clustering vCAC appliances comes into play - to configure this secondary node into the cluster we just go to vCAC Settings > HA and join the secondary appliance to the primary:
Now have a look at the config and the Services - you should see they all match the primary appliance (e.g. License is installed, SSL certificate matches primary)
To save on resources we now disable the unused services on the secondary vCAC appliance via SSH (the services may already be stopped, it’s safe to ignore warnings from the stop commands):
service vpostgres stop chkconfig vpostgres off service vco-server stop chkconfig vco-server off
The easiest way to verify that the cluster is in fact working is to modify the load balancer to only connect to a single instance and log on to the https://vcloud.definit.local/vcac site, then flip the load balancer around to point to the other node and check you are able to log in again.