In this collection of posts I will go through a vCD Install and Configuration in a Lab environment.Â This is mainly for my own notes but may be enough to help with getting started on the build of a proper production vCloud Director Installation.Â The majority of the information in these posts is taken from the VMware Documentation pages.
The VMware vCD docs can be found here http://www.vmware.com/support/pubs/vcd_pubs.html.
The base setup requires a Linux Member Server, a Windows MSSQL or Linux/Windows Oracle DB server and an NFS server.Â When using Linux I always install screen to make life easier and protects from ssh timeouts.Â For my Lab I have built the following base VMs:
- vCloud Director Member Server – Linux CentOS 6 VM with 2 IP addresses
- vCloud NFS server – Linux CentOS 6 VM running NFS
- vCloud Director DB Server – Windows 2008 R2 VM running SQL 2008 R2
vCloud Director DB Server
For my lab I opted for a Microsoft 2008 SQL server rather than Oracle.Â The install and configuration process are in this post.
vCloud NFS server
I have detailed the setup of a simple CentOS NFS server in this post.
The install and configuration of the vShield Manager can be found in this post.
vCloud Director Member Server
It is important to note that vCloud Director only supports Red Hat Enterprise Linux 5 (64 bit) Update 4 through 8 and Red Hat Enterprise Linux 6 (64 bit) Update 1 and 2.
For the purposes of my Lab, however, CentOS 6.4 (64 bit) should be just fine.
VMware recommend that the Member Servers have at least 1GB of disk space free the installation and log files and 2GB of RAM is recommended.
There are also a bunch of packages that are required and by default these should be present on your VM, however, to be certain just run the following to list out what packages you have installed:
[code]yum list installed | less[/code]
I found that I had to install the following packages on my base CentOS build:
[code]yum install alsa-lib libICE libSM libXdmcp libXext libXi libXt libXtst redhat-lsb[/code]
Now you need to upload and install the main install binary for vCloud Director.Â At the time of writing this was vmware-vcloud-director-5.1.1-868405.bin.
So upload it to your Linux VM and then make it exectuable:
[code]# chmod +x vmware-vcloud-director-5.1.1-868405.bin[/code]
Now run the exectuable and lets do the install:
As I’m running CentOS is get this warning message, just hit y to continue:
Now the installer asks if you are deploying a cluster or just a standalone server.Â I know this is a Lab but i’d really like to run a full cluster so looks like I need to mount this shared directory prior to continuing:
In which case i just switch screens with “CTRL aa” (I’m running this using screen) and then find the directory that needs to be mounted to NFS.Â According to the docs:
To provide temporary storage for uploads and downloads, an NFS or other
shared storage volume must be accessible to all servers in a vCloud Director
cluster. This volume must have write permission for root. Each host must
mount this volume at $VCLOUD_HOME/data/transfer,
typically /opt/vmware/vcloud-director/data/transfer. Uploads and
downloads occupy this storage for a few hours to a day. Transferred images
can be large, so allocate at least several hundred gigabytes to this volume.
However, you can always stop the script at this point and run it again manually later:
[code]# # /opt/vmware/vcloud-director/bin/configure[/code]
So whichever way you wish to continue, the next this you need to do is check that the installer created the directories:
[code]# ls /opt/vmware/vcloud-director/data/[/code]
Now lets create the mount point through /etc/fstab:
[code]# vi /etc/fstab[/code]
And add the following line (adjusting for IPs etc).Â This is setting NFS to version 3 with a whole set of optimisations.Â In a real environment you may want to check out NFS v4 and you would certainly want to test out the optimisations:-
[code]# 172.27.131.219:/nfsÂ Â Â Â /opt/vmware/vcloud-director/data/transferÂ Â Â Â Â Â nfsÂ Â Â Â soft,rsize=32768,wsize=32768,auto,noatime,nolock,bg,nfsvers=3,intr,tcp,ac
timeo=30 0 0[/code]
Now mount the directory:
[code]# mount /opt/vmware/vcloud-director/data/transfer[/code]
and check its mounted with a “df -h”:
Now to check your permissions.Â First cd to the NFS mounted directory and try to write a file:
# cd /opt/vmware/vcloud-director/data/transfer
Now we can switch back to the main window and carry on with the configuration utility.Â First it asks which IP address will be used for the “HTTP service”, then for the “remote console proxy IP address”.
At this point I hit a snag point in that I hadnt created the SSL certs.Â This is partly because you need the “keytool” utility to create them and that only gets installed with the vCD installed (which is a bit chicken/egg if you have never installed vCD before). However, using screen again you can switch windows and create the SSLs.
I have covered generating Self Signed SSL Certificates here.
Once you have them in place then input the path into the vCloud Director configuration utility.Â In my example the Certificate Store is /home/user/certificate.ks.Â The configuration script also asks if you have a syslog server.Â As this is just a lab I am skipping this step, but I may revisit this later:
vCloud Director DB Server
The script now prompts you for your Database setup details.Â For my lab I opted for a Microsoft 2008 SQL server.Â I have detailed this configuration in this post.
Once you have your database configured and ready for vCD, go ahead and set it up (and if you are running a local firewall on the DB server don’t forget to open the relevant ports). Once the script can connect to the DB it runs a set of sql scripts then asks if you want to start the service:
You can either start it now or do it manually by running service vmware-vcd start:
The next thing you need to do is save and protect the Response File that the config script creates.Â This file is /opt/vmware/vcloud-director/etc/responses.properties and needs to be copied somewhere secure as this file is used whenever you create a new server in the group.
Microsoft Sysprep Deployment Package
NEED SOMETHING HERE!!!!
vCloud Director Setup
Once you have you vCloud Director service running you need to connect to it for initial configuration and licencing.Â First off connect to the HTTP service on port 443 in your browser (https://lab.url).
NOTE:Â At this point in my Lab something went wrong!!
When I connected to the URL all I got was a grey page in my browser.Â I started to hunt through the logs inÂ /opt/vmware/vcloud-director/logs directory.Â When i started to tail the cell.log I noticed this line:-
Application initialization detailed status report: 0% complete
With a lot of “Subsystem Status: [WAITING]” messages.Â After a short period the Cell would stop and the watchdog process would then restart it.
Then I remembered that I had cloned this VM from another test VM I had in the Lab.Â I checked the /etc/hosts file and noticed that I hadn’t updated it.Â I also put in 2 entries for the HTTP service IP and the console proxy for good measure (as I didn’t want to put these into our AD DNS server – this is a Lab).Â For production DNS needs to be confiured correctly.
Once I restarted the vmware-vcd service and tailed the cell.log everything looked much happier.
In short this problem looks like a DNS issue.
So now login to the web browser and continue with the setup:
Accept the Licence Agreement:
Input your Licence Key:
Create an Administrator Account:
The you get a chance to reveiw your settings before you Finish.Â Now you should be able to login:
Once logged in you can now attach a vCenter and start configuring your resources.