This is the first part of a multi-part guide designed to get beginners up and running with a vSpphere 6.7 based homelab (i.e. most up to date as of January 2019)
This guide assumes that you’re installing on to a physical piece of hardware that will boot from a USB key. Although, the process is pretty much the same for SD cards, local storage etc).
All software used in this guide can be obtained with a free trial period so you can get up and running quickly and have a limited play around. Software is available from:
This site requires registration but it’s free.
What You’ll Need
For this part of the guide you’ll need:
- Aa blank USB key (8GB or more, 16GB recomended)
- An installed copy of VMware Workstation (Windows) or Fusion (Mac)
- An ESXi Install.iso image (from my.VMware)
- Some shared storage (e.g. iSCSI via a NAS [shown in guide]).
- NFS would also be viable but not shown here.
- 2 x ‘computers’ to act as hosts for ESXI and run our workloads
- These will run ESXi from USB.
For the Hardware the following should be considered munimum:
- Intel core i5 or better CPU (4th Gen or newer)
- 16GB RAM (32GB Recomended)
- 2 x 1Gbps Network ports (3 x ports recomended)
Why a Homelab?
Homelabs are useful. They allow you to play witht he latest technology without fear of breaking anything important. You own them and can connect them to whatever you feel like for max flexability. They are also fun to build and easy to maintain. Interested in a bit of new software that your company isn’t? A homelab is a great place to try it out.
What Are We Going To Do?
First off we need to complete the basic setup. The aim of this part of the guide will be to get the basic Hypervisor up and running. VMware’s Hypervisor is ESXi. This is platform upon which all other softweare and virtual machines will run.
So, the first part of this homelab setup will be to install ESXi on to a USB stick and then get our physical hosts to boot from that. We’re then going to set the hosts up so they can communicate with each other and have access to some shared storage. This is the bare minimum required to get them ready to run VMs.
This guide uses screenshots from my version of VMware Workstation and I have assumed this is already installed on your machine. Fusion (Mac) is similar but not 100% the same. you should still be able to follow this guide.
Step 1: Create a Blank VM In Workstation
Open up VMware Workstation and create a new VM from File > New Virtual Machine. This bring up a handy Wizard.
Workstation provides an option to attach an ISO to a new VM and boot straight to it when it’s created. This is perfect for Installing ESXi as, with a few clicks, we’ll have the installer booted and ready to go.
Select Installer disc image (.iso): as the option and then browse to the ESXi .iso file you have downloaded from VMware. It’ll probably have an unfriendly name. e.g. VMware-VMvisor-Installer-6.7.0.update01-10302608.x86_64.iso. Click Next.
Now name the VM something friendly (its not being kept so dont worry too much). and, if you can, make the location somewhere fast and local to speed up install times. Click Next.
This VM isn’t going to do much apart from boot an ISO image (we’re installing to USB remember) so make the disk size 2GB and click Next.
Make sure you tick the Power on this VM after createion option and click Finish.
The VM used to boot the ESXi installer will now be created, turn itself on, and then load the installer program. Probably less than 30 seconds!.
Step 2: Install ESXi to USB Stick
When you open a console to you’re VM you should probablu see something like this. Notice there is a countdown timer so, if you’ve been a biy slow, the default option will already have been selected for you…
Before you go any further you’ll want to ensure that you’ve plugged in your USB key that you with to install ESXi on to and connected it to the VM via VM > Removable Devices > [Your USB Drvice] > Connect.
Once you’ve selected you want to install ESXi you’ll be presented with a chance to back out. Just install (Enter).
Accept the EULA, you know there’s nothing important contained in it right? (Press F11).
Now you have to start paying attention. Use the cursor keys to select the USB key from the list If it’s not shown check that you’ve connected the key to the host via the VM menu. Press Enter.
The installer will now scan the disk to see if it’s blank or already has something on it. Wait a few moments.
In My case I already had ESXi installed on this USB stick so I got the warning shown below (sorry about that). I chose Install as I wanted to show this as if it were a blank drive going forward.
You should now select a keyboard layout. Ensure you get this right as it’s a total pain if you set a password down the line and then change the keyboard layout. Press Enter.
Now enter a password for the root account. This should be secure as it give total access to ESXi. Press Enter.
ESXi will now do some checks to work out what it needs to configure during the install. Just wait a moment.
Now is your final chance to back out. Check it’s going to install to the correct device (you memorised the HBA number from earlier right?). Press F11 to begin the install.
The isntall will begin and progress will be shown. It only takes about 10 mins to a normal (slow) USB stick.
At the end of the process you’ll be greeted with a success screen as shown below. Remove your USB key and turn off the VM in workstation. You don’t need to press Enter to reboot as we’re done with the VM now. We just care about the contents of the USB stick.
Step 3: Booting ESXi and Initial Configuration
NOTE: Going forward I’m using a host with no monitor attached. Instead I have an Intel vPro CPU installed allowing me to use Intem AMT KVM to view the servers boot process. If you’re intalling to a regular computer ensure you can see the servers output and have a working keyboard to hand before continuing.
NOTE: Most systems are not set to boot from USB by default. You should chnage the boot priotory in your systems BIOS / UEFI at this point.
Insert the USB key in to your server / computer / host / PC and power it on. ESXi will load (take about 10 mins) and then will present you with a screen similar to that shown below.
The first thing you must do after installing ESXI is get the basic management network configured. This is the initial IP and NIC assignment that ESXi uses to send all traffic between hosts, VMs and your system. By default it’s set to DHCP and you dont want your IP address changing all the time! (screenshot above already shows a configured system).
Press F2 to bring up the logon prompt. Enter root as the username and the password you set in step 2. Press Enter. If your log on was ucessful nothing wil appear to happen (yes really). Press F2 again.
The system customisation screen will now be displayed. This is the area that, in the event of a massive SNAFU in configuration you will always come back to in order to fix things (generally networking).
At this stage we are interested in Configuring the Management Network. So, select this opeion and press Enter.
This shows the Configure Management Network screen. We’ll need to configure all of these options but, to start, select Network Adapters. Press Enter.
This is where you can select the NIC that you want to use for the basic management network. You can select more than one for failover if required but advanced configiuration is far easier from within Virtual Center (covered later).
In this example there are three NICs in my host (onboard lan and an intel Dual port PT adapter [the onces labelled “J6B2….”). Select the most appropriate one for your system. Press Enter to return to the Configure Management Network screen.
Now select IPv4 Configuration. Press Enter. This brings up the network settings screen for the NIC assigned to the management network (previous step). As noted when we booted the host this will be set to DHCP as default. It is recomended to change this to static and then configure the network settings based on your environment.
The example below shows my setup. Press Enter. You will rturn to the Configure Management Network screen.
Select IPv6 Configuration and disable IPv6 (restart required). I’m doing this to simplify things later on and remote and long format IPv6 addresses from troubleshooting steps. If you want to use IPv6 there is no reason why you can’t leave it on. Press Enter. You will return to the the Configure Management Network screen.
Select DNS Configuration and enter information relevent for your network. In the example below the primary and secondary DNS entries are my Acrive Directory servers. It’s crucial that the primary DNS server actually EXISTS at this point. So, in your environment this may be your internet router. You should also set the Hostname at this point. Press Enter. You will return to the Configure Management Network screen.
Select Custom DNS Suffixes and enter the suffix you are creating for your lab. This doesn’t have to exist at the moment but if you’re planning on building a domain on the lab enter here what you’re calling the domain. In my case lab.local. Press Enter. You will return to the Configure Management Network screen.
Now we have finished configuring the Management Network. Press Escape and the following confirmation should appear. Press Y to reboot the ESXi host.
NOTE: If you chose to leave IPv6 ENABLED you will simple be asked to Restart the Management Network. Again, press Y and wait a second.
The host will now restart (a process that takes about 10 mins
Once the host has rebooted you wil have to log in again to be presented witht he main options screen. We’re going to skip over some of the options here as they relate to tests or service restarts. Select Troubleshooting Options. Press Enter.
This display the Troubleshoting Mode Options screen. Select Enable SSH and Press Enter. this allows us to connect to the ESXi host using PuTTY or similar (iTerm on Mac). This is handy in a lab as it enables cut-paste of commands.
NOTE: This is only being enabled here as we’re building a lab and it’s useful. This should obviously not be enabled in a production environment unless there is actuall a problem.
Press Esc to return to the main menu and log out.
This is the basic configuration of ESXi done. It will now be reachable via:
You’ll want to log in at this point. Use the username root and the password you set up earlier. Click Login.
Welcome to ESXi!
Step 4: Configure Time Synchronisation
ESXi and the rest of the vSphere infrastructure relies heavily on time synchronisation for proper and reliable operation. Becasue of this it should be configured now before anything else is configured. This needs to done per installed host.
Click Manage in the left pane under the host and select the system tab and select Time & Date option. Select Edit Settings.
Select the Use Network Time Protocol option. Change the NTP service startup policy and NTP servers to as shown below and click Save.
Back in the main area select the Actions button and expand NTP service option. Select start.
NTP will now start and time will be configured on the ESXi server. Repeat for all installed ESXi servers you have.
Step 5: Configure Storage
Once we’re at this point we have a functioning ESXi system with networking but we are still missing one crucial piece of the puzzle. Storage!
Note: vSphere shines and is most useful with shared storage (it’s a requirement for anything vaguley real world) but there is nothing to stop you playing around with one host and local storage. You just wont be able to do much.
For the lab to be useful we’ll have to configure some shared storage. You can use a SAN, NFS shares or iSCSI without issue. For this lab I’m going to be demonstrating iSCSI running from a Synology NAS (DS1513+). However, if you dont have iSCSI capability use NFS from whatever share you feel like. We are going to start from within the ESXi Host UI and configure from there.
Example Setup Details
Going forward my example setup consists of 4 iSCSI targets each representing a datastore. These are called Datastore1, Datastore2, Datastore3 and ISO Store. These reside on A synology NAS presenting iSCSI over 192.168.2.200 (note the different subnet to the management network). This is to ensure segregation of storage traffic from data traffic. It also allows me to monitor my system more easily.
iSCSI Configuration Process
Log on to the ESXi UI via the URL https://<IP Address of ESXi>/ui/ log in as root user with the password you set earlier. On the left pane, select storage.
In the right hand pane select the Adapters tab and notice that there is only one adapter listed. This is the USB adapter (if you have a host with a physical HBA this will probably be listed here at this stage, I don’t). Click the Configure iSCSI item.
This brings up the screen to configure a new Adapter for iSCSI. For now Enable iSCSI and click the Save Configuration button.
Notice that this now adds another adapter in the list.
iSCSI requires a network connection over a vmkernel port to function correctly and, as mentioned at the start, I am running iSCSI on a seperate subnet. This requires a little network configuration before we start. Fronm the left pane, select Networking.
Select the Virtual Switches tab and then click the Add Virtual Standard Switch item.
Call it something relevent (such as Storage) and select an uplink (NIC). I’ve chosen the 2nd NIC in my system. leave everything else as standard. Click Add.
Switch to the Port Groups tab select the new vSwitch and click the Add Port Group item.
Call this Storage and assign it to the Storage virtual switch. Click Add. This essentially, binds the uplink to the portgroup to the switch to create a dedicated path way for storage traffic.
Finally, we need to create a VMkernel NIC. VMware uses these to pass certain types of traffic within the system. There is already one created for management by default (called vmk0) but we need to create one for storage traffic.Select the VMkernel NIC’s tab and select the Add VMkernel NIC item.
Select the Storage Port Group and change the IPv4 Settings to Static. You’ll need to click the little arrow to actually show the fields to enter the address. Now add in the networking information for the port. You will need an IP address on the same subnet as the iSCSI storage as well as the subnet information and gateway. You do not need to specify the type of traffic for the kernel port when configuring for storage. Click Create.
Now head back to the storage information by selecting Storage from the left pane. Select the Adapters tab and select the Configure iSCSI item to bring back up the configuration screen.
Select the Add Dynamic Targets from the Dynamic targets section. Add in the IP address of the iSCSI server.and click Save Configuration. In my case this is the IP address of the network port on my NAS which handels iSCSI traffic. The port is default at 3260 inless you’ve configured your iSCSI server with something different.
Click Save Configuration. VMware should rescan all your adapters and, if configured correctly. you should see your iSCSI LUNS listed in the Devices tab. NOTE: You may need to press ‘Rescan’ first.
Finally, select the datastores tab and click refresh. This should refresh the screen and show that there are now datastores available to the ESXi Host.
That’s it. You now have an ESXi host ready to be used for creating VMs and your lab. At this point I would recomend repeating the steps above for all the other physical hosts you have. Then you are in the position where you can install Virtual Center and really start to use the softwares power. I’ve got a sectionon how to install the VCSA in Part 2 of this beginners guide.