One of my most popular articles (that I even turn to from time to time) is How To Install VMware vCloud Director 5.1 & 1.5 From Beginning to End. The article focused on installing with Red Hat Enterprise Linux (RHEL) 5. Since RHEL 6 is now a supported OS, it's time for an update. RHEL 6 does not have a GUI installed. So the install process is a bit different, but not far off. You just have to know what you are doing with the CLI.
Many of these steps follow the same steps as the original article, but need to be tweaked slightly.
Step 1. Prepare the environment.
Part A. Database. For an Oracle setup, you're on your own because I don't do Oracle, sorry. Though, since vCloud Director 1.5 supports Microsoft SQL Server, it makes my life much easier. Follow the step by step Installing vCloud Director 1.5 With SQL Server 2008.
Part B. DNS and IPs. Each vCloud Director Cell will need, at minimum, 2 IP addresses. The DNS names associated with those are going to be for the https request and the vmrc. so VCD-CELL01.company.com and VCD-CELL01-RC.company.com. Repeat this for as many cells as you have. In this case, we will be using 2 cells for redundancy. You may need an additional IP/DNS addition for your cells if you plan on publishing your portal to the internet. See step 3 for the information.
Part C. Syslog. vCloud Cells have the capability to export syslogs. Make sure you have a syslog server setup prior to installation.
Step 2. Create your vCloud Cell VMs. This should be simple so some steps will be skipped. Create a New VM and make sure it is Custom. Give it a definable name and place it in a folder accessible to you. When choosing a Resource Pool to place your VM and choose a reasonable datastore. Set the level of compatibility to ESXi 5.1 or Later. Set the Guest Operating System to Red Hat Linux 6 64-bit.
You can keep the hard drive size to 16 or expand it if you wish. It's not necessary to have a massive amount of space. One thing to also do is expand your disk and make sure you click on "Thin Provision". By default, when creating a brand new VM in the web client it automatically defaults to "Thick Provision lazy zeroed".
I change the vCPU to 2, but keep the RAM at 2GB. I also add 2 additional NICs. I use 3 NICs by default. You may need more NICs based on these types of communication:
- 1 NIC used for https/http and communication to vCenter/ESXi hosts and NFS(required)
- 1 NIC used for remote console proxy (required)
- 1 NIC for being placed on the public internet to accept outside http/https (optional) Read Hany's article Publishing the vCloud Director portal on the Internet and you will understand why
- 1 NIC used for communication to a L2 storage network for the NFS share between multiple vCD Cells. (optional) If your NFS server is on a Layer 2 network, you will not have access through adapters set on a normal VM Network portgroups. Set the first two adapters to VM Network portgroups that have L3 capabilities. 1 NIC is responsible for HTTPS, while the 2nd NIC is responsible for ConsoleProxy. The Third NIC needs to be attached to your NFS portgroup and you will need to assign IP addresses accordingly to connect to the NAS Gateway in the Layer 2 network. This solution also allows you to set the MTU of packets going through this adapter to 9000 so you can take advantage of Jumbo Frames on the NFS network.
Step 3. Install the OS. Mount your REHL6.x ISO to your VM and begin the installation. Press Enter to Install or upgrade an existing system.
skip the media check
Going to skip a few screens. Click next, and set your language preferences.
Choose Basic Storage Devices, click next.
Click Yes to discard any data
Set the hostname of your VM
Click on "Configure Network" and set the static IP address, netmask, gateway, DNS, and search networks for each adapter. One important thing to remember is to check the box that says "Connect automatically". Apply and click next.
Choose your timezone, this does not set NTP! We have to do this later on.
set your root password
choose "Use all Space"
Choose "Write changes to disk".
I did miss one screen during my screencap process. It's self-explanatory. Now watch the install go. Reboot when it finishes.
after reboot, you are brought to the CLI login screen. that's it for the OS install.
Step 3a (optional) Make the remote console IP ping. After spending a good few hours the other day thinking I had problems connecting to the remote console session of my vApps, I thought the root cause was because I couldn't ping my interface. We configured our cells with 3 interfaces (maybe more maybe less). RHEL6 by default has reverse path filtering. It will filter outbound packets on an interface where it thinks they should have arrived on. in our case, the remote console IP is on the same subnet as the vCloud IP. To disable this type in these commands:
- echo 'net.ipv4.conf.eth0.rp_filter = 0' >> /etc/sysctl.conf
echo 'net.ipv4.conf.eth1.rp_filter = 0' >> /etc/sysctl.conf
echo 'net.ipv4.conf.lo.rp_filter = 0' >> /etc/sysctl.conf
sysctl -p
Step 4. Install VMware Tools on your RHEL VM. A standard part of every virtual machine with VMware. Start the VMware Tools install process by click the "Install VMware Tools" from the vSphere Web Client. Since this has no GUI, a mount point must be created. This process was very well documented on Deploy a VMware vCloud Director (vCD) 5.1 using RHEL 6.2 but needed a bit more spoonfeeding. In addition, my process uses some different methods to install the software.
- log in as root
- type the following commands:
- mkdir /install/
- mkdir /mnt/cdrom
- mount /dev/cdrom /mnt/cdrom
- cd /install
- tar -xzvf /mnt/cdrom/VMwareTools-9.0.0-782409.tar.gz (actual name of VMware tools package will depend based on ESXi build number. change directories to the cd rom and view the files. cd /mnt/cdrom, ls.
- VMware tools extracts to a new folder in the root /install/ folder. change to the director and begin the VMware tools installation
- cd vmware-tools-ditrib/
- ./vmware-install.pl
- hit enter about 10x
- reboot
Step 5. Configure Firewall Settings. Now that we have our RHEL OS installed, it's time to set some firewall settings. Follow vCloud Director RHEL Firewall Settings - RHEL5 and RHEL6 to set the level of security in your RHEL OS for the services that you intend on running.
Step 6. Download the VMware Public Keys: Download and install the VMware Public Key. From KB 2005832: The installation file for vCloud Director is digitally signed to secure your environment. To install the product, you must verify the signature by downloading and installing the VMware public key in your environment.
To download and install the VMware public key:
- cd /install/
- wget http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-DSA-KEY.pub
- wget http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub
- rpm --import /install/VMWARE-PACKAGING-GPG-DSA-KEY.pub
- rpm --import /install/VMWARE-PACKAGING-GPG-RSA-KEY.pub
Step 7. Download and install the libXdmcp package: One of the required packages for installing vCloud Director is not installed by default on RHEL6. I found it easier to download the package off the internet from rpmfind.net. Check this repository before continuing to make sure the packages haven't been updated from my commands below.
- cd /install/
- wget ftp://195.220.108.108/linux/centos/6.4/os/x86_64/Packages/libXdmcp-1.1.1-3.el6.x86_64.rpm
- rpm -i libXdmcp-1.1.1-3.el6.x86_64.rpm
- if that link doesn't work I have hosted a version here:
- wget http://kendrickcoleman.com/phocadownload/userupload/libXdmcp-1.1.1-3.el6.x86_64.rpm
Step 8. Download or transfer the vCloud Installation .bin file: There are few ways to do this:
- Go to the VMware.com download page and download the .bin file to your desktop and burn it to an ISO and mount the ISO to the VM if you have to do this multiple times. mount the cdrom like we did for VMware Tools
- use SCP as depicted in Deploy a VMware vCloud Director (vCD) 5.1 using RHEL 6.2 to transfer the .bin to your cell
- Upload the .bin to a http/ftp spot easily accessible by your vCD cells and use wget
Step 9. Start and Stop the installation: go to the directory of the file, change the .bin to make it an executable. start the executable. When it asksif you wish to run this script. Press N for NO. Very Important
- cd /install/
- chmod u+x vmware-vcloud-director-5.1.1-868405.bin (your version and build number may be different, please verify)
- ./vmware-vcloud-director-5.1.1-868405.bin
- n
Step 10. Mount a NFS datastore or location as a transfer repository. The transfer repository plays a lot of key roles and also has some design considerations as pointed out by Chris Colotti in his 3 part series of the Clone Wars. Design aside, the transfer location is responsible for components of the vCloud cells themselves and all must share a common space. I follow Chris Colotti's tutorial Load Balancing Considerations for vCloud in the section titled Configuration Requirements For Multiple Cells. Make sure your NFS server allows the IP from your cell (all depends on the IP assigned earlier) to access the share.
- nano /etc/fstab
- add entry on the bottom line
- IP_of_NFS_Server:/path/mount /opt/vmware/vcloud-director/data/transfer nfs intr 0 0
- in my case it is: 10.2.50.135:/mnt/vcd_nfs/vcd_nfs01/ /opt/vmware/vcloud-director/data/transfer {space} nfs {tab} intr {tab} 0 {space} 0
- IP_of_NFS_Server:/path/mount /opt/vmware/vcloud-director/data/transfer nfs intr 0 0
- ctrl+x
- Y {enter} (yes to save)
Change the permissions of the transfer folder. by default, root is assigned and we need vcloud to be assigned. Mount the new export. If it succeeds, then no error message will be shown. Check the permissions of the transfer folder to make sure vcloud is the owner
- chown -R "vcloud:vcloud" /opt/vmware/vcloud-director/data/transfer
- sudo mount -a
- ls -l /opt/vmware/vcloud-director/data
Step 10. Create the SSL Certificates. This is for creating self-signed certificated. If you want to do CA Certificates, consult the VMware vCD Install guide. I prefer this blog article called Generating vCloud Director 1.5 SSL certificates that makes creation easier.
These command places the certificates.ks, which will be needed during install and used by other cells places in our central NFS repository.Change the storepass "passwd" to a password that makes sense to you.
- /opt/vmware/vcloud-director/jre/bin/keytool -genkey -keystore /opt/vmware/vcloud-director/data/transfer/certificates.ks -storetype JCEKS -storepass passwd -keyalg RSA -validity 731 -alias http
- /opt/vmware/vcloud-director/jre/bin/keytool -genkey -keystore /opt/vmware/vcloud-director/data/transfer/certificates.ks -storetype JCEKS -storepass passwd -keyalg RSA -validity 731 -alias consoleproxy
Step 11. Continue the installation. Lets go back to the terminal application and we will continue the installation by doing:
- cd /opt/vmware/vcloud-director/bin {enter}
- ./configure.
- Assign the correct IP addresses to the HTTP and Console Proxy. This is part of the design process we discussed earlier.
- Type in the directory of the certificates.ks location which will be in /opt/vmware/vcloud-director/data/transfer/certificates.ks
- Type in the password assigned from step 10. you should have changed it to something other than "passwd"
- Type in the IP address of the syslog server. If you use something different than the standard UDP port 514, type it in. If not, then skip.
- It's time to connect to the database. Type in 2 for SQL Server setup. Enter IP/DNS of SQL Server, the name of the database, the local user account and password and watch it run.
- Press Y to start the vCloud Services
Step 12. response.properties. The response.properties file is located in /opt/vmware/vcloud-director/etc and is used by all vCloud Director cells and needs to be protected in a secure location. Since the NFS transfer director is only accessible by the vCloud Cells, it's secure enough for me. We first need to verify that it has the the correct ownership with vcloud:vcloud, if it doesn't, then chown it like we did in step 9. Then copy the file to the NFS share
- cp responses.properties /opt/vmware/vcloud-director/data/transfer.
Step 13. Adding additional cells. Now that we have most of the ground work done, we can easily add more cells. Get another VM setup with RHEL following steps 3-7. Once you have the .bin file in the /install folder we need to follow some of the same install steps as before.
- chmod u+x vmware-vcloudxxxx.bin
- ./vmware-vcloudxxx.bin
- press N to cancel the install
- follow the entirety of step 9 to mount the NFS share and chown ownership to vcloud, reboot
- no we can cd /opt/vmware/vcloud-director/bin
- ./configure -r /opt/vmware/vcloud-director/transfer/responses.properties
- Choose your network adapters to associate with HTTP and Console Proxy
- You can try to start the services, but they may fail. If you reboot, the services will be back once again.
Step 14: Sysprep files. If you plan on using older Windows Operating systems prior to Windows 2008 R2 (such as 2003, 2000, XP, etc) follow step 14 in my older article How To Install VMware vCloud Director 5.1 & 1.5 From Beginning to End.
Step 15. Setup vCloud Network and Security. This is a very simple process. Download the vShield Manger appliance (vCNS) and deploy the OVF into your vCloud Management Cluster. Open up the console of the VM and enter the username admin and password default, then type enable, type default as the password, and then type setup. Enter the IP address, subnet mask, and default gateway that enables communication to the vCenter Server. Once that is done, you can access the Web GUI of vShield manager by navigating to the IP address we gave it and changing the admin username from default to something more secure. Do not attach it to a vCenter server, vCloud does this for you. With 5.1, we need to attach our vCenter server instance to vCNS and SSO. This is also a good time to start setting up VXLAN. VXLAN setup can be found here. At this point we are done. You can license it on the vCenter server after vCloud does it's thing.
Step 16. Start Configuration! Congrats, you've completely setup vCloud Director, head on over to the IP address done in step 17 or go directly to a vCloud Cell IP and begin your setup and configuration!