How I installed TrueNAS on my new ASUSTOR NAS
jeffgeerling.com
jeffgeerling.com
First, when you create a ZFS pool, it partitions drives and puts swap on all of them. IIRC it may have even set up some mdadm RAID mirrors. It's a bunch of complexity and can leave you with swap on spinning disks if you don't notice and override the behavior.
For me, whenever I see a bad default like that, where it might have made sense 10+ years ago, I get freaked out about what other poor defaults exist that I'm not noticing or what else may have been neglected for a decade. I use it as an negative indicator and often avoid the whole product at that point.
Second, every time I'd boot (or maybe stop) a VM it would trample my ZFS tunables, specifically zfs_arc_max. I couldn't figure out exactly what was triggering it, but I don't want a system that doesn't play nice with the default CLI tooling.
I actually had a really tough time finding a decent NAS and I'm going to end up building a plain old Linux system running Ubuntu 22.04. If anyone has any suggestions (not QNAP or Synology) for something that can do a good job of ZFS and 2-6 VMs, I'd love to hear them.
I'm using FreeBSD and its native hypervisor called bhyve. It's due to overall OS preference, not features Linux lacks regarding ZFS.
Synnology is much better put together, but also tends to be a lot more conservative software stack wise. I’ve had no ‘wtf’ moments with Synnology equipment, unlike QNAP - but I have had a few sigh, that’s lame moments due to older/less efficient software approaches or the like.
Anything custom, you’ll have to spend your time figuring everything out, which has pros and cons.
Personally I’ve had zero issues with a multi-pool NAS that has 20 (spinning rust) + 6 SSDs totaling around 150TB on Ubuntu with some pretty standard intel server hardware.
Been running that for 2 years, zero data loss, currently about 80% full. I’ve also learned a ton about ZFS and done some odd things for my own amusement. I wouldn’t recommend it if you want low maintenance though.
Because they're content creators, not ZFS tuners. It's plug and play. It makes it easy to have some redundancy and do backups.
I need storage to work, and I don't have enough time to get into ZFS's guts unless I'm going to do a video or longer blog post on a specific topic.
TrueNAS gives sane defaults, exposes most of the basic features through a (relatively sane) UI, and... works.
I still use ADM on my older spinning disk NASes, though—RAID 10 just works, and is fast enough for what I need, and the fact I have three copies of everything (one 'offline' (ish) on Glacier Deep Archive) means if I do ever encounter a corrupted file, I can grab a copy from one of the other backups on different media.
If you're a storage nerd / data hoarder, then it's common to spend more time and go deeper than what something like TrueNAS or some other UI gives you. Otherwise it's like the McDonald's of storage software.
This is why I use TrueNAS. I use Core instead of Scale though because I prefer FreeBSD. Its main job is to hold my ripped media library and run Plex. If I can glue other stuff to it (like an Ubuntu Server VM running Pi-Hole) then that's just an added bonus.
Yeah, we cringe but who ever actually learns something without making some mistakes along the way?
If we spent all of our time dealing with the anxiety of trying to never be wrong -- most of us wouldn't be able to function.
It’s not about people being wrong. There’s a problem at every level with how willing people are to publish before they’ve done enough to be sure that their information is good.
Being wrong should be celebrated. Publishing for the rewards of publishing instead of the quality of the work is rightly shamed.
The disks were Samsung's MZVL21T0HCLR-00B00. The pair with ext4 sw raid booted all VMs (Linux, FreeBSD) with no issues but second pair with ZFS pool wouldn't.
It may have been due to the newer kernel version but I asked myself a few questions about what's missing in FreeBSD's bhyve regarding my needs and took this route instead of trying default kernel.
# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
VMs 952G 828G 124G - - 36% 87% 1.00x ONLINE -
zroot 944G 1.21G 943G - - 0% 0% 1.00x ONLINE -I like the release cadence on Ubuntu and I had such a bad experience with ZFS DKMS (many) years ago that I'm probably a bit bias towards Ubuntu because I simply don't have to think about it.
I won't use ZFS on root unless it simplifies dealing with a failed boot disk. I still prefer CSM over UEFI because UEFI makes it more complicated to recover from failure :-(
That's basically how it works in almost all Linux distros ;-)
I don't think it actually updated today, but I don't think they have their act together when it comes to managing updates and I'm not willing to depend on any of their stuff.
Synology is more complicated and ultimately comes down to the use of BTRFS. I don't know a ton about filesystems, but, the way I understand it, BTRFS allocates extents and then puts blocks into those extents. Depending on your workload, you can end up with orphaned blocks in those extents that prevent space reclamation (because it reclaims extents, not blocks) and it can result in runaway space usage. Search for "BTRFS missing space".
I may not have gotten that 100% correct, but I think the basic idea is close.
My workload (backup storage) overwrites random blocks in existing files and that's one of the scenarios that exacerbates the issue. I've ended up with empty LUNs on a Synology that are "using" TBs of space on the containing volume.
The Synology can also have a pretty complicated "stack" by the time you get your data onto it. I think I had an image based LUN on a BTRFS volume on mdadm RAID1. That was achieved through the GUI without making any crazy choices AFAIK.
Changes made with the underlying tools often get clobbered because that’s just not very commonly required and anyway you want one source of truth not two.
If you just want a stateless UI on top of the system tools you have to create it yourself… but it won’t be easy.
The TrueNAS portion of TrueNAS Scale seems fine but the Apps side of it I have found half baked.
I have multiple apps (both true charts and the base catalog) that just hang on init, with no logs, just the spinner and then it stops. Debugging k8s when you are abstracted like that is frustrating.
I also have had a difficult time getting traefik going with either Cert Manager or the TrueNAS certs, one seems to be deprecated the other seems to be undocumented.
If people gravitate towards to the apps feature of Scale I would recommend holding off till its had more time in the oven.
If you have a drive fail, you don't want to replace the failed drive with one that is slightly smaller. It won't work. So they pad with swap.
> IIRC it may have even set up some mdadm RAID mirrors.
Yes in case the drive fails with the swap on.
You don't want to use ZFS for swap, it can require extra memory to allocate blocks. Not what you want when you are out of memory.
> It's a bunch of complexity and can leave you with swap on spinning disks if you don't notice and override the behavior.
Perhaps, but you are assuming their reasons are not as good as yours without knowing their reasoning.
What advantage does padding with swap give over leaving some unallocated space?
> Yes in case the drive fails with the swap on.
There's no scenario I can think of where I want swap on a spinning disk.
> You don't want to use ZFS for swap, it can require extra memory to allocate blocks. Not what you want when you are out of memory.
Is that even possible? Do you mean putting swap on a ZVOL?
> Perhaps, but you are assuming their reasons are not as good as yours without knowing their reasoning.
If anyone can justify a reason for putting swap on a spinning disk in 2023 I'd love to be enlightened.
When you only have spinning disks and you run out of ram.
> What advantage does padding with swap give over leaving some unallocated space?
It allows you to not run out of ram, and it means you get to use the space.
As someone who (this week) had a spinning disk fail in the NAS, with swap spread across all disks... it's kind of a pain in the arse vs using the whole disk.
It's extra complication, which can be especially bad if the disk failure occurs at early am when you're not 100% awake but still need to deal with it. :/
Was your swap non-raided?
I think if I needed a lot of VMs I might go with Proxmox, but yeah, the bare bones Ubuntu has been really elegant and stable since I built it a few months ago.
TrueNAS works fine for my use cases, and I suspect it's the same for most users.
It's honestly less messing around than any of the off the shelf tools. Depending on what you're doing you may want to mess with some kernel tunables. But even then, most of the time the defaults on a modern kernel are good enough for small stuff.
Sure, but the burden is on the manufacturer to prove the alternate OS caused the fault. They can't just void your warranty for installing another OS.
https://en.m.wikipedia.org/wiki/Magnuson%E2%80%93Moss_Warran...
And the Magnuson Moss Warranty Act does not contain a free-shifting statute. (unlike the Lemon Law which is a more specific version of Magnuson Moss).
What I don't understand however is how we deal with features that aren't used by ASUS, say some form of encryption in the CPU. TrueNAS uses it and your NAS locks up. And Intel actually releases an errata for that CPU.
Who is responsible? Should they give you a new one?
In other words, it's not unreasonable for them to request that you (re)install their software and show them the system is broken there. Only if you manage to actually break the device with OtherOS, does burden of proving who broke it matter. I'd personally argue, in most cases, the hardware is defective if it can be broken by doing wrong things with software; but it kind of depends on how far you go; if you go mucking about in the flash roms, it's debatable; extreme overclocking is on the user as well, etc.
Also, bravo to Asus for not only opening their hardware to make installing an alternate OS possible, but documenting it on their site. This makes me vastly more likely to consider them for my next purchase.
From memory this does have a fan
It makes snapshots, clones, and replication very simple to deal with.
PCIe Gen 4 bandwidth x1: 2 GB/s, x8: 16 GB/s
Yeah, good point.. but 8GB/s is still plenty to saturate a single 10gb ethernet link.
So they're not exactly apples-to-apples, but I don't think encrypted datasets would be the bottleneck.
There is something to be said for those $100 PCIe 8 to 4x NVMe cards. Stick 3 of those on a 13600k (2 in the split direct to CPU lanes, one in the indirect lanes) and you'll have more bandwidth per drive, a heck of a lot more cores with more power, the ability to slot a 25g nic, and the ability to load a ton more ram (officially the n5105 only supports 16GB, 32 works fine as far as I've been able to tell, 64 causes errors). The power usage, size, and cost will all be a little higher but if you're looking at a 12 SSD NAS it's probably worth thinking about IMO. You also get an extra x4 for the main os drive, instead of 8GB emmc which can only really be /boot for most realistic setups.
I’m also curious how long SSD’s are supposed to last relative to an equivalently sized HDD.
https://www.backblaze.com/blog/backblaze-drive-stats-for-202...
With there current sample its 0.89% SSD vs 1.39% HDD AFR but the SSD sample is to low atm.
Last time I had any info from that site - it worked well for them.
I am interested in this, but came up empty the last time I looked into it.