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.