I have to waste an entire drive just for booting?

This resource was originally created by user: jgreco on the TrueNAS Community Forums Archive. Please DM this account or comment in this thread to claim it.

With the advent of TrueNAS Scale, we seem to be getting a large number of people from the Linux community who are not quite grasping what TrueNAS is.

TrueNAS is not a “Linux distro” and it is not designed to try to meet your arbitrarily spec’d use cases. TrueNAS is an appliance firmware for storage, which happens to be built on top of FreeBSD and Linux as underlying operating systems. It is intended to be installed like firmware onto a storage server, which can then attach and manage a pool of storage drives.

ZFS was originally designed by Sun Microsystems for storage systems with dozens or hundreds of hard drives. iXsystems wanted to duplicate this but based on a free software platform, so ZFS on FreeBSD was the natural choice. At the same time, they used NanoBSD to boot from a 1GB USB thumb drive. Over time, the boot strategy and OS was changed to a more complete FreeBSD-on-ZFS install.

Some people, especially those wishing to build TrueNAS systems on very small systems, have asked that they be able to share the boot media with the data devices. This would be a common way to build a small server, if you were building a ground-up FreeBSD or Linux server. iXsystems has declined to do this for you, and is not interested in trying to create the abstractions to support such complexity.

The basic idea here is that iXsystems is building an enterprise appliance that they can sell to customers on hardware they provide. They provide a separate boot device, so that shelves of disks can be attached to a TrueNAS head unit and imported as a pool. Their software design is oriented towards their hardware design needs. They have data pool separate from boot pool, and this allows data or boot drives to be swapped easily when one fails. Having data and boot shared would introduce lots of new complexity and edge cases. Are these solvable? Sure! Absolutely! But at some significant dedication of developer time, testing, and support.

And here’s where it seems to go off the rails. Community members should please try to be aware that the hyperconverged storage market is filled with competition. iXsystems is trying to build an amazing product with a limited staff, and they need to be able to focus on the things that pay the bills. If they allow themselves to go off tilting at windmills like shared device support, they are taking limited developer resources away from more important things, and this will hurt iXsystems and this community in the long run. We need to be respectful that they’ve chosen to decline to try to support this, and, in fact, rather than getting demanding or insulting about it, all of us here in the community would be well advised to take a moment to be thankful for the generosity of iXsystems, who has offered you the ability to use the fruits of their labor on your own server, free of charge.

If you do not like this, you have options, which include, at a minimum:

  1. Go use a product that works the way you prefer. TrueNAS is simply not aimed at your small scale, low port count NAS build. No one here is going to be offended if you decide that TrueNAS is the wrong product for your needs. You’re welcome to ask for suggestions for alternatives.

  2. Fork TrueNAS and build the feature yourself. This is the power of open source software. You can disagree with directions and decisions of others. Write what you want.

  3. Buy some high endurance USB SSD-quality thumb drives and boot from USB. This is known to work, but is relatively expensive. SSD’s with USB-to-SATA adapters are usually cheaper.

  4. Manually partition the drive yourself, and then either don’t complain in the forums or endure the inevitable dressing down if and when something goes wrong and you need to ask for help.

There is no benefit to arguing for a feature that isn’t going to happen and has clear engineering reasoning behind that decision.

10 Likes

Despite being someone who has used a single USB SSD for both boot pool and apps pool, thus breaking not one but two of ixSystems strong recommendations, I fully stand behind this statement.

My use is for a home media / backup server, and high-availability is not a requirement, but cost very much was a concern. So I took the decision to do this with the explicit knowledge that this was not a supported option.

So far, this decision has been OK - aside from a glitch where the GPT Primary Partition Table became corrupted (which could have been a USB thing), this has worked just fine. I have upgraded SCALE versions twice without any issues.

2 Likes

Ok option 4 it is!

2 Likes

Can any of you guys post a quick tutorial as to how to do the partitioning in TrueNAS CLI (“hot partitioning”)? Is that possible? If possible, I’d like to avoid the hassle of having to open up my TrueNAS box, yank out the drive, partition it elsewhere etc. etc. etc.

Many thanks!

Thank you so much for writing this post - very clear, thoughtful, helpful and enabling.

I too agree 100 % with the first post. Focus is the key.

Thank you to iXsystems for continued development of a great OS for reliable storage. I have been using it for about 5 years and been very happy with it.