- Topics Mentioned
- VMware vSphere
Previously at TrainSignal we’ve learned about the vSphere 5.1 web client, which is the new and improved way to manage your vSphere infrastructure. We’ve also explored installing it on a Windows vCenter server, and learned all about the new Single Sign on (SSO) service.
One of the key advantages of the Web client is that you no longer need a Windows OS to manage your vSphere environment. Hence, continuing to host vCenter on a Windows machine seems a bit inefficient (both in terms of Microsoft licensing and resources). The desire to provide specialized service without being required to install a full-fledged server OS is a common problem, which the IT industry has a simple answer to: specialized, customized Linux appliances.
Linux appliances are trending because they provide a better and faster approach to deploy services. In theory, an appliance is much more secure as only parts of the OS needed to run the service are installed. Appliances require far fewer updates and maintenance and should be much easier to deploy.
However, in this case I had some hard time getting this appliance running. So keep in mind that although the process should be very simple, there are few things that you need to pay attention to to make sure that all goes well.
The version 126.96.36.19900 Build 799730 of the appliance is based on SUSE Linux 11 (64-bit). The appliance is preconfigured with 2 vCPUs and 8GB of RAM. It has two VMDK virtual disks with sizes of 25GB and 60GB.
The embedded database is PostgreSQL which is sized for 5 ESXi hosts or 50 virtual machines, which is the same limitation of the Microsoft SQL Express database embedded with the Windows based vCenter server. So far, vCSA can only utilize Oracle as an external database. Limiting its customers in this regards is an odd choice on the part of VMware, and while there are some cheap Oracle licenses, Oracle database admins do not come cheap unless you already have one on your staff. Hopefully more databases will be supported in the near future.
In vSphere 5.0 the web client needed to be installed on a Windows machine even if you have a Linux vCenter appliance. This has been rectified in vSphere 5.1 as the vCSA comes with web client interface built-in. In addition, the Windows C# based vSphere client is still supported. The vCSA still does not support Linked Mode configuration, but almost every other limitation that used to be in version 5.0 is being taking care of. This includes promised plugin and resolved limitations with other VMware products.
Before you start
You need to create an A record that point to the vCSA appliance in the forward-lookup zone. Hopefully you already have a reverse-lookup zone in your DNS server, and the corresponding PTR Record will be created automatically. If not, then this is a great time to create it as you will need it to complete the setup.
You also need to make sure that time for all machines on the vSphere network is synchronized. Communication between vSphere components (like hosts and the vCenter server for example) uses certificates, which make it very sensitive to time shifts of minutes. It is good practice to sync all your physical machines to a reliable time source, and then sync virtual machines clocks to their hosts.
Deploying the OVF Template:
Since the vCSA is downloadable from the VMware site in OVF format, we need some sort of host to deploy it. An ESXi 4.x or later is a valid option. Another option is VMware Workstation 6.5.x or later. If you believe that the vCenter server should not be hosted on one of the hosts that it manages, then you can chose the latter. Personally, I strongly believe that one loses a lot by not hosting vCenter itself on the vSphere infrastructure.
Assuming that you do not have an old vCenter server that you want to replace with the Linux appliance and you want to install the appliance on (what is currently) a stand-alone host, you will have to connect to the host using the vSphere Windows client. After login you go to file menu and choose “Deploy OVF Template.” Follow the wizard to the end, and you will have a running virtual machine to login to and start configuring. I imagine that VMware must come up with an alternative for this step in future versions as it reported that version 5.1 is the last to include the C# based client.
If you deploy the OVF template from a vCenter or an older vCSA, you will have the option to specify network settings including: Gateway, DNS, IP addresses and subnet mask for the appliance, and the newly created VM will come up with the setting specified.
However, the wizard does not allow you to specify a very important setting which is the host name of the VM. So the appliance will wake up calling itself localhost, a name that clearly cannot be the same as the DNS records you previously set (and if the name does not match the record, the setup will fail).
At this point I strongly suggest using the appliance console to login the machine and configure the missing settings using the /opt/vmware/share/vami/vami_config_net command. This will save you all sorts of counter-intuitive steps down the road.
Another alternative is to leave everything for your DHCP server. If you choose so, you will also need to create a static reservation for the VM MAC address. The reservation options, in addition to specifying the IP address for the VM, needs to specify the same hostname and domain name as configured in your DNS server.
Saying Good Bye to the Windows Client
From this point forward, all other steps need to be done using a web browser. The first website to visit is the appliance web console accessible on https://vcsa-address:5480 as indicated in the console screen. IE8 was not able to open this website, but the latest Firefox 15 and IE9 had no issues when logging on with the default root password of vmware.
At first login you need to accept the end user license agreement and hit next. The appliance then spends a couple of minutes doing something in the background before advancing to the next step in the wizard.
You need to read the following dialog really carefully if you did not follow my earlier advice and login to the VM console and specify the host name or provide it to the VM by DHCP as an alternative. To configure the machine with a static IP address, you need to configure a hostname for the machine, but to do that, you will need to cancel the wizard and go to the network settings.
If despite all warnings you found yourself in a situation where you need to set the IP address and hostname in the web console, please note that you cannot set both at the same time. The appliance will change the IP address, but the host name will not stick. You will need to revisit the “Address” tab under “Network” to set the localhost. My guess is that the vCSA is communicating with itself using the IP, so when it changes the IP address, it loses communication and the name change does not happen.
After that, you can re-launch the wizard from the “Summary” tab under “vCenter Server”, and continue by choosing “custom configuration” to reach the database settings. As stated earlier, for a small environment you can use the embedded database. However, if you need to scale then you need to provide the connection settings for an Oracle database server.
The same applies to the SSO database settings. In addition, at this dialogue you can instruct the appliance to use a previously installed external SSO or install its own. Remember that you need one SSO instance to serve your vSphere infrastructure regardless of how many vCenter servers or vCenter appliances you have.
Provide your active directory domain, administrator user and password to be able to join the appliance to the domain and add Active Directory on the list of authentication sources. This step actually is what forced me to go through the “custom configuration” instead of the “default settings” at the beginning of this wizard.
Alternatively, we could have followed the default settings to its completion then joined the appliance to a domain, and added active directory as an authentication source after the setup. However, this custom configuration felt a bit easier, and enabled us to view all settings for the purpose of the article.
Review your configuration and hit start. Make sure that all is set according to what you need. If you did not set the hostname of the vCSA, this is your last chance to correct this fatal mistake.
After a while you will start seeing green checks. In all my failed attempts, it failed at configuring SSO. If you’ve passed that point then it is time to celebrate, as you know you will have you vCSA even if you wait a bit longer.
You are looking at more than 30 minutes of extensive CPU and hard disk activity until your appliance is ready. Still, it is much less time and hassle than what is needed to install a Windows-based vCenter Server.
When you see the last green check informing you that vCenter has started you can connect to your new vCSA by the C# vSphere client, or open your favorite browser and visit https://vcsa-address:9443/vsphere-client and enjoy the flash based web client.
The Linux based vCenter Virtual Appliance has been improved significantly since the first version was released a year ago with vSphere 5.0. Most of the limitations have been overcome and it has become a viable alternative to the Windows based vCenter Server.
The setup may look long, but it is not hard at all as long as you have prepared the needed settings. You can even automate it by preparing a configuration file or easily pulling the settings and data from an older vCSA when you need to upgrade, but this article has already become too long so we cannot dive into the details of any related subjects at this point. Still, you must have realized by now that the vCSA is surely an interesting thing to explore further.
TrainSignal now offers unlimited IT training for only $49 per month! Sign up now for a 3-day free trial to access all of our courses.