← Back to context

Comment by ssl-3

1 day ago

Some years ago, there were mud-slinging myths being thrown around about ZFS.

Things like "ZFS needs 1GB of RAM per 1TB of storage" and "it requires that RAM to be ECC" were once common to find online.

These sort of thing seemed to lead to widespread beliefs that it was inefficient, expensive, and fragile. None of that is true, of course, but folks might remember and believe these myths and conclude that it is (or was) bad.

(But it's pretty excellent. I've been using it for about a decade, now. It'd be nice if it fit into the Linux kernel better, but I manage anyway.)

I still got told that I need 16GB of RAM to migrate my 12TB btrfs array from a Synology with 6GB of RAM (2GB actually used) - by TrueNAS people.

Are they wrong?

  • Yep. They be wrong. Many of the myths about ZFS seem to originate from the TrueNAS forums, and the working assumption is that they're motivated to be this way because they're a bunch of gatekeeping losers.

    More RAM is better -- of course it is. Otherwise-unused RAM can gets used for stuff like caching (such as the ZFS arc), and caches are faster than disks. That's good for performance.

    But ZFS isn't really any more thirsty in this way than other filesystems are, unless special features -- stuff that many other filesystems lack entirely, like deduplication -- get used.

    And these days, dedup can use an SSD instead of RAM for the heavy lifting so that's not a huge concern either. (Not that I'm recommending dedup; it works and it is reliable, but it doesn't fit very many workloads.)

    I would absolutely be comfortable running ZFS with 12TB on 6GB. Or 2GB, for that matter. It's fine. Send it.

    I've personally done more with less and had excellent results. No regrets.

    (There's ways to tune arc performance, too. As an example, I've got a dataset that is full of many terabytes of Linux ISOs. I don't need that data to be cached...like, ever. If it were to be cached, it would just consume resources that would be better spent elsewhere. But I do want it to be indexed quickly. So I set that dataset to primarycache=metadata and that works great for me.)

  • TrueNAS is an OS with management bells and whistles. I'd say yeah you'd want 16GB for TrueNAS to work well, ie roughly 8GB for TrueNAS and roughly 8GB for ZFS cache.

    No you do not need 16GB simply for a 12TB ZFS array on a plain Linux/FreeBSD box. It'll be faster, but you don't need it.

  • TrueNAS was major source of the myths

    ... because part of the company wanted you to buy their certified systems