Jump to content
RESET Forums (homeservershow.com)

Homespun Ubuntu Server/ZFS Build


Recommended Posts


I'd head a bit about this forum elsewhere and I thought I'd introduce myself... well, at least my homespun server.

I had some prior experience of NAS boxes and I reached a point where I wanted some more flexibility.


1) A file system that support snapshots

2) Enough power for transcoding

3) Quiet

4) Minimal power consumption

5) Ability to add a SATA controller and more disks in the future


With apologies for the poor pictures, this is the end result*:





*I have since tidied up the cabling!


The highlights are an Asus P8B-M mobo, Xeon E3-1220L v2 processor. 16 GB DDR3-L ECC RAM. BeQuiet PSU. SSD boot drive. 5.5 TB usable storage, 4 TB in ZFS RAIDZ mirrors. Noctua cooling. And a UPS.


In term's of cost, I think the total was around £600. The SSD boot drive, 2x 1 TB disks and 1 x 1.5 TB disk were recycled. The Mobo was second hand. The CPU was new-old-stock. The memory, case, PSU, 2x 3 TB HDD, fans and CPU cooler were all brand new.


This server is obviously used for storage but additionally daily backups from my VPS, storing my private GIT repository, DNS, DHCP and of course, media transcoding/streaming. It's whisper quiet and draws 15 watts at the plug when the mechanical disks are all in stand-by.


I've set it up with Ubuntu Server 14.04 with ZFS on Linux . It's running kerberised NFS, Samba, Bind9, isc-dhcp-server and a KVM/QEMU virtualized media server.


Getting it properly configured has at times, been eye-watering, although I've learned a lot. If I wanted an easier ride, I'd have probably just used FreeNAS.


I've been running this set-up for nearly a year and it's been as fast as gigabit can be and incredibly stable. Every time there's been a network issue, it's been down to the ISP, as oppose to no DNS/DHCP etc. I'm planning to increase the storage capacity soon by replacing two of the smaller disks. That will take me to 7.5 TB (6 TB RAIDZ mirrored).


I've also procured all the parts for a second server, which I'll now use for backups instead of the Synology NAS. The second box will use the same OS and file system. So far it's set me back £50 - I've used salvaged parts where possible. Initially I acquired a Q6600 CPU and an Asus P5K mobo for free, but this proved to be very unstable with all manner of boot problems. I'm now awaiting delivery of a XFX MI-A78U-8309 AM2 mobo and AMD Athlon 64 X2 5000+ 2.6Ghz, which whilst not my first choice, set me back £17 posted. (I know, AMD, *shudder*)


This second server will only be switched on during my daily backup window, so power usage isn't such a concern. I'm thinking about setting it up to run DNS and DHCP services if, when it's booted, those services aren't available on my main server. I can script that up using dig and dhcping. That way, during the times I want to fettle the main server, my home network continues working in some fashion.


In the long run, I'd like to get the backup server running on the same hardware as the main server, at least the same mobo (P8B-M), but perhaps with an Intel G1610T CPU and of course ECC ram. I'm just waiting for a P8B-M to sell on eBay for reasonable ££.


I'm possibly in the market for an N54L too. I run a pfSense firewall, and I have a second one ready to install with relatives. With the N54L and more disks procured, I'll set-up a site-to-site VPN via pfSense and then start shipping ZFS snapshots in either direction for off-site backups. These are currently implemented using external HDDs and sneakernet.


Otherwise, the only thing that's missing from the set-up is some monitoring. I'd like alerts any of the backups fail for any reason fail, as well as graphs showing CPU/Disk/Memory utilisation and temperatures. I could use Nagios for this, but it seems a bit heavy weight for monitoring a handful of hosts. I'm looking forward to spinning my own light weight solution and using it as an opportunity to learn Ruby.


Happy to answer any questions and/or take any feedback.

Link to comment
Share on other sites

Excellent Build  !!!


Lots of good ideas fleshed out into reality


A couple of questions come to mind


1)   does your Network consist of Windows Clients and if so , what do you use for backup

2)  I get your point about setting up a Linux server to be "eye watering" -   what resources did you find most helpful in setting this up ?

Link to comment
Share on other sites

Thanks for the compliments and thanks for the questions.



I used a wide range of resources. Late on during the build I purchased Wale Soyinka's "Linux Administration: A Beginners Guide"...



I also used:

 - Ubunutu Wiki (http://wiki.ubuntu.com)

 - Debian Linux man pages (for example, type "!dman commandname" into www.duckduckgo.com to quickly load a man page into your browser)

 - Reference documentatoin for BIND (https://kb.isc.org/article/AA-01031)

 - This guide and quite a few other for Kerberised NFS: http://joshuawise.com/kerberos-nfs

 - QEMU Wiki for KVM (http://wiki.qemu.org/Main_Page)


I have to admit, I had just started my first SysAdmin job a few months prior to starting the project, so information gleaned from work probably set me on the right path initially.



I don't personally save anything important locally - data simply doesn't exist unless it's saved to the server. I encourage other members of the household to think along the same lines. Where I've imaged machines, for example with SSD upgrades or prior to Windows 10 upgrades, I've saved those images to a network share. I use a VPN connection to remotely access any files I need when away from home. If you forced my hand, I'd opt for some Robocopy scripts to mirror user files to a network share and then schedule them to run periodically with task scheduler. I've tried proprietary backup solutions in the past and I've been bitten hard. 

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...