Lot's of us running a vSphere Lab at home have to be mindful of the electrical costs associated with using physical servers. In my case, I have three (3) Dell R620's, one FreeNAS server, and two Cisco switches. Electrical costs are always on my mind, especially now that I work from home and use more electricity.
With this in mind, I was looking for a way to run core services 24/7 (vCenter Server, AD & DNS, SMTP, etc.) without running my three physical ESXi hosts when I'm not studying or need to run all 3 Dell hosts. I looked on Amazon, eBay, and Craigslist for Intel NUCs but, while there were some low-end options, I didn't want to spend anything or spend as little as possible.
During my search, a family member gave me a VivoPC VM42 using an Intel(R) Celeron(R) 2957U @ 1.40GHz with 4 GB of RAM and a 500 GB HDD. Although it's old and running a Celeron, I thought I'd give it a try.
I'd like to point out that while researching this small project, I found that the built-in Realtek
network adapter on the computer is not supported by ESXi 7.x
, but you can inject drivers for ESXi 6.7
into the installation ISO file. Also, it's not a matter of finding the correct drivers for it to work on ESXi 7.x because the driver architecture changed, thus making all existing drivers unusable. Since my other three physical hosts support ESXi 7.x, this was not an issue. If this will be your only ESXi host, you'll need to look at other machine models or use an external USB network adapter, but you'll need to research if there are native drivers or if you need to inject custom drivers into your ISO file.
While the machine is underpowered CPU-wise, I upgraded it by increasing the memory to 16 GB and swapping the HDD to a 1 TB SSD. My intent was not to have a beefy ESXi host, but something with a small physical footprint and low-powered that I could access anytime without worrying how much I'd have to pay in electrical costs. Also, running the three other hosts during summer generates a lot of heat.
Some of us are fortunate to get free hardware from work, have connections to vendors that can get us cheap stuff, or friends that give us free hardware when they no longer have use for the older equipment. Don't rule out the old equipment, especially if you're starting and trying to keep costs down.
Here's what the machine looked like before and after the upgrades:
|Hardware ||Before upgrade ||After Upgrade |
|CPU ||Intel(R) Celeron(R) 2957U @ 1.40GHz ||No Change |
|Memory ||4 GB ||16 GB |
|Storage ||500 GB Western Digital HDD 3.5 Inch ||1 TB Crucial BX500 2.5 Inch SSD |
|Network ||1 Gigabit Ethernet port || |
1 Gigabit Ethernet
*** Adding another USB Network Adapter later
Upgrading the hardware was the easy part. I usually have no issue installing ESXi onto machines. Still, this one gave me a few problems of not recognizing the USB thumb drives or the external USB CD-ROM, even after changing a few BIOS settings. I also upgraded the BIOS one version at a time to reach the most current release since it was running an outdated version. Finally, I had to boot into the BIOS and change the following:
- [Other OS] Get the optimized function when booting on
Windows® non-UEFI mode. Microsoft® Secure Boot
only supports Windows® UEFI mode.
- CSM (Compatibility Support Module)
- Launch CSM - [Enabled] - For better compatibility, enable the CSM to fully
support the non-UEFI driver add-on devices or the
Windows® UEFI mode.
- Boot Devie Control - Legacy OPROM only - Not sure why the UEFI option did not work with any of my USB thumb drives no matter how many times I tried, so I left it at Legacy. I did try using UEFI with an external USB CD-ROM drive, which seemed to work. Change the setting based on what media you'll use to install ESXi.
- Boot Order
- Finally, when the USB devices finally got recognized, I changed the order to boot from my USB devices.
After much troubleshooting, I did get both one of my USB thumb drives and external CD-ROM working by using the above options.
At this time, I realized that ESXi 7 did not have the proper drivers for my network adapter since nothing was visible within the DCUI. I searched and found the specific network drivers for my network adapter model but quickly saw that it would not work with ESXi 7 but only with ESXi 6.7 or below. The blog posting I found uses a script named ESXi-Customizer-PS, which allowed me to build the custom ISO with the proper drivers.
Having built my custom ISO with the Realtek drivers, I could deploy ESXi 6.7 without further issues.
Before upgrading the machine's hardware, you can see that it's running ESXi, and I could deploy a VM to it. The performance was adequate for what I wanted to do, and I started upgrading the hardware.
I would recommend that you get ESXi installed to make sure you can even run it, then go out and buy the upgraded hardware. With some CPU support being dropped, drivers being removed, and architecture changes, this could make your deployment harder to get running or make it impossible without looking at other existing gear. At the very least, it will spare you a trip to the computer store if you can't make it work.
My next step was to do the actual upgrades and test performance running the following:
- Windows Domain Controller
- VMware vCenter Server
- SMTP server
One of the reasons I tried hard to get this working was the stainless steel look which made it a very unique-looking desktop. This setup did end up serving my needs, although I still need to add another NIC for network redundancy. Overall, I was happy with the outcome.