Sometime ago I decided it would be better to build a moderately powerful VM server instead of having many cheap PCs. This way it would take up a lot less space and consume less power. I build mine using second hand hardware, and named it Tesla.
- Intel i5-2400S processor (4 x 2.50 GHz); I chose this because it uses less power than a normal processor (this has a TDP of 65W compared to 95W of an i5-2400)
- Intel DQ77MK motherboard
- 8 GB DDR3 non-ECC RAM (2 x KVR1333D3N9/4G)
- Deepcool GAMMAXX 200T cooler
- 2 x 1 TB 2.5” HDD
- 1 x 600 GB HDD (WD Black)
- Old PSU and case I had lying around
Let’s start by defining our objective. We want to build a server capable of running a couple of Virtual Machines at the same time. The server should be up 24/7. It should have redundant storage, as I plan to create a samba share that I want to use as a backup location. I also wanted to use this server as a VPN (the one running on the Raspberry PI still runs, but only as a backup as this has more throughput).
The server should be cheap. For everything I bought I paid 178 € (I already had the PSU, case and 1 x 1 TB HDD + 1 x 600 GB HDD). Proxmox is open source.
I ordered everything during the week and it arrived, one package at a time during the next couple of days.
2. Putting it all together
After everything was running nicely, I flashed Proxmox onto an USB drive, connected the server (Tesla) to my LAN and installed Proxmox. I had a small hitch with the networking but after I solved that I was greeted by the web interface.
2. ZFS Raid
ZFS is a software RAID utility. To set it up with Proxmox I followed this tutorial.
3. Samba share
After setting up ZFS I created a directory which I then shared using a Samba server.
I followed this tutorial to install Docker and Portainer.
Then I used the OpenVPN docker container here.
I have a server which idles at around 50W (my UPS can keep this and my networking equipment running for about 45 min), and packs a bit of a punch. Right now I’m also running an Ubuntu VM and a VPN docker container.