Best usage for SSDs (cach vs pool for apps)

Hi am building my first NAS, (Jonsbo N3, N100 CPU,16 GB RAM,
8x 3TB HDD in RAID-Z2 , 1x 2.5 512GB SATA SSD and 1x 512 GB NVMe SSD)

The Server should be used for backup, media player and storage, and
some apps nextcloud, collabora.

I was wondering how I should partition my SSD
(I know it is not possible in the UI, but I am confident using the shell)
From the gut i would use the following:
/boot 2 GB mirrored
/ 30 GB mirrored
SWAP 8 GB each

This leaves 2x 472 GB. Should I use this all for a RAID-Z1 ZPOOL for
APPs and APP-Data or should i use some of the SSDs as Cache for the
main Pool

Kind Regards

What cache?

If you have free ports left, get a cheap SSD as boot pool and mirror the two 512GB drives for apps.

If not, pick one for the boot pool and use the faster one for apps.

Do not partition the boot drive or any drive for that matter. It’s possible but really not recommended and especially not supported.

1 Like

L2ARC (the one you get with “zpool add pool cache ” )

Not for NVME or SATA, but i have a free USB port.
Is it sufficient to use a USB stick as boot pool? What are the downsides

You need at least 64 GB RAM before even considering a L2ARC. It does not come free.

TrueNAS keeps on logging data on the boot drive, with ZFS copy-on-write, and this is known to wear out cheap USB sticks. A regular SSD on a USB adapter should be fine however.

Reading the first post, I’m slightly worried about how 8 HDDs can be attached to a N100.

The post where I read about the pool cache did not use “L2ARC” in the description.
As i wrote the reply I had already the suspicion that the cache was not reasonable for my system. Thanks for the clarification.

Can I use both SSDs in a RAID-Z1 as combined boot/app Pool?

The alternative is to use the NVMe SSD as app pool and the
SATA SSD as boot Pool. Is there a setting where I can tell
all apps to use the HDD pool for the app data for redundancy?

Its a China “NAS” Mainboard with 6 SATA ports, the other Ports are on a PCIe SATA card.The mainboard should arrive tomorrow. So I will see if it all works as intended

Most N100 motherboards that have 6 SATA uses a SATA port multiplier.

1 Like

No. The question was answered already in the thread along with the why.

Thanks all for your replies and feedback

In the meantime I have discovered that I am not the first (and probably not the last) user with this question, and that my search magic has failed me to find the following post earlier: I will share it, so that other users may find it:

I have to waste an entire drive just for booting?

I understand and accept the reasoning in this post and I am glad that TrueNAS is available to us.

But I feel the same way as Protopia

So I will test my hardware and play a bit with TrueNAS in different configurations
and decide then which option i will choose (probably not 2. Fork TrueNAS)

If you value your data and your sanity, dont use the onboard sata ports on that board for anything else but the bootpool.
There are probably port multipliers involved. And ditch that pci sata card aswell.
Get a cheap LSI HBA from ebay. E.g. a 9300-8i

  1. With only 16GB of RAM, having an L2ARC will do nothing for you.

  2. You cannot do a RAIDZ1 on two drives - only mirror.

  3. You don’t need swap. Swap is disabled by default in 24.04 onwards.

  4. If you want to use the SSD or NVMe for boot drive then you will either waste c. 496GB or agree to use the boot device for more than just the boot pool.

    Although on my own NAS I have my own apps-pool on my boot SSD device because it has limited drives, my advice would still be to avoid doing thus unless you absolutely need to.

    However, were you to e.g. put your apps pool on the boot device too, then you could potentially mirror the NVMe and SSD drives and have redundant boot/apps pools, however I am not clear just how good an idea it is to mix different technologies in a mirror - perhaps someone else more knowledgeable can comment on this.

My advice would therefore be to:

  1. Save either the 512GB NVMe or 512GB SSD and instead buy the cheapest decent quality replacement (so long as it is 16GB or more) and use that for the boot device.

  2. Use the other SSD-type device for your apps-pool and set up a replication job to an HDD dataset as a backup. You do not need separate pools for apps code and apps data - set up a single pool and then use separate datasets for each group of data.

1 Like