VCF Home Lab Guide

After being asked about my home lab a few times I thought I would document the configuration and the deployment method.  This is not a “must” guide and many of the steps and the Lab build can be improved or changed to better fit your situation, budget and lab requirements. 

I do a large amount of system building as a hobby, so I was confident in taking on the build of a home server myself. 

Home Server Spec

ItemSpec and Detail
CaseDEEPCOOL MACUBE 310 Black Mid Tower Tempered Glass PC Gaming Case
MotherBoardAsus Z1 OPA-D8
CPU2x Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz (14 Cores Each)Ebay
Memory128GB (4 x 32GB) DDR4 2400MHz PC4-19200 288-PIN ECC REGISTERED DIMM (RDIMM)
Boot DiskTCSUNBOW M.2 SATAIII NGFF 120GB Solid State Drive Disk for Ultrabook Desktop PCs and Mac Pro (22 * 42mm)
Datastore M.2 PCIe SSD Adapter – x4 PCIe 3.0 NVMe – M.2 Adapter +WD Blue SN550 2TB M.2 PCIe NVMe SSD/Solid State Drive 
Power SupplyEVGA 650W SuperNOVA G3 Gold Power Supply/PSU
Case Cooling Corsair ML120 RGB ELITE 120mm RGB Fan 3 Pack + Lighting Node Core Black (X7 Fans in total)

The specification above is a guide, components are not always available or the price of the component changes based on demand.  So this may be changed to what you need.  This worked for me but may not work for your use case.   This will generate heat as well. I found in my home office I had to turn the heating off as the server was more than enough to heat the room for me. 

VCF Deployment

I use a tool called VLC.  This is a tool created by some of the tech marketing team.  They use this to deploy VCF in two ways. 

  • Fully automated way with DNS and other components deployed by repurposing the cloud builder appliance to run these components.  
  • Partly automated way with DNS and external components being part of the environment already. 

Option 1 is what I use all the time.  Option 2 works well if the environment is an existing fully deployed environment.  As an example, I have seen some home labs that are integrated into a home system running many smart home components.  This already has DHCP, DNS, NTP and AD so these can be used if needed.   For me this option was not possible as I segregate everything in the home away from my plan.  

You can download VLC here 

Deployment guide based on VLC_4.4-021022

Make sure all pre-reqs are configured.  These are documented in the VLC Guide as well. ESXi host with vCenter – Using VSSSet the vSwitch to MTU = 9000On the vSwitch, create a portgroup for VCF. On the port group (not the switch) set the following
VLAN ID and security settings:
• VLAN ID = 4095
• Promiscuous Mode = Accept
• Allow Forged Transmits = Accept
• Allow MAC Address Changes = Accept
Build a Jump server as a VM on the host to be running VLC.  The VM must have the following installed. Windows 10/2016/2019 (Older versions are not supported)
• Powershell 5.1+
• PowerCLI 12.1+
• OVFTool 4.4+
• .Net Framework
o MTU 1500
The Jump host must have two NICs.  Attached one NIC to your local LAN Network so you can RDP to it.- Attach the second NIC to the VCF port group created in Step 1 and configure it with the IP Set the DNS on the second NIC to The address will be the
address assigned to the Cloud Builder appliance, by default. VLC will modify the Cloud
Builder appliance so that it provides specific services, like DNS, for the nested environment.
Thus, using this IP for DNS will allow you to access the nested VCF environment when using
the default configuration file in Automated mode
Add the VLAN to the second NICThis second NIC will also need to be configured to use the VLAN of your management
network, in the default Automated VLC configuration this is VLAN 10
Disable Windows Firewall and Windows Defender Disable Windows Firewall.
Turn off Windows Defender Real-time Scanning. Note: this has a habit of resetting after reboots
of the Windows VM.
The software needed for the deployment is as follows.  This should be deployed onto the Jump VM. Download the VCF Software (Cloud Builder OVA) into this folder. (C: VLC)• Putty – or your favorite SSH tool
• Notepad++ – or your favorite text editor
• WinSCP – for easy file transfers
Deployment JSON configAdd the licence keys to the JSON file that you want to use during deployment. Insert your license keys into the NOLIC-44-TMM-vcf-ems-public.json file.
o Look for all of the lines in the JSON file containing:
▪ “licenseFile”: “<INSERT LIC>”
o Replace the quoted text with a valid license key
o Do not edit anything else in the JSON
Run the PowerShell GUILocate the VLCGUI PowerShell file and right-click to run as administrator.  Or to run with PowerShell.  
Select the Automated option in the GUI that opensSelect the Automated Option and then populate the fields with the info needed and then click “Connect” to validate the connection to the host and pull back the PG’s and the DS’s so you can select one to use. 
Validate and deployOnce the connection has pulled back the options for PG and DS.  Select the ones to use and then click validate. The PG must be the PG created earlier and the one that the second NIC on the jump host is connected to. Once it has been validated click the “Construct button”
Wait for deployment to completeDuring the deployment, you will see two Powershell windows.  One is the detail of what is happening and one is the main task that is the main action that happening at that time.  Both are helpful in fixing problems with deployment if you have any. 

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: