Equipment and Cost
My home server consits of a Haf Stacker 915F and two Haf Stacker 915R, on top of an empty Haf Stacker 925. For the purpose of this article, I am going to ignore all my extra storage for media and just concentrate on the home server itself, which is just the Haf 915F.
For the case, I have a Haf Stacker 915F, which cost £60.78 at the time of purchase.
For the power supply, I have a Seasonic SS-660XP2 which cost me £123.37. Although the biggest percentage of overall cost, I went through 4 different PSUs before settling on this one. One had a design fault, the replacement was not able to be picked up from the Collect+ shop due to a labelling issue, the third was not sufficient to power 20 HDDs because it had multiple 12v rails with some of the watts for PCI-express only, and the final one being more expensive but what I was after. The 20 HDD requirement was for future storage needs.
My motherboard is an Asus AM1i-a (mini-ITX), which cost me £29.64. My main reason for going with this board (and the chosen CPU) was because it was cheap, a good 10 times more powerful than my Raspberry Pi, and uses fairly low power (around 30 watts idle for motherboard, CPU, and RAM).
My CPU of choice was (is) the most powerful AMD AM1 slot CPU, the Athlon 5350. One of the problems with AM1 is that it is at the budget end of the market and only supports PCI-e 2.0 4×. This item cost me £39.99.
For RAM, I went with a stick of Corsair 8GB DDR3, costing £50.99 at the time of purchase. The motherboard only works in single channel mode, and I went with a single stick of 8 GB to leave me maximum upgrade potential (ignoring 16 GB sticks) if I need more RAM, whilst not committing myself to using the server for years (a new mobo/CPU/DDR4 might at some point be cheaper than another stick of DDR3).
For hard disks, I went with a Samsung 840 EVO 250GB (£98.90) and a 3TB WD Red (£89.99). The SSD is for the OS stuff that rarely changes (/, /usr), and the HDD for the other stuff that is expected to have more regular changes (/var, /home).
As the motherboard only has two SATA ports, and the HDDs, BDRW, and backplane makes four ports needed, I bought a Lindy 51158 multiplier card (£99.98) providing 5 SATA ports, and a StarTech PCI-e 2-port eSATA controller card with port multiplier support (£18.68). I later added another 51158 when I ran out of SATA ports.
I have recently switched to a PCIe mini-SAS card combined with a mini-SAS to 4 eSATA breakout cable. As a recent addition I haven't yet decided whether to recommend them or not. Besides, I'm not focussing on storage in this article.
The only other parts I haven't covered are a USB3 Gigabit ethernet adapter (£15.50) so my server has two ethernet ports, allowing it to act as router and firewall for my broadband connection (previously using PPPoE with a Vigor 120, now using DHCP with my Virgin Super Hub).
Overall, my home server costs add up to a large (for me) amount of money, especially once all the storage drives (and backup drives) are taken into account.
We are talking about a Web, mail, DHCP, DNS, SIP, and file storage server, however, as well as Internet gateway and firewall. If it weren't for the file server functionality, and my desire to support 20 hard disks and 100 TB storage (currently 20 TB) I wouldn't have spent as much on hardware.
In fact, the motherboard, CPU, and RAM came to just £120.62. With the SSD and WD RED, that upped the price to £309.51. I have been running the server since last May, and after 18 months the motherboard and CPU are still sufficient (although the PCIe 2.0 4× was a bit of a hindrance when looking at SAS HBAs).
As far as software goes, it started life running Debian Stable, which was changed to Debian Wheezy when Jessie got close to the freeze date. At some point I upgraded from Wheezy to Jessie. All other software is free (as in beer).
Stability and Reliability
Since upgrading to Jessie my home server has locked up a couple of times and needed to be forcefully reset. I am not sure of the cause.
Asterisk sometimes becomes sluggish and/or non-responsive and the service needs restarting. I am unsure why, but it does appear to be around the times the server is flooded with SIP username/password guessing attempts. I might have to have another go at trying to get Kamailio to work, since fail2ban fails at staying on top of such floods.
As for everything else, there are issues on reboots with some services failing to start (usually due to an IP address not being available or services starting in the wrong order) but due to how infrequent reboots are I haven't spent that much time on it.
Because the whole reboot issue is usually because of a race condition I typically just reboot it again and hope things start up the second time. Since the OS drives are encrypted I need to be present to unlock them, so a reboot is never performed remotely.
The CPU is not powerful enough for encrypted disks—reading/writing to such disks (especially if NTFS-formatted) is really slow (although not as slow as on my previous Pentium 4 based home server).
I do have some issues with the software.
- Every 10 minutes udisks2 causes audible HDD noise. Something to do with SMART not being accessible on the WD REDs and the port multiplier being reset. Happens with both an eSATA HBA and a mini-SAS HBA.
- All HDDs being spun up whenever I login to Gnome.
- Samba not accepting a password on the first attempt.
- Fail2ban being useless at times when it becomes a resource hog.
- The CJDNS connection between my VPS and home server not being reliable.