Home Lab Server Build Using an Intel NUC and Free VMware ESXi 7
If you're like me, despite having cheap or even free access to cloud compute, you still want to have a bit of compute in a home lab. I can create and destroy to my hearts content. Things can get weird and messy - and it's nobodys problem but my own.
For the past 10 years, my home lab has consisted of a couple 2U Dell R710 servers. They are were beefy in specs but they are very loud and consume a relatively large amount of power and space. They have served me really well over the years but it is finally time to upgrade.
I ordered an Intel NUC last year. It should be able to handle the workload I'm running on my Dell servers with room to spare. Due to supply chain issues, it took a few months but it finally arrived. I was extremely surprised at how small these are. I knew they were small but I did not expect it to fit in the palm of my hand!
I threw on VMware ESXi 7 for the hypervisor but I wanted to document the build for anyone who is building up a similar setup as I encountered a couple issues during my installation.
Here is my complete parts list:
- Intel NUC11TNKV7
- 2x Kingston 32GB DDR4 3200MHz SODIMM
- 1TB Samsung 970 EVO NVMe
I did document this in a video but this article also serves as a companion to that since there is a lot of commands involved.
I immediately found out that because the network card on the NUC does not have a compatible driver included on the ESXi 7 image, I had to create an ISO with the Community Network Driver (Fling).
The steps are documented here: https://www.virten.net/2021/11/vmware-esxi-7-0-update-3-on-intel-nuc/ however I also came across my own nuances which I'm noting below.
First, download the ESXi Offline Bundle and Fling Community Network Driver and place them in a temporary folder.
- You need to install the vmware.powercli and vmware.imagebuilder modules from the Powershell command line
install-module -name vmware.powercli install-module -name vmware.imagebuilder
- HOWEVER vmware.powercli and vmware.imagebuilder modules for Powershell is not supported on Powershell v6 and above which meant I could not run these commands on my Mac. Luckily, I had a Windows box kicking around with Powershell v5.
- I was also getting an error in trying to download the VMware.imagebuilder plugin. As it turns out, my version of PowerShell must have been using TLS 1.0/1.1. These intructions configured TLS1.2: https://docs.microsoft.com/en-us/powershell/scripting/gallery/installing-psget?view=powershell-7.2
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
After all that, I was able to proceed with building the image. The steps were pretty close to what is in the Virten article however the version of ESXi they used was pulled and replaced. I ended up with a different build which is reflected with the file names I used.
Add-EsxSoftwareDepot .\VMware-ESXi-7.0U3c-19193900-depot.zip
Add-EsxSoftwareDepot .\Net-Community-Driver_1.2.2.0-1vmw.700.1.0.15843807_18835109.zip
New-EsxImageProfile -CloneProfile "ESXi-7.0U3c-19193900-standard" -name "ESXi-7.0U3c-19193900-NUC" -Vendor "buulam"
Add-EsxSoftwarePackage -ImageProfile "ESXi-7.0U3c-19193900-NUC" -SoftwarePackage "net-community"
Export-ESXImageProfile -ImageProfile "ESXi-7.0U3c-19193900-NUC" -ExportToISO -filepath ESXi-7.0U3c-19193900-NUC.iso
Note: If you encounter the following error: "windowspowershell\modules\vmware.vimautomation.sdk\12.5.0.19093564\vmware.vimautomation.sdk.psm1 cannot be loaded because running scripts is disabled on this system" you may need to enter the following command:
Set-ExecutionPolicy -ExecutionPolicy AllSigned
Credit to Pawan Jheeta for this find!
Now that I have an ISO image with the Fling Community Network Driver, it was time to create the bootable USB installer. I have a Mac and here are the steps I used to create the USB flash drive: https://virtuallywired.io/2020/08/01/create-a-bootable-esxi-7-usb-installer-on-macos/. I did not encounter any issues with these steps so please refer to the linked article to follow them.
In case you are running Windows, this appears to be a good guide for creating the USB flash drive: https://www.virten.net/2014/12/howto-create-a-bootable-esxi-installer-usb-flash-drive/
Once you have the bootable USB flash drive created, you can insert that into the Intel NUC and begin your ESXi installation.
The remaining steps I will leave to be explained in my video. I accepted all the defaults except for configuring a static IP address for the management address.
I hope this helps some of you out and if there are any questions, please reply to this thread. I'd also love to hear about your home labs!
- AlexBCTCumulonimbus
Nice setup! They look like small boxes with loads of power!
If you're interested in using another hypervisor without too much hassle, have you tried Proxmox? https://www.proxmox.com/en/ Bucketloads of features but easy to install and manage.
- AlexBCTCumulonimbus
It doesn't handle OVA's directly, but can handle the VMDK's in it. I normally then use the OVA config file to build the rest of the VM. (yeah, they could have made that easier - fair enough 😉
Happy to show you around some time if you're interested!
Hi buulam, thanks for the summary.
Regarding the availability of .ova files, it is not really necessary to install from an .ova.
Installing a BIG-IP VE from an .iso worked since it was made available. But it was broken for a while.
It seems to be working again, at least I just gave it a try based on the TMOS v15.1.6 ISO image as available from the F5 support server.
Install as a CentOS 8 64bit system, provide 2 cores, 6 Gbyte of RAM, a SCSI emulating harddisk and up to 10 network interfaces (vmxnet3). Remove the printer, USB and sound card from the list of default devices and start the virtual machine. From the prompt now type "start" and watch it installing, use "config" to assign the management IP. Done.
AlexBCT I heard about PROXMOX a couple of times, but never used it. It looks like I should give it a try now. 😊
- buulamAdmin
Good tip StephanManthey !