I Built a NAS

Oct 20, 2019 -- in: linux

I built a NAS in september and decided to revive my blog and write about it.
Like every other tech blog, this is not because I am awesome or anything, but simply because I am afraid that I will forget everything I learned, and writing about it 1. Helps me remember and 2. Lets me look things up if I forget them.

So, expect some new posts in the coming weeks, most of which will be linux-y and sysadmin-y topics.

My NAS

The system is pretty much done and has been running for nearly 2 months, so much of what I will be writing will be retroactive - I hope that that will not reduce the quality too much. This post is an introduction of sorts, giving some context and helping understand the following posts.

I had the following goals when building it:

  1. secure storage, space for multiple disks
  2. target for backups
  3. family-wide cloud with room for expansion
  4. media streaming inside and outside the home
  5. freedom to do what I want and room to learn
  6. performance headroom, so I can do compute-intensive things, run VMs etc. if I want to

Which has led to the following hardware setup:

  • A mini-itx system with room for 6 3.5” disks
  • Ryzen 2 2600 and 16GB of ECC RAM
  • Gigabit LAN to the router
  • Ubuntu Server 18.04 LTS
  • a Crucial M.2 SATA SSD for the OS
  • 2 mirrored 8TB WD Reds for storage

I am using ZFS as data filesystem because it provides unmatched safety, ease of use and advanced features. More on that to follow in a future post!
ZFS on root is not supported in 18.04 and will not be usable in production until at least 20.04, so my root filesystem is a more traditional Linux setup: Ext4 on LVM. I did not want to give up some ability to snapshot before upgrades and re-arrange partitions as needed.

Quite a lot of software went into this, the most user-facing ones being

  • Nextcloud
  • Jellyfin
  • Pi-Hole

Background software includes

  • docker(-compose)
  • sanoid
  • OpenLDAP
  • Icinga2
  • nginx
  • certbot
  • netdata
  • beets

I will describe some parts of the setup in more detail when I feel like it, and new stuff as I add it. See you!