I have been lately seeing the question of how to add a Second vCloud Director Cell to an existing single Cell VMware vCloud Director Setup to build a multi-cell vCloud Director raising often. Actually the question seems to get to phrased differently by different people. The most heard question, is how to increase the availability of my vCloud Director server or how to cluster my VMware vCloud Director server. Well, vCloud Director it self does not really support or use clustering for high availability. On the other hand, you can create a multi-cell vCloud Director setup and load balance between your vCloud Director Cells which will help you achieve both a higher availability & better scalability of your vCloud Director environment. In this article I will cover in step by step how to add a second vCloud Director Cell to your vCloud Director environment, though I will not cover up configuring the load balancer part as that can be widely different for each load balancer vendor.
The steps below assume that you have already mounted an NFS share on your first vCloud Director Cell while creating it per best practice even if you were not planning for a second vCloud Director Cell at that time. If you have not done that already, then please skip to the steps at the end of this post on how to prepare your first vCloud Director Cell then come back to follow the same steps below.
Adding a second Cell to your vCloud Director Setup:
1- Install a supported version of Redhat Linux on a new VM (Try to use the same version you used to setup the first Cell in your environment. Redhat 5.6 64-bit is used for this example).
2- Make sure the new vCloud Director VM has two Network Cards on it connected to the correct networks as well got the correct IP setups the same way you have done your original vCloud Director Cell. Further don’t forget to create the DNS records for it.
3- Use SCP to copy the vCLoud Director installer to the new vCloud Director VM Command:
# scp vmware-vcloud-director-1.5.0-464915.bin firstname.lastname@example.org:/tmp (where 192.168.2.249 is my new vCloud Director Cell)
4- Browse the directory where you copied the vCloud Director installer and change it to executable as follow: chmod +x vmware-vcloud-director-1.5.0-464915.bin
5- Execute the vCloud Director installer: ./ vmware-vcloud-director-1.5.0-464915.bin
6- When asked “Would you like to run the script now?” answer by n and hit enter as we will run the script later.
7- Make sure your Second vCloud Director Cell has sufficient permissions on your NFS share. The below screenshot show how my NFS /etc/exports file looked like on my NFS server that server my lab multi-cell vCloud director environment.
8- Mount the transfer nfs folder to your new vCloud Director server by editing your /etc/fstab on your new vCloud Director server by adding the following line:
192.168.2.21:/home/share /opt/vmware/vcloud-director/data/transfer nfs defaults 2 2
(Note: 192.168.2.21 is my NFS Server & /home/share is the nfs I have exported in earlier steps).
9- Save your /etc/fstab then run the following command: mount –a
10- Then test that your mount is working by browsing to it. Make sure the vCloud user have read/write access to the new mount.
11- Generate the ssl certificates for the second host just as you would for the first host in the vCloud Cluster. Yes, every host require his own two certificates one for https & one for the console though you could generate all of them from one host then copy them or share them as required. Just make sure you put them in a place where the vCloud Director could access them(default: /opt/vmware/vcloud-director/etc) .
12- Copy your response.properties file from your first vCloud Director server found on /opt/vmware/vcloud-director/etc. I have copied mine to the /tmp on the second vCloud Director Server
13- Run the configuration script using the response.properties files as follow: /opt/vmware/vcloud-director/bin/configure –r /tmp/responses.properties
14- The only questions you will almost need to answer in this is which ip to use for https and which one to use for console proxy IP the rest of the questions will be filled for you using the info from responses.properties.
15- Coming from a windows background, I would normally restart the vCloud Director Server after completing my setup and then test it.
My Setup before failing over my first vCloud Director Cell.
My Setup after simulating a failure of my first vCloud Director Cell by shutting down my first vCD Cell.
Preparing a mature VMware vCloud Director Cell for adding a second vCloud Director Cell
As mentioned earlier these steps are to be used by admins who did not follow best practices while setting up their first vCloud Director Cell & did not add NFS share when they originally setup their first vCloud Director Cell. As the NFS Share was not created originally on the first vCloud Director Cells few extra steps are required to prepare the first vCloud Director Cell as below:
- Login to your first vCD cell
- Empty your original transfer data directory found at /opt/vmware/cloud-director/data/transfer (Make sure you copy any data in there to a temporary location ex: /tmp/transfer)
- Shutdown the first vCD Cell by executing: service vmware-vcd stop
- Mount the NFS share to the original vCD Cell by adding it to the /etc/fstab file
- Copy the data from the temporary location back to the new NFS share that is mounted at: /opt/vmware/cloud-director/data/transfer
- Start the first vCD Cell again by executing: service vmware-vcd start
- Go back in this post and follow the instructions under: Adding a second Cell to your vCloud Director Setup
I hope this help someone expand their existing vCloud Director environment to a multi-cell environment or create a multi-cell environment from scratch. If you have any question/comment or you need further help please leave it in the comments area below.