I’m planning on, eventually, putting together a NAS for myself. I’ve basically narrowed down the selection to either trying NixOS or going for TrueNAS, however I can’t figure out how to decide between those two, as they are fundamentally quite different.
TrueNAS is a dedicated NAS OS so that’s obviously enticing for me, but I heard if you also want to do some server stuff like hosting some things and not just storing data it is subpar? I never got the information out of people what exactly is supposed to be subpar about it, but I’ve seen those complaints a handful of times.
Meanwhile NixOS is just a Linux distro. I’m familiar enough with Linux, although NixOS is its own beast and from what I heard its documentation isn’t quite what you’d get out of for instance the Arch Wiki, but it being declarative and easy to restore old versions in case something breaks allegedly makes it rock solid, so that also sounds interesting.
So, after thinking about those things, I was wondering if any of you who use either of them could share your experiences and what you like or dislike about either option?
Truenas has the primary focus of being a NAS. Running apps or VMs is more of a side thing. It can do these things fine, but because it’s not the primary focus it doesn’t get the same level of polish as the NAS aspects.
My personal solution is to run Proxmox as the host OS with a Truenas VM. Any other services I want to run get to live in VMs or LXC containers. For example all my docker services run across 3 VMs with a docker swarm setup.
The question is why use both. TrueNAS adds a lot of overhead, tends to become unstable if the workload is high in a VM, can lead to problems especially with ZFS and it often leads to people using privileged containers to use NFS directly (for ease of use) or use a mount bind solution via the host.
With ZFS NFS the whole thing can easily be provided directly and then use mount bind - which is way more consistent. With Cockpit and Napp-it you have graphical tools available.
Don’t get me wrong, for an existing solution it’s fine,but if one is doing a new build I would absolutely not go for it. TrueNAS has some oddities with permission handling one can also avoid if doing it directly - and far more stringent.
Personally Proxmox+ZFS is imho currently the best bet in that regard, especially if you can avoid Samba. (The Zamba Server is solid,though). Especially with a FreeIPA/RhelIDM setup things are surprisingly easy/stringent in terms of permission handling.
My setup is very influenced by consolidating multiple hosts to a single host. So far this setup has been extremely stable for me with the only quirk being the Truenas web gui initially loads very slowly if I haven’t accessed in a couple days. I assume it’s because all the memory for that has gone to swap to make space for caching.
Yeah, I come from the same scenario. Consolidated multiple nodes incl. a NAS into one. Initially had the HDD (which run through a controller anyway) passed through to a TrueNAS VM. That was…a mistake. TrueNAS can become a real bitch if it’s own VM storage is slower/has a hiccup while the rest of the pool is not. And a lot of other things are a PIA as well, e.g.permission wise, especially with a FreeIPA Domain. And all that for a quite hefty price in ressources.
The day I pulled the plug on that was a good day. Later had the issue repeat itself with a client system that the client brought with him.
Nowadays I really love the proxmox only solution,even though it’s somewhat icky to run something directoy on the host - but it’s acceptable imho,when it’s literally built onto host data-as it is the case for ZFS NFS anyway.
(I have Samba in a proper LXC, though - but rarely use it these days as we run everything via NFSv4 by now)