So, I wanted a home server to run multiple virtual machines by using VMware ESXi. I have no real experience in this area, so I learnt as I went along.
Specifications needed to be that it was reasonably fast (doesn’t have to run game servers or owt… and not media really either… although it may be capable)
Main thing was size, efficiency and noise.
So I attempted to do this on an ITX case (poses many issues) with as lower Wattage CPU as I could find, that was still powerful.
I selected the following components:
Case: Thermaltake Core V1 Mini ITX Cube Case with Fan (I paid £29)
Motherboard: MSI AM1I AMD Mini ITX Motherboard (was also £29)
CPU: AMD APU Athlon 5350 Quad Core Processor (£44)
RAM: 16GB DDR3 - ValueRAM
Network Card: HP NC364T PCI EXPRESS QUAD PORT GIGABIT HP NIC (£18 - bargain!)
HDD: 2x Toshiba P300 2TB 7200RPM 3.5" SATA (£55 each - ok, they are not NAS or Network drives… but high quality with good reviews.
SSD: 1x 500GB Sandisk SSD - This was spare, but I think I got cheap on an Amazon Black Friday deal.
So, 2 things to understand. First - ESXi version 6.5 is a bitch. Where as older version of ESXi recognise most hardware vendors and parts, 6.5 does not. It’s not just a case of not recognising them, it’s a case that drivers for certain devices are effectively banned.
So your first problem in building a home server. Your Realtek Network drivers are not recognised - so you can’t control your server (doh!). There is a way around this by using some clever software to make your own “build” of the ESXi ISO. I did this, and it recognised my network adapter. However, I wanted to play around with virtual NICs and Switches - so I purchased the HP 4 port network NIC which is based on an Intel chipset and loved by VmWare.
The next problem was drives. ITX cases, and indeed motherboards, expect you to have… well 2 drives. maximum. There are only 2 SATA sockets and 1 PCI slot that I used for the NIC. That’s not good for me - I wanted a bootable drive plus 2 datastore drives that I could RAID 1. ( Although I decided not to RAID 1 in the end…)
So, luckily my motherboard had a mini PCI-e socket on it, which was kinda handy. It look like the M2 socket on modern mobos… except it isn’t, it’s mini-PCI.e - Really it is there to add a wifi chip to the motherboard. However, I saw on ebay/amazon that there are companies making mini-PCIe to SATA x2 board.
The first I ordered was too big and covered my existing SATA ports (lol) - so I gained 2, lost 2.
The second one I ordered wasn’t recognised by ESXi - no surprised there. This was the more expensive one.
I ordered another that had a built in RAID controller - same problem.
So then I tried a cheap ass one as a last attempt: Low and behold, it worked!
XCSOURCE Mini PCI-E PCI Express to 2-Port SATA 3.0 III 6Gb/s Expansion Card - Only £9. Bargain!
So… that got me 4 drives available.
I then changed my PSU to a modular one - because spare was tight, and then mounted (bodged) my SSD to the wall of the chassis case (as the case is only designed for 2 drives) - check the photos below lol.
The CPU I choose is an AMD APU. It runs on 25 Watts of power (ie. fuck all) - I installed a couple of fans and the whole thing is silent. An idle temp check came in a 21 degrees… so it is running at room temp really. Fans kick in if it hits 50 degrees.
From this little setup - I can now boot up any version of any operating system I want. I knock up webservers on demand to test them ( and using NO IP I can make them visible on the actual web - I write about that another day ).
I’ve used it with Docker, unRAID, various forms of Linux and Windows. I’m going to knock a Plex server on there soon too.
The only real downside is the motherboard isn’t truely supported by ESXi, so you do have a lot of advanced passthough features missing. But - I can live with that until my next build.
So all in all - I built a silent, tiny, efficient server on a shoestring budget…