TrueNAS Scale
November 17, 2023
Overview
For quite a while, I’ve been maintaining my own NAS based on Fedora Server. Updates happen fairly regularly with Fedora, so I was investigating using Debian as the base instead. During this investigation, I ended up looking at TrueNAS again. I had looked at TrueNAS Core in the past, but decided against it at the time. I typically favor the ability to customize my system to my exact needs over the ease of use (and restrictions) that may be provided by a purpose built OS. As my multiple hobbies compete for my time, I’m starting to lean more towards the setups that will require the least oversight/management from me while giving me the features that are truly needs. All that being said, I decided to give TrueNAS Scale a test run.
Strengths
Obviously, this is all from my personal point of view. I’ve been using TrueNAS Scale for about 4 months now. The web UI makes it almost effortless to setup ZFS storage pools, manage VDEVs, and create datasets. I prefer to use encryption for some of my datasets, and the UI makes this extremely easy as well. You can create multiple datasets under a parent encrypted dataset to enable you to unlock all of them at once by simply unlocking the parent. Each dataset has its own permissions. The built-in credentials manager makes it simple to add users and adjust their permissions at a very granular level if desired. For data protection, I was able to easily setup scheduled scrubs of my ZFS pools as well as scheduled snapshots (with custom retention settings) for specific datasets. I use an rsync task to pull my Proxmox configuration files to the NAS as a backup, and I’m in the process of setting up a cloud sync task to encrypt and upload all of my files to B2 for a cloud backup. Network shares have been a bit of a mixed bag for me. The NFS shares are very straightforward and easy to setup. I’ve struggled with setting up some SMB shares through the UI though. I’m willing to admit this could completely be user error, but I wanted to mention it anyway.
TrueNAS Scale also allows you to run docker containers. I honestly haven’t worked with this feature much beyond installing the provided chart app for my Plex Server. Once I ironed out the permissions for accessing my media, the Plex app has been rock solid. I’ll save some comments on virtualization for the next section. There is a fairly good reporting section built in to the web UI that will display graphs for various bits of useful information. You can also setup an email server connection to allow TrueNAS to send you notification emails for statuses or alerts. There is a settings page to show you all of the available services and their current status. You can also enable/disable/restart any of the services from this page. The main access for TrueNAS is intended to by the web UI, so it has shell access built in to the web UI. You can enable the SSH service and create a user with login privileges if you need that.
Weaknesses
I very briefly tried out the virtualization capability that TrueNAS offers. I already use Proxmox for my virtual machines, so I might not have given it a fair test. It seemed much more cumbersome to use that Proxmox though and nowhere near the feature set. In defense of TrueNAS, it is first and foremost a NAS (it is literally in the name). I guess it is nice that it has the ability to run virtual machines, but I won’t be taking advantage.
The only app I typically run directly on my NAS is the Plex Server. When I was running Fedora Server, I just installed Plex directly on the machine. Since I’m on TrueNAS Scale now, I opted for the chart app that is available by default. One thing that surprised me was the need for internet access when starting up the Plex Server when installed as a chart app. I understand is has to pull the image during initial installation. For the Plex Server app specifically though, it checks for a new version of the image each time the app is started (including reboots). If for some reason it cannot access the internet to check for new versions, the startup process simply hangs. I was made aware of this when I lost power during a storm. I have my servers on a battery backup, but I shut them all down when the power first went out. Once I realized it would be a while, I fired up my generator. Upon restarting my NAS, I was unable to access any local media via Plex as I could not start the Plex Server.
Conclusion
Overall, I’ve very much enjoyed using TrueNAS Scale, and I’m sure I’ve only delved in to a small number of the many use cases. I will be sticking with this setup for now. One of the main selling points for me was the ease of configuration and setting up scheduled tasks such as scrubs, syncs, etc. When I was running Fedora Server, I was creating custom scripts for any jobs I needed to run along with associated systemd services and timers. As I’ve said before, just because I can do those things, doesn’t mean I want the headache.