Building a vSphere Home or Learning Lab – Part 2
In Part two, we will install the VMware vSphere Client for Windows, create forward and reverse DNS (which is a prerequisite for installing vCenter in any form) and then we will install the VMware vCenter Server Appliance (VCSA) to manage our ESXi VMs
Download a nice, clean PDF of this procedure by clicking here!
Installing the vSphere Client for Windows
VMware would have you believe that the VMware vSphere® Client for Windows is best used only for managing standalone ESXi installations. Any administrator that has worked with the VMware vSphere® Web Client (even in vSphere 6.X) knows that the vSphere Web Client sucks ! Not only is the web-client not capable of managing standalone ESXi installations, it is basically unsuitable for use in any production environments, largely due to its heavy dependence on Flash.
We already acquired the binary for the vSphere client for Windows from VMware (if you did not, go get it now), so we are ready to begin installing the client.
Install the vSphere Client for windows on your local PC
Locate the binary you downloaded from VMware and right-click to: Run as administrator
Files extract
You may see this
Click: Next
Click: Next
Click: Install
Wait
Click: Finish
Open the vSphere client and connect to one of the ESXi VMs you installed in Part 1
- Use the IP address you assigned when you installed your ESXi VMs
- The username will be: root
- Use the password you assigned during ESXi installation
Install the certificate and then ignore the warning (we trust this host)
Creating DNS for vCenter
Forward and reverse DNS are a prerequisite for installing vCenter, no matter if you choose vCenter for Windows or the VCSA. There are many ways to create DNS in the home lab including building a Windows Server VM and adding the DNS Role . I wanted something simpler, free and lighter weight.
Regardless of your choice for DNS Server (Windows or Linux), you will need to create the A-records manually, as the VCSA will not create them on your behalf.
Linux DNS Server Appliance
Ubuntu server 14.04 LTS provides a convenient platform on which to install DNS. Ubuntu Server is thin and light, and will easily fit on the DAS of the ESXi VMs we have created, until such time as we have created SAN storage!
You can build your own VM, or download the actual VM that I built for this article, and then re-configure the IB, Bind daemon and Forward/Reverse zones to suit your needs. If you choose to use our OVA, then you are just a few easy steps from having a functional DNS Server in your home lab!
The goal of this lab is to re-configure a pre-built Linux DNS Server specific to your needs. I have done this in simplest way I could imagine, with the fewest possible number of steps! I will not be showing you how to build a Linux DNS Server from scratch, rather just re-configure the DNS Server I built for my lab. The net result should be a minimal DNS server suitable configured for your lab environment.
NOTE: My lab is on 192.168.153.0/24 and configured to be: jb-lab.local.
In the example screenshots, I will be showing you how to re-configure my Ubuntu DNS Server for your lab using: your-lab.local as an example of your domain and 192.168.174.0 as an example of your “subnet” (VMware misuses the term ‘Subnet” in the Workstation product, technically this is a Broadcast Domain).
Download the ubuntu-server VM as an OVA from here: http://www.johnborhek.com/download/ubuntu-server-ova/
Import the OVA into one of your newly-created ESXi VMs.
Choose: Deploy OVF Template
Locate the downloaded file: ubuntu-server.ova Click: Next
Next
Name your Ubuntu-server. Per Best Practices, the VM name and its hostname should be the same. You may name your DNS something different, but if you choose a name other than “Ubuntu-server,” you may be better off building DNS on a fresh build of Ubuntu, as opposed to re-configuring my Build. Click: Next
Choose: Thin Provision Click: Next
Choose: Power on after deployment, and then: Finish
Wait. This process should take 2-5 minutes on decent hardware.
Close
Log on to the VM
Open the VMRC (be sure to right-click the VM, then go to: Open Console – NEVER use the Console tab, it’s so annoying!)
Log on to the VMRC with the username: administrator and the password: P@ssw0rd (That’s a zero in P@ssw0rd)
Set the IP address for your Network
Open the eth0 configuration by running: sudo vi /etc/network/interfaces
- You will be asked for your password, which is: P@ssw0rd
- There are many good VI cheat sheets like this one: http://www.lagmonster.org/docs/vi.html
- The text editor Nano is also available, run: sudo nano /etc/network/interfaces
Customize the values in this file to suit your needs snd save (:wq). In this example, we have changed the address, network, broadcast, and gateway suitable for our example network.
- I replaced every occurrence of 153 in the third-octet of the IP address with 174
Define the forward and reverse zone files for Bind
Open the named.conf.local file to edit with vi: sudo vi /etc/bind/named.conf.local
- NOTE: sudo will not prompt for a password if used again within its default session timeout of 5 minutes.
Customize the values in this file to suit your needs
- In the example, we changed the text: “jb-lab.local” to “your-lab.local” in each occurrence.
- In the example we changed: “153.168.192.in-addr.arpa” to “174.168.192.in-addr.arpa” (NOTE: 174.168.192 represents the reverse of the Network portion of the IP. If this were a class B /16 network with a Subnet Mask of 255.255.0.0, then the zone would be “16.172.in-addr.arpa” and the file would be “/etc/bind/db.172”
Create your forward lookup zone by copying my forward lookup zone (/etc/bind/jb-lab.local) to and then editing it.
Run the command: sudo cp /etc/bind/db.jb-lab.local /etc/bind/db.your-lab.local
Edit the forward lookup zone for your-lab.local by running: sudo vi /etc/bind/db.your-lab.local
Customize the values in this file to suit your needs.
- I replaced every occurance of “jb-lab.local” with “your-lab.local”
- I replaced “john” with “your”
- I changed the 153 portion of every IP/A-record to 174
Create your reverse lookup zone by editing my reverse zone (/etc/bind/db.192)
Edit the reverse lookup zone for 192 by running: sudo vi /etc/bind/db.192
Customize the values in this file to suit your needs.
- I replaced every occurance of “jb-lab.local” with “your-lab.local”
- I replaced “john” with “your”
- NOTE: The numeric portion of pointer (PTR) record is the host portion of the IP address. In a Class C network with a subnet mask of 255.255.255.0 (or /24), the host portion of the IP is the last octet of the IP. In this case, 101 represents 192.168.174.101
Reboot your server to apply all the changes at once.
Run the command: sudo reboot
Check your work
- Login with the username: administrator and password: P@ssw0rd
- Run the command: ifconfig
- Run the command: service bind9 status
You should be in business with DNS!
Installing VMware vCenter Server
Now we need to install vCenter in whatever form you choose. I choose the VMware VCSA! We will begin by creating the VCSA on the DAS of the first ESXi VM, which will be possible if we Thinly Provision the disks.
Locate the VCSA ISO you downloaded from VMware and extract it with a tool like 7-ZIP . If you are running Windows 8 and beyond, simply Mount the ISO on your desktop to browse the files.
Browse the ISO (or the Extracted files) to: \VMware-VCSA-all-6.0.0-3040890\vcsa and run the Client Integration Plugin as Administrator
You may need to close all your open browsers to continue.
If google Chrome refuses to close, you need to force-close it with the task manager or at the command-line
Now locate the vcsa-setup.html file and open it with Google Chrome
Click: Install
Specify the FQDN or IP of your ESXi VM where the VCSA will be installed
- I chose to enter the IP because the actual .HTML installer is on my PC, not inside the jb-lab.local network. For this reason, the DNS we configured will not work.
- The username is: root
- The password is what you set when you installed ESXi
Click: Yes
Name the VCSA and assign a password for the OS. This will be the VM name in inventory.
- The password you set there has nothing to do with vCenter Services, rather is just the OS password for updates, the shell, etc.
Choose: Embedded Platform Services Controller
Now set the SSO Domain and password.
- This is the password that makes you king of the world.
- Be sure to note your SSO Domain name. The SSO Domain name must be unique and not the same as other domains.
Set: Tiny
Choose the DAS on the ESXi VM we created earlier and Enable Thin Disk Mode
- We will move the VCSA to a SAN later.
Choose: Use an embedded database
Set network properties for your lab configuration, along with the FQDN of the VCSA. Enable SSH and Synchronize time with the ESXi Host
Enable SSH and Synchronize time with the ESXi Host
Review your settings and click: Finish
This can take a long time!
Wait…
Done!
Troubleshooting VCSA installations
I have had tremendous success installing VCSA 6! In fact, my installations have only failed for one of two reasons:
The vSphere Client Integration Plugin became incompatible when Google Chrome is updated (most recently to Version 45). In this case, detecting the Sphere Web Client Integration Plugin 6.x simply times out and no amount of re-configuring the browser or re-loading the installer page will make it work.
The fix is fairly simple, just download the latest version of the Sphere Web Client Integration Plugin 6.x, or (at the time of this writing) download from this VMware KB: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2130672
Forward and Reverse DNS were not correctly configured for the Broadcast Domain (network) on which VCSA will be installed. If this is the case, you will see the installer fail with this message:
The fix is very simple: Configure DNS correctly with forward and reverse zones and A-records for the VCSA, and all ESXi Hosts/VMs
Connecting to your new vCenter and adding ESXi VMs
This is where VMware would really like you to start using the VMware vSphere Web Client. At this point, however, there is no need, as all of the operations we are going to perform are still fully supported by the VMware vSphere Client for Windows as well!
Open the vSphere Client for Windows and connect to your vCenter
- You should use the IP address of your vCenter, as the vSphere Client lives on your PC and the DNS Server you configured earlier will work only for the NAT network on Workstation (in my case, DNS is only for VMs on 192.168.153.0/24)
- The username is on your SSO domain that you specified during the VCSA installation process
- The password is what you specified during the VCSA installation process
- Install this certificate….
Create a Datacenter object
Add your ESXi VMs. If DNS is working, they should add by hostname!
Choose: Add Host
Input your hostname or IP. I recommend using the hostname because it proves that DNS is working, whereas using the IP proves nothing. The username for this operation is always: root
The SHA1 Thumbprint is visible in the Troubleshooting Options screen of the DCUI. Choose Yes
Click: Next
Click: Next
Click: Next
Click: Next
Click: Finish
Now do the same for esxi2 and esxi3!
This is what your completed home vSphere lab on VMware Workstation Pro looks like!
Hi John;
from Dubai, this is really nice and to the point. The idea of linux as dns server is great.
waiting to see your upcoming tutorial
I am back to the blog, so keep checking!
Hi John,
Thanks a lot for Ubuntu Server as dns server.
I was trying to figure out how to do this, went through loads of articles around this topic.
Yours was the best and easiest to follow, thanks a lot 🙂
All the best
Torgeir
Thanks for the nice words!