VMware for Homelab

I am currently comparing different virtualization solutions for my home. This is because I want to do all kinds of things like openhab, cronjobs, DNS-based adblocking, and gateways both in via SSH and out via different VPNs/Tor, and splitting those into different machines sounds not only reasonable but is also necessary in some cases when there are different operating systems involved. This blag post will document a few nuggets of knowledge I collected while trying out VMware as hypervisor.

First a few names that really confused me in the beginning and their explanations:

  • “ESXi” is the hypervisor
  • “vCenter” is a virtual machine (VM) image that helps manage your VMs
  • “vSphere” is the web application running on vCenter

So the plan is as bold as it is simple: slap together old consumer hardware, install ESXi, deploy vCenter on it, use vSphere to create other VMs. Especially the “consumer hardware” part of the plan posed a few challenges. As a dear college mentioned to me: VMware is not great with consumer hardware. But the internet1 came to the rescue in my case.

The mainboard I’m using is H81M-G and according to the manufacturer homepage, the network interface card (NIC) on it is “Realtek RTL8111GR”. To make it work on ESXi you can use a Windows box: download the correct driver2 and install a PowerShell module called PowerCLI, which is a set of VMware tools able to create new installers.

Import-Module PowerShellGet
Install-Module -Name VMware.PowerCLI -AllowClobber

Then download the "offline package"3 and

# add software depots
Add-EsxSoftwareDepot .\net55-r8168-8.045a-napi-offline_bundle.zip, .\VMware-ESXi-6.7.0-8169922-depot.zip

# get the name of the imported profiles
Get-EsxImageProfile

# use the names from above to create a new profile that will contain the driver
New-EsxImageProfile -CloneProfile ESXi-6.7.0-8169922-standard -name YourProfile -Vendor YourACME
# except if you are a VMware partner I guess ... but why would you even read this blag post then
Set-EsxImageProfile -ImageProfile YourProfile -AcceptanceLevel CommunitySupported 
# check if it worked
Get-EsxImageProfile

# get the name of the driver package and add it to your profile
Get-EsxSoftwarePackage | Where {$_.Vendor -eq "Realtek"}
Add-EsxSoftwarePackage -ImageProfile YourProfile -SoftwarePackage net55-r8168

# export ISO file
Export-EsxImageProfile -ImageProfile YourProfile -ExportToIso -filepath .\output.iso

Then use rufus4 for example to copy the ISO to an USB drive.

The rest was really just clicking through installers and waiting. At some point I couldn’t log into a web interface as root, but changing the password and rebooting the hypervisor fixed the issue.

  1. integrate driver into vsphere
  2. list of drivers
  3. VMware website with 6.7.0 tools
  4. rufus on chocolatey

Article Link: https://blag.nullteilerfrei.de/2020/09/19/vmware-for-homelab/