Install vCloud Director 8 with High Availability

vCloud Director 8.0 is the latest version available for service providers and can be downloaded from here.

It’s been quite sometime that I am dealing with vCloud Director in our production environment and as well as my test lab. In past I have written a post on how to install vCloud Director 5.5. You can also read the entire vCloud Director post series from Here

Since v8 is out there in market for sometime, I decided to try my hands on it and implement that in my homelab.

There are various posts available on internet about what is vCloud Director and what it does. So I will not talk much about it and jump directly into action.

In this post we will be going to learn how to deploy vCloud Director with high availability.

Pre-requisites before installing vCloud Director:

1: Two server (for 2 vcd cells) with Redhat as guest operating system installed and configured. Hostname and DNS should be configured. Also make sure your Redhat guest os is syncing its time from NTP server.

2: The Redhat Server must have 2 NIC’s and each with different IP address (preferred) for HTTP and Console connection. This server should be reachable to your database server over the network.

3: vCloud Director installation file (bin file) downloaded and copied to server where it will be installed.

4: Certificates must be generated for http and console-proxy connection.

5: vCloud Director database configured.

6: Additional Redhat server (or any other Linux flavor) configured as NFS server.

Let’s see configuration of each component one by one.

vCloud Director database configuration

Run the following script on your SQL server to configure database for vcloud Director. In my lab I am running SQL 2014 as database.

Make sure your sql server is reachable from both vcd cells at port 1433

[root@vcd01 ~]# telnet sqlsrv01 1433
Trying 192.168.109.3…
Connected to sqlsrv01.
Escape character is ‘^]’

[root@vcd02 ~]# telnet sqlsrv01 1433
Trying 192.168.109.3…
Connected to sqlsrv01.
Escape character is ‘^]’

Create  NFS Mounts

Login to your NFS server and create a directory which will be mounted as NFS share on VCD cell. I am running my NFS server on RHEL 6.

Verify the NFS Export settings

[root@vcdnfs ~]# cat /etc/exports
/home/data/ 192.168.109.0/24(rw,sync,no_root_squash)

Start NFS Services

[root@vcdnfs ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]

Make sure NFS service is set to start on system boot

[root@vcdnfs ~]# chkconfig nfs on

Generate Certificates on VCD cell

a: Certificate for http

b: Certificate for console proxy

c: List the generated certificates

[root@vcd01 ~]# keytool -storetype JCEKS -storepass vcl@2016 -keystore vcd.ks -list

Keystore type: JCEKS
Keystore provider: SunJCE

Your keystore contains 2 entries

consoleproxy, Jun 4, 2016, PrivateKeyEntry,
Certificate fingerprint (SHA1): B5:66:36:28:D3:E1:6A:07:9A:16:9C:75:BA:BF:D9:95:3E:17:14:D6

http, Jun 4, 2016, PrivateKeyEntry,
Certificate fingerprint (SHA1): 45:FE:93:61:67:C3:49:D6:B3:D3:BF:5A:95:43:BE:B0:72:09:80:51

Install vCloud Director on First Cell

Run the vCloud Director bin file but don’t invoke configuration script as of now. We will invoke the script later after doing some modifications on server.

Mount NFS share on vCloud Cell

a: List the NFS mount

[root@vcd01 transfer]# showmount -e 192.168.109.32
Export list for 192.168.109.32:
/home/data 192.168.109.0/24

b: Mount the NFS share in /opt/vmware/vcloud-director/data/transfer directory

[root@vcd01 transfer]# mount -t nfs 192.168.109.32:/home/data/ /opt/vmware/vcloud-director/data/transfer

c: Verify that NFS share has been mounted on VCD Cell

[root@vcd01 transfer]# mount | grep nfs
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.109.32:/home/data/ on /opt/vmware/vcloud-director/data/transfer type nfs (rw,vers=4,addr=192.168.109.32,clientaddr=192.168.109.30)

d: Mount the NFS share permanently on the vCD Cell by editing /etc/fstab file and making an entry as shown below

192.168.109.32:/home/data/ /opt/vmware/vcloud-director/data/transfer nfs defaults 0 0

e: Change the owner of transfer directory to vcloud user and set the permission to RW

[root@vcd01 ~]# chown -R vcloud:vcloud /opt/vmware/vcloud-director/data/transfer

[root@vcd01 ~]# chmod -R 750 /opt/vmware/vcloud-director/data/transfer

6: Move the certificate file  which we generated in step 3 to /opt/vmware/vcloud-director. Why we need to do so is explained here

[root@vcd01 ~]# cp /root/vcd.ks /opt/vmware/vcloud-director/

Also import the public key from VMware

[root@vcd01 etc]# rpm –import https://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-DSA-KEY.pub

[root@vcd01 etc]# rpm –import https://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub

Invoke the vCD configuration script.

We need to specify following:

  • IP Address for the HTTP service
  • IP Address for the Console Proxy IP
  • Location of the certificate keystore certificates.ks
  • IP Address for the Syslog server (which I skipped as I dont have syslog server in lab)

You can tail cell.log to see the startup progress.

Installation of first cell has been completed here. Let’s see how to deploy additional cell for failover

Deploy Additional cell for failover

Copy the certificate file which you created on first vcd cell to your second vcd cell. Also copy the response.properties file to the second cell. The default location for response.properties file is /opt/vmware/vcloud-director/etc/

This file contains the location of the keystore certificates.ks and also the DB server information such as IP, Database instance name, login etc.

a: Install vCloud Director on second cell and press ‘n’ when it invokes for configuration script

b: Mount same NFS share in transfer directory which you mounted on cell-a

3: Invoke the configuration script with -r /path_to_response_file option. Make sure you copy response.properties file on /opt/vmware/vcloud-director/ folder. Also make the owner of the file vcloud user and assign appropriate permission on the file

[root@vcd02 vcloud-director]# chmod 755 /opt/vmware/vcloud-director/responses.properties

[root@vcd02 vcloud-director]# chown vcloud:vcloud /opt/vmware/vcloud-director/responses.properties

This time the configuration script will only ask for http and http_proxy ip.

I hope you enjoyed reading this post. Feel free to share this on social media if it is worth sharing. Be sociable :)

5 thoughts on “Install vCloud Director 8 with High Availability

  1. This is copy paste from articles . Please elaborate what and why we should upgrade to vcloud director 8 .

    1. Which article are you referring here. Can’t you see all screenshots have been taken from my lab. Every component of my lab is running on my domain alex.local.

      As far as why we use vCD 8.x is to get advantages of new features that were introduced in 8.x like leveraging use of ANS that is part of vCAN and also support for NSX 6.2

      If you see the release notes of vCD 8.0 following advantages one is going to get:

      vSphere 6.0 support: vCloud Director for Service Providers 8.0 adds support for vSphere 6.0 in backward compatibility mode.

      NSX support: vCloud Director for Service Providers 8.0 adds support for NSX 6.1.4 in backward compatibility mode. This means that tenants’ consumption capability is unchanged and remains at the vCloud Networking and Security feature level of vCloud Director 5.6.

      Organization virtual data center templates: Allows system administrators to create organization virtual data center templates, including resource delegation, that organization users can deploy to create new organization virtual data centers.

      vApp enhancements: Enhancements to vApp functionality, including the ability to reconfigure virtual machines within a vApp, and network connectivity and virtual machine capability during vApp instantiation.

      OAuth support for identity sources: Support added for OAuth2 tokens.

      Tenant throttling: : Prevents a single tenant from consuming all of the resources for a single instance of vCloud Director and ensures fairness of execution and scheduling among tenants.

      And I will be happy if you can tell me which article I have copied here. If you cant appreciate work of someone then dont blame unnecessarily.

  2. Hi,

    I am looking for some good information on vCloud Air and vRealize Suite.

    Please share the information if you have it.

    Thank you
    Harikishan

  3. Pingback: vCloud Director 9.0 Single Cell Installation | Virtual Reality
  4. Pingback: vCloud Availability for vCloud Director: Part 4: Installing Cloud Proxy for vCD – Virtual Reality

Leave a Reply