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:
- secure storage, space for multiple disks
- target for backups
- family-wide cloud with room for expansion
- media streaming inside and outside the home
- freedom to do what I want and room to learn
- 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!