News Flash: Redwood is GA
A Quick Introduction:
I’m not going to talk about VMware vCloud Director (vCD), or how it’s a true game changer in the evolving world of Cloud Computing. I urge you to watch the VMworld 2010 opening keynote (a great presentation/demo by Paul Maritz and Steve Herrod) or check out the product page for high level information.
The first time I got my hands on the beta binaries of vCD, it took me one week (i repeat: one week) to get this beast up and running. I didn’t have at that time a hardware lab or even any guide to help me with the task. My idea was simple: I had a brand new 8GB memory laptop from VMware and I was so excited to run redwood on this PC (yes it was not a Mac and don’t ask me why!). This task took that long not because of the vCD software itself, in fact, and as you will see in this post, installing vCD takes less than 1 min! The task took so long with me because of the other dependencies for that software, to be more specific the Oracle DB (which I had absolutely no experience with it) and the SSL certificates generation!
With all that said, I’m going to be very practical in this post and help you experience this incredible product with the least requirements, whether it’s hardware or software.
By the end of this post you should have a virtual private cloud running on your laptop/desktop, and you should see the following screens on your monitor!
As you see in the diagram below, we will utilize here the VMware Workstation 7 for running our cloud. I prefer to use the Workstation “Team” here to organize things better and to have this one whole container should I choose to move, or share the VMs with someone else. As you see also, we have 4 base VMs running Win2k3 AD+DNS, Win2k3 64bit running Oracle 11G and vCenter 4.1 Server, CentOS5.5 64bit running the vCD, and last but not least the vESX 4.1.
The vESX host will run vShield Manager (vSM) as a nested VM. It will also run the nested cloud computers when you finish configuring your vCD.
What You Will Need?
Here are the downloads that you need to start with right away:
- VMware vCloud Director – [200MB]
- vShield Manager – [500MB]
- CentOS 64bit DVD ISO – [3.9GB]
- Oracle 11G 64bit Enterprise – [2.1GB]
- Java Development Kit – [78MB]
- vSphere 4.1 Enterprise-Plus (vCenter & ESXi) – [2.5GB]
- VMware Workstation 7.1 – [568MB]
Before We Start: DNS, DNS, DNS!!
To avoid any issues during your installation and configuration, please make sure that your DNS server is up and running with all the entries for the VMs set in advance. This includes: vCD, vSM and the ESXi host. I can’t stress enough on this point!
Step1: Installing the Oracle DB (VIDEO)
First thing first. You need a backend database for all you apps. I chose to install here Oracle 11G on Windows rather than Linux for two reasons:
1 – It’s easier and there is no shame from that! Installing Oracle on Windows requires no tweaking, optimization or prerequisites. All what you need is to download the binaries and set it up. If for any reason you think that you really need to run Oracle on Linux, then I won’t leave you in the dark. Here is an excellent article detailing step by step how to do it if you are a newbie. (click here)
2 – We need to save memory. I’m assuming all the way through this article that you are having a maximum of 8GB memory on your laptop/desktop. By installing Oracle on Windows you will save a new VM because we will install vCenter on the same VM. It’s not just that, we will actually leverage that same Oracle server to host the vCenter DB. Bingo! No need for MS-SQL Express.
Now let’s install Oracle in this video and set it up to be ready for our vCloud Director and vCenter Server.
The commands used in this video:
- sqlplus system/oracle@localhost/cloud
- create user cloud identified by oracle;
- grant “RESOURCE”, “DBA”, “CONNECT” to cloud;
Step 2: Configuring vSphere 4.1 in Workstation
It’s never been easier. Workstation 7 now supports running vESX 4.x out of the box. All what you need is to download the ESXi 4.1 iso from vmware.com and then create a new VM and choose your GOS to be (VMware ESX) as shown in the screenshot below. After that you will need to install the vCenter Server 4.1 on top of the Oracle DB VM as described above. OF course you will need to setup before that the ODBC connection to the Oracle DB which is quite straight forward.
Step 3: Preparing the SSL Certificates
You will need to download the Java Development Kit (JDK) from the link provided above to your Guest OS (e.g XP or W7), and then generate the self-signed SSL certificates using the following commands:
- “C:\Program Files (x86)\Java\jdk1.6.0_20\bin\keytool” -keystore certificates.ks -storetype JCEKS -storepass hypervizor -genkey -keyalg RSA -alias http
- “C:\Program Files (x86)\Java\jdk1.6.0_20\bin\keytool” -keystore certificates.ks -storetype JCEKS -storepass hypervizor -genkey -keyalg RSA -alias consoleproxy
- “C:\Program Files (x86)\Java\jdk1.6.0_20\bin\keytool” -storetype JCEKS -storepass hypervizor -keystore certificates.ks -list
Please note that the password in the example above is “hypervizor” and the output file is “certificates.ks”.
Step 4: Installing vShield Manager (VIDEO)
This is a fairly simple task and needs nothing but deploying the vShield Manager OVF package.
IMPORTANT NOTE: After Installing the vShield Manager there is one more step. You need to apply your vSM licenses to the vCenter Server. Without doing this step you will not be able to leverage the vSM in deploying the new edge devices for the different networking options in vCD.
Step 5: Installing CentOS Linux
I was going to record a video for installing CentOS linux but then i thought that it might be an overkill for this post. It’s pretty straight forward with the famous Anaconda GUI, so I expect no issues even for the Linux newbie. A few notes here:
- I’m using here CentOS because it’s the closest distribution to RHEL. I knew later on that some of the SE in VMware are using the same for doing the labs and testing. Needless to say that this distribution is not officially supported by vCD and that everything you see in this post is *NOT* meant for production.
- I recommend installing the complete packages to avoid downloading a lot of RPMs and going through the dependencies mess. This could be quite difficult for people new to Linux.
- You have to install the CentOS VM with two network cards. The first will be used for the Web UI access, and the other one will be used for the vCenter proxy access.
- After installing the CentOS i recommend disabling the embedded firewalls because it could affect some of the communications with vCenter Server and the Oracle DB. Don’t worry, you will see this option to disable the firewall at your first login.
- You will need to upload some files to the CentOS before and after the vCD installation, this includes: the certificates.ks that we generated in the previous step. The vCD .bin package you downloaded from vmware.com. The sysprep files needed for the vApp customizations later on. Now, you can either do this the traditional way by enabling the FTP daemon (service vsftpd start) and then upload the files with your favorite client, or, on the other hand, you can use the Shared Folder in Workstation as shown in the screenshot below. I’m an old school so I always prefer using FTP and command line, but it’s your choice.
Please also note that you will need to install the VMware Tools for the CentOS to use the Shared Folder option. It’s always a good practice to install VMware Tools on all your VMs.
Step6: Installing VMware vCloud Director (VIDEO)
Are you ready to unleash the beast? Let’s do it:
You will notice in the video that I had an issue with the path to the certificate. I’m not quite sure why this was happening, but I realized that if you put the file (certificates.ks in my case) to the vCD home folder (/opt/vmware/vcloud-director/) and then just type the file name with no leading path, the installer will accept it.
UPDATE: (Thanks to Kyle Smith, Sr.MTS @ VMware, for the following explanation)
For the certificates and any response file you need to make sure that they are in a directory that the vcloud user (created by the VCD installer) can read and the files themselves need to be readable by the vcloud user.
This means the files need to be outside of any user’s home directory (since they typically have a mode of 700).
Here is the command for “tailing” the log file for the application startup:
tail -f /opt/vmware/cloud-director/logs/vcloud-container-info.log | grep “Application Initialization”
Now you need to start exploring this incredible product and see if you can get your first vApp up and running in the cloud. You won’t be left alone. The front-page wizard will take you through the process step by step, starting from allocating your vCenter resources, all the way to creating your first service catalog. You can use the vCD evaluator’s guide as well to walk you through the process, but remember that this whole “cloud in a box” thing is limited by its nature and meant only for having a working vCD installation on the go with you!
I have a couple of ideas and I might be coming back soon with something like a demo-script to show you (on a deferent physical lab) a real-life example how you can leverage vCD in your private cloud journey.
Until then, Happy Clouding!