3 reasons why I pay a lot of attention to the RAM when buying or building a NAS

1 week ago 2

When I’m out buying a NAS or checking out the components for a custom storage server, there are a couple of factors I take into consideration. The number of drive bays lies at the top of the priority list, and I often run some internal calculations about the storage capacity before locking in on a NAS. Likewise, the RAM is something I never skimp out on – even on the more affordable builds. In fact, it’s something I pay a lot of attention to when hunting for pre-built NAS units or putting together one myself.

ZFS requires quite a lot of memory

It’s all worth it, though

If you’ve read my articles here on XDA, you’d know that I adore ZFS more than any other file system. It has terrific self-healing provisions, supports checksums, and can run scrub tasks to ensure my data remains in tip-top form. Its Copy-on-Write facility prevents erroneous write operations from corrupting my precious files, while the ability to create snapshots adds an extra layer of protection to my data. As if that’s not enough, ZFS also offers solid read/write performance and lets me integrate multiple storage drives into RAID setups.

On the drawbacks front, ZFS is known for hogging up a lot more memory than other file systems. So much RAM, in fact, that you’ll need a bare minimum of 8GB memory just to install TrueNAS. A general rule of thumb per the ZFS memory guidelines is that you should add 1GB memory for each terabyte of raw data and another 1GB for every 50GB of your L2ARC cache. Me? I’ve got around 48GB of RAM in my pre-built server, and I’m already planning to bump that number to 64GB soon. A bit excessive, sure, but I’m already planning to use the spare memory for the RAM cache. Speaking of…

RAM caching is a game-changer

Especially for slower hard drives

A person holding a TerraMaster F8 SSD Plus NAS

I consider myself a member of both SSD and HDD factions, and have slotted conventional hard drives as well as their high-speed NVMe counterparts into my NAS. That said, I always store backups and archival data on hard drives, as SSDs are far from ideal for safekeeping heavy files for longer periods. The main disadvantage of such a setup is that transferring data to and from HDDs feels like a real slog. Or at least, that used to be the case until I came across RAM caches for the first time.

In technical terms, Adaptive Replacement Cache (which is yet another facility of ZFS) uses the spare RAM on my NAS to store my frequently accessed data. TrueNAS – the OS powering the primary and secondary NAS units in my arsenal – supports this facility, and it’s great for amplifying the random read speeds of the files stored on my old HDD.

More RAM is better for running containers

Despite using proper home servers for most of my virtualization experiments and self-hosting workloads, there are certain services I refuse to run on my workstations. That’s because I wouldn’t want my mission-critical applications to go down with my servers. For instance, I’d never want my Pi-hole to become offline and remove access to the Internet for the other devices in my home. Likewise, I always self-host my backup-oriented services – especially those syncing files across VMs and my home server nodes – on my NAS.

Since I run my NAS 24/7, I tend to deploy these essential services better on my NAS instead of my usual Proxmox nodes. That way, I’d not only have 100% uptime, but I wouldn’t have to worry about losing access to the apps due to a freak accident caused by my experiments. Unfortunately, my stack of networking, backup, and maintenance tools requires a decent amount of memory – precious RAM that my storage server has to share with the other features of my TrueNAS setup.

I like to use ECC memory modules whenever possible

This may sound somewhat overkill, but I almost always prefer ECC memory for my home devices, including my custom-built NAS. Bit rot may not be that big of a deal for short-term usage. But over years of constant read and write operations, random bit flips can end up degrading the integrity of stored data, and if left unchecked, can cause widespread corruption.

Having seen my fair share of horror stories about silent data corruption, I’d rather not take any chances with my files. ECC memory helps out a ton in this case, as it can automatically detect and fix single-bit errors. Call me paranoid if you must, but I always seek ECC memory modules when building custom storage servers. In fact, I’ve already equipped my primary Proxmox node and (bare-metal) TrueNAS machine with ECC RAM kits, and low-key wish they became the norm in consumer-grade pre-built NAS units.

Read Entire Article