Tag Archives: custom

The new NAS

PC parts for a custom NAS build

It’s close enough to 2023 now, and off the back of my QNAP being on borrowed time, it’s time to think about a new NAS. I’ve had a couple of NAS iterations over the years, starting off with a $200 HP MicroServer, then the aforementioned QNAP, and now, whatever I want to go with next.

I could, of course, go with another consumer-grade NAS like a Synology. Or even a QNAP if I am feeling particularly brave. Apparently, Synology units with processors that had the LPC CLK issue weren’t affected to the same degree as QNAP units were, because they implemented their LPC interfaces at 1.8V, preventing 2V over that circuit being an issue like it was in the QNAP units. That and/or in combination with a firmware update that somehow mitigated the issue, meant that a Synology unit would have been the more reliable choice at the time, and we wouldn’t even be having this discussion if I had purchased a Synology instead of a QNAP back in 2016.

Alas, I did, and we are.

Which brings us back to the original question: what kind of a NAS do I want in 2023, that will hopefully last 5-7 years, if not more?

I’ve been thinking about this for a while now. There are definite, distinct advantages to having an all-in-one unit like a QNAP or Synology. You get the smallest possible chassis, minuscule power usage, and the entire software experience that buying a QNAP or Synology gets you, which means that even if you’re going to run your own Docker containers and just use the software to manage your storage, it’s definitely a more cohesive, user-friendly experience compared to rolling your own OS. But even after all that, I’ve been drawn to the idea of building my PC to serve NAS duties for a while now.

Why? It comes down to hardware, both in terms of choice and flexibility.

Buying a consumer-grade NAS like a QNAP or Synology means you’re buying into their ecosystem, with all of the advantages and disadvantages that entails. Yes, you can upgrade the RAM and install your own drives but that’s about it in terms of upgrades. With the exception of some of their pricier units, you can’t drop-in a PCIe card to add discrete graphics, or more M.2 drives, or even 10 GbE, if that ever becomes a thing at home. Maybe it will, maybe it won’t.

There are some Synology units that let you buy a PCIe expansion card that lets you add 10 GbE as well as more M.2 slots (in addition to the ones you already have), by the time you pony up for one of the pricer Synology units and the PCIe expansion card, you’ve basically spent as much as you would have if you picked your own parts and built your own PC from scratch, with none of the benefits of having custom hardware. It’s a trade off. I think it makes way more sense to buy a QNAP or Synology NAS, compared to building your own, than it does for you to buy a pre-built gaming PC from a major computer retailer like Dell or HP, purely because you’ll get more value out of a consumer NAS that you do out of a gaming PC that uses non-standard parts and layouts. You’re far more likely to want to upgrade your gaming PC within its expected lifetime than you are your own NAS, and you’ll appreciate standard PC components at that point, way more than you would if you were to upgrade your NAS. But I digress, and that’s a topic for another time.

When you’re building your own NAS out of commodity PC hardware, you have the complete freedom to choose which standard PC components you want, and the flexibility that affords you down the line. You might not ever need to upgrade your QNAP or Synology CPU in the lifetime of your NAS — but don’t you wish you could, when something better comes along?

But if there was a single reason I wanted to build my own NAS, it comes from being able to have access to hardware transcoding. Specifically, Intel Quick Sync Video.

While video transcoding isn’t generally a problem for me right now, that’s not to say it won’t be in the future. The Celeron J1900 in my current QNAP supports Quick Sync, and I haven’t had an issue streaming most of my content to iOS devices via Plex due to the wonders of direct play and most of my content being in a format that’s compatible with my devices. But between various CPU architectures, Quick Sync support for different codecs and formats varies. My current CPU, while it supports H.264, will only support decoding HEVC H.265, not encoding it, with zero support for newer video codecs like VP9 or AV1, or even 10 or 12-bit HEVC H.265 which is sometimes used by HDR versions of those videos. I don’t currently have Quick Sync video working on my current QNAP, but that is probably a configuration issue on my part; it’s entirely possible I haven’t set it up correctly in the Plex container.

Not supporting hardware-accelerated video encoding/decoding means we’re back to software decoding. And if YouTubers are to be believed, AV1 is going to be the next big thing, so even if we have to wait for a couple of years for it to be adopted by content farms, won’t I be glad I’ll have picked a 12th gen CPU that can handle decoding AV1 in hardware, as opposed to some Ryzen chip that would have had to rely on sheer CPU grunt to do software encoding?

While this might not be a big deal right now, it’ll matter if everyone starts using the royalty free, and even more efficient AV1 format. If that happens within the remaining lifetime of my QNAP, that’ll be an issue for me because it will mean I’m back to software decoding everything. I’m using software transcoding now, and it’s an extremely poor experience on a quad-core 2.0GHz CPU, even on my local network. The good news is, only Intel Arc has access to AV1 hardware encoders, which means everyone else has to throw CPU grunt at the problem, if they want to encode their content in AV1.

The other main advantage of rolling your own NAS hardware is that you can run whatever OS you want on it. While there are technically ways you can run other OSes on QNAPs or Synology units, it’s a hack. Building my own NAS lets me choose between straight Linux, like whatever version of Ubuntu that I ran on my HP Microserver, or the more storage-focused flavours of Linux/BSD like Unraid or TrueNAS. TrueNAS in particular is interesting because it is known for natively implementing OpenZFS, which is generally regarded as the best storage-focused filesystem. I don’t currently have a need to run any of the crazier storage configurations afforded by ZFS as I’ll be limited by the hardware and case that I’ve chosen (at least to begin with), but it’s nice to know they’re an option, if I decide to do that later on down the track.

Continue Reading →