In this part, we are going to overview the ESXi installation and, draft and design the ESXi network for a VDI deployment. We will add and configure vSwitches, VMkernel adapters, and port groups, for the VM network and Storage network.
This is part 1 out of 12 of the VDI LAB series. Check out the introduction first.
The ultimate VDI deployment guide (from scratch) with VMware vSphere 6.5 and Horizon View 7.3 - 2018. 😉
1. ESXi installation
First things first, Installing ESXi is the essential thing to do but is really easy and there is a lot of good of information on the web. Anyone looking at this guide probably has done this already.
For downloading and booting ESXi installer from USB, you can visit this post.
For the installation and initial configuration, follow this great reference here (from CBT Nuggets). This is for a home-lab, but for any physicals server, will also do.
2. Network Design
Before starting any IT solution, even for home-lab, draft your network design first! Knowing the elements to be used is the best start. Elements such as physical and virtual; storage, server, and VM network. Also, visualize the desktop density and configure an IP range capable to cover them all, and leave for extra growth.
As an example, I separate:
- Storage Network
- Management and vMotion
- Server and VM network
- WAN and LAN.
- Management and VM network (with vMotion)
For this lab, I am using vMotion Network over the same VM network, keep in mind that for a production site this should be separated, otherwise will impact VM performance.
I am sizing a DHCP network for over 1,000 hosts, and I exclude the first 100 IP address and reserve them for ESXi servers, Infrastructure, Login VSI launchers and another network elements. The rest of the IP address range will be used for the virtual desktops.
For the lab:
- IP range: 10.0.0.1 - 10.0.15.254
- Mask: 255.255.240.0
- Gateway: 10.0.0.1
The desktops IP range will start at 10.0.0.101.
Also, I’ll be using a virtual router (Pfsense) to provide IP addresses and VPN for remote access to the environments, but the domain controller will be the one providing DHCP and DNS services for all the other network elements and for the provisioning of desktops pools. The router, of course, could be physical, but the idea is to take advantage of virtualization.
For the storage network, use any IP with direct access to the storage to be used. Use two different ranges for each physical adapter.
So, this is MY network design, use it as an example but you should create yours based on your needs and resources. Several things will change for any other solution and not everything here is a must.
Basic network diagram:
Full network diagram. If you ever get confused with the VMware network terminology such as physical adapters, VMkernel adapters, and virtual switch… here you have, (you are welcome ), just follow the paths.
3. ESXi network configuration
From the Network diagram above, I will be using ESXi-A to start my initial configuration of the whole virtual environment, after a vanilla installation. This is the most important server of my whole environment, this is the one hosting the infrastructures for the LAB, vSphere, Horizon View and Login VSI.
First, access to your ESXi server via the IP address you have previously configure during the installation. By default, ESXi has configured a vSwitch after the installation, with two port groups, Management Network and VM Network. Let’s configure two vSwitch more, one for Internet Network and another for the Storage Network, with two port groups each.
3.1 Add a new vSwitch:
- Go to Networking / Virtual switches / Add standard virtual switch
- Name the new vSwitch, select an available Uplink and click add.
- The new vSwitch will be added.
3.2 Add a Port Group to the vSwitch1
- Go to Port Groups / Add port group
- Name the new port group and associated with the vSwitch1. This will the WAN providing internet to all VMs
3.3 Add a VMkernel NIC and a new Port Group for Internet access.
- Go to VMkernel NICs / Add VMkernel NICs
- Name a new port group and associated with a vSwitch. Also, configure the IP address that will offer internet to vSwitch1, click Create.
3.4 Add vSwitch, VMkernel NICs and Port Groups for Storage
- Following previous steps, create a new vSwitch, vSwitch2. Link it with a free physical adapter and select Add uplink for one more.
- Add a second physical adapter (vmnic) to the vSwitch2, and click save.
- Add a VMkernel NIC and new port group to the vSwitch2. Configure the desired IP address.
- Add a second VMkernel NIC and a new port group to the vSwitch2. Configure the desired IP address.
- Finally, from the virtual switches tab, we’ll have our 3 vSwitches created, and for our configuration, if you click on each of them, we should see:
3.5 Storage NIC teaming
In order to add the storage to iSCSI software adapter (next section), first we need to team storage ports/vmnic.
NOTE: If this step is not properly done, port bindings from iSCSI software adapter will fail to be configured.
NOTE: This section has been updated for ESXi 6.7
- From Networking go to Port groups / Edit setting / "Storage1"
- Select NIC teaming. from Override failover order, click Yes. Select vmnic3 (the port group which is not being edited), click Mark unused and click Save.
- Do the same for the second storage port group. Mark as unused vmnic2 (for my case).
3.6 iSCSI Software Adapter configuration
- From Storage, go to Adapters / Configure iSCSI
- Enable iSCSI, from Advance settings and click Add port binding.
- Select vmk2/Storage1 and click Select.
- Select and add vmk3 (Storage2)
- The two storage groups will be added. Now, Go to Dynamics target and click Add dynamic target, then add IP target from storage.
- Add a second target (if you have it) and click Save configuration.
- The new iSCSI storage adapter is shown now from Adapters, which has been already configured with iSCSI targets.
Hi Juan Mulford
Nice series what i've looking for building my homelabs.
Could you please let me know what is your hardware specs using in this lab ? And do you have any advice about the hardware specs need for VDI (small) and for NSX ? For examle: Number of hosts;RAM, NIC per host.
Thank you in advance.
Hi Joe, glad you liked this blog post series.
I wrote this guide out of a pre-test lab environment for a real project. But for sure, you can use it as a reference for a home lab. Most of the hardware used here was part of a reference architecture (wrote by me) of a small-medium VDI environment, and you can find all the components on it.
I haven't work with NSX.
Btw, I am planning a new blog post series about a home lab, but a real and basic home lab, not those mini datacenters found on Reddit. Stay tuned. 😉
Hi Juan Mulford
Plz check file "https://www.accelstor.com/wp-content/uploads/2018/08/AccelStor_WP18001_P710_VDI-horizon-500_v2.pdf"
I click your link, but File not found.
The link has changed, use this one: