Long time, no chat!

This is my NAS: a Synology DS220j. It has 512MB of RAM, a 4-core 1.4 GHz ARM CPU, no Docker, no Plex, and it can take 15–20 minutes just to open an app in the web GUI. I’ve had it since around 2018, I think. Inside are two HDDs in a JBOD configuration with no RAID.

A few days ago, I got a message saying it was way out of date and needed to be updated. The update removed the video streaming functionality that I actually used. On the bright side, it’s been pretty much flawless for NFS and SMB mounts (which I use a lot), as well as iSCSI.

I looked at replacing it with something newer that had at least 4GB of RAM, but everything in that category costs a lot more than I want to pay. Meanwhile, I already own a Ryzen 9 mini PC that I mostly use for running KVM VMs on Linux. It has two Thunderbolt 4 ports, a bunch of USB 3.2 ports, a 2TB NVMe drive, and 32GB of RAM. So… why can’t this be my NAS?

Naturally, I ordered a new multi-bay HDD enclosure that can connect to the mini PC, along with an additional hard drive.

What’s next? Well, thanks to the current winter wonderland outside, I probably won’t see those parts until later this week. Amazon says four days from now.

In the meantime, I installed Unraid. Unraid is NAS software designed to work well with setups like mine. You put disks into an array, add an extra disk that’s at least as large as the biggest data disk for parity, and optionally add a fast SSD for cache. If a data disk fails, you replace it and rebuild from parity. If the parity disk fails, you replace it and rebuild parity from the remaining disks. Just… hope multiple disks don’t fail at the same time.

Out of the box, Unraid gives you NFS and SMB shares, Docker, VMs, and a huge ecosystem of community apps and plugins — everything from Nextcloud to Calibre to a web-based VS Code. I’m actually writing this post using that VS Code instance.

Now for the negatives.

  1. VM performance is noticeably worse than on a vanilla Linux install. Even though I’m currently running 100% on NVMe, installing Linux inside a VM takes two to three times longer than it should. This isn’t a download issue — it’s slow copying from the ISO to the QCOW VM disk. I honestly don’t know what’s causing that.

  2. LXC support exists, but barely. There’s a community app for it, but the functionality is extremely limited. I can’t even use sudo or su -. It’s worse than Proxmox’s LXC support, which is already fairly basic.

  3. No built-in iSCSI support. This isn’t a deal-breaker, but it’s definitely annoying.

So, what are my options?

There’s TrueNAS, which seems promising but has a steeper learning curve when it comes to storage. There’s Proxmox, where I could run a VM purely to provide SMB. Or there’s just running Ubuntu Server directly and configuring everything ad-hoc.

There is one more option — and this is where I’m currently leaning. Besides NFS and SMB, the feature I used most on my Synology was instant file syncing for important documents. Synology Drive actually does this very well, even if everything else feels laggy.

I already have a Nextcloud instance running on my hosted server as part of a Mail-in-a-Box setup. Today, I configured the Nextcloud client and started a trial run. Has Nextcloud gotten better if I don’t ask too much of it? I originally bought the Synology NAS because Nextcloud was such a pain to deal with… but maybe I can use this existing Nextcloud install only for instant syncing, and use Unraid for NFS, SMB, and local apps? I’ll keep testing it and I’ll throw TrueNAS on it also for comparison.

So that’s where I’m at with my home NAS.

Maybe I’ll write more than once per year now.