TrueNAS Scale Move System Dataset / Application Dataset to Boot Pool?

mmix

Dabbler
Joined
May 5, 2021
Messages
15
If I remember correctly this option was available in FreeNAS (and probably by extension in TreuNAS core, unfortunately I cannot use Core because I have 2.5Gbps Intel adapter and FreeBSD is no longer receiving any TLC from Intel so legacy FreeNAS and new Core will not work).

Does this option exist in Scale and where is it located, I can't seem to find it. I only see my custom pools in any drop down and commands relating to system and application datasets. I know its not recommended because lots of people us flash drives to boot, but I do not use flash but a proper and spacious NVMe, and I do not care about losing config and installed apps. I would rather take benefit from vastly faster NVMe and spare my spinning rust from serving in that capacity.
 

maximelu

Explorer
Joined
Mar 7, 2021
Messages
74
Hi,

This menu has been moved during a previous release.
He is now located into the storage secondary menu.

1620811635217.png
 

mmix

Dabbler
Joined
May 5, 2021
Messages
15
@maximelu cool, thanks, I just moved the system dataset to boot pool

That takes care of the system dataset, what about application dataset? I can only choose custom pools when initializing or configuring and that creates the ix-application dataset on selected pool (together with a bunch of mount points, as expected). But the boot pool is not available on the drop down list:

1620812481262.png
 

maximelu

Explorer
Joined
Mar 7, 2021
Messages
74
It is a design choice of TrueNAS. I don't know the exact reason but it's probably because the boot volume is not redundant. Personally, I added another SSD dedicated to application pool.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702
Perhaps you're looking for this (entirely unsupported) option?

 

mmix

Dabbler
Joined
May 5, 2021
Messages
15
That's a weird design choice, shouldn't it be up to user how much redundancy they want and where. Being warned for loss of redundancy like you are being warned when creating single disk stripes seems like more than enough of a consideration. I am certainly not going to cry over losing Plex metadata as I would over losing kids baby videos. Some things are reinstall-able and reconfigurable, now I have 240Gb being empty on my 250Gb NVMe that I cannot use for this purpose.

Is it possible to shrink boot-pool zfs file system and partition and create another pool in the empty space that would be visible from UI? And then use that pool for applications? I would really hate to have to resort to booting from flash just so I could use NVMe for system/applications. This is a miniITX NAS which already has all its 6 bays packed with spinners.
 

beagle

Explorer
Joined
Jun 15, 2020
Messages
90
You could use a small NVMe/SSD/HDD on a USB enclosure as boot drive.
 

mmix

Dabbler
Joined
May 5, 2021
Messages
15
@beagle, I could, but I would really like to avoid those external makeshift solutions, especially since I spent considerable time and money to make the NAS look and feel human-presentable and be <20db silent so it can sit in the living room unobtrusively.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702

beagle

Explorer
Joined
Jun 15, 2020
Messages
90
@beagle, I could, but I would really like to avoid those external makeshift solutions, especially since I spent considerable time and money to make the NAS look and feel human-presentable and be <20db silent so it can sit in the living room unobtrusively.
Is there a USB port or header on your motherboard? Maybe you could fit it internally on your case.

Otherwise I suggest you to open a ticket on Jira requesting this feature. Unfortunately it seems what you are looking for is not currently supported.
 

mmix

Dabbler
Joined
May 5, 2021
Messages
15

I've read your post. In essence its about transferring scale from USB to mirrored NVMe. In my scenario that would require me to first reinstall Scale on a, say 16 or 32Gb flash, then move it to NVMe, destroying current install, and then I would be left with an empty 218Gb partition on NVMe which I could in theory format as ZFS and import into Scale? Did I get it right?

My first idea was to just shrink the ZFS single partition volume that is boot-pool, however, I can't seem to find a way to do it, it seems the only supported resize is up (with autoexpand).
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702
My first idea was to just shrink the ZFS single partition volume that is boot-pool, however, I can't seem to find a way to do it, it seems the only supported resize is up (with autoexpand).
Not really possible.

In essence its about transferring scale from USB to mirrored NVMe. In my scenario that would require me to first reinstall Scale on a, say 16 or 32Gb flash, then move it to NVMe, destroying current install, and then I would be left with an empty 218Gb partition on NVMe which I could in theory format as ZFS and import into Scale? Did I get it right?
You can skip the transfer part and just backup your config, follow the NVME process and restore your config.
 

mmix

Dabbler
Joined
May 5, 2021
Messages
15
@sretalla I do not remember Scale giving me a chance to partition NVMe during setup, it just asked me if I want a swap partition, it created everything else automatically to fill the entire disk, hitherto destroying the partition table.

How would I go about forcing truenas install to only use a limited part of the disk for its partitions?
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,702
How would I go about forcing truenas install to only use a limited part of the disk for its partitions?
OK, that's my fault for not paying enough attention to the method used there (I was working from my memory of the version for CORE, which is different apparently).

Use a USB stick to install to, then do the commands to mirror to the prepared partition on your NVME, then break the mirror and reboot as suggested in the linked post.
 

Patrick M. Hausen

Hall of Famer
Joined
Nov 25, 2013
Messages
7,737
How would I go about forcing truenas install to only use a limited part of the disk for its partitions?
You cannot do that. You must install to a smaller drive of the preferred size and then do some manual transfer to your larger drive. TrueNAS SCALE as well as CORE uses the entire install drive for the boot pool. Feel free to open a feature request ticket on JIRA.
 

mmix

Dabbler
Joined
May 5, 2021
Messages
15
Ok, thanks. Last question before I rip the current TrueNAS install. Do I need to prepare my spinner pools for transition to a new install so that I can import them after reisntall, permission and filesystem wise? Do I need to export the pools? Or will the pools auto-export when I shutdown the server tidily?

Its not a biggy if I lose them, I still have the original sources, it just took me 4 days to copy it all over via 1gbps eth :)
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
About using the boot-pool for applications:
I wouldn't advice it, it's a lot easier to reimport and repair things when that dataset is not on the boot-pool.

If you really want SSD performance for that pool:
- add a metadata drive (often a couple of cheap 120gb ssd's already suffice)
- use the CLI to have all children of ix-applications inherit the small-block-size setting of ix-applications
- Set the small-block-size on the ix-applications dataset to 128K

Miraculeus: Everything ends up on your small block ssd's ;-)
 

mmix

Dabbler
Joined
May 5, 2021
Messages
15
Then, as I understood, that metadata becomes the weakest link in my NAS as its failure fails the entire pool. And as I said, there is no more room in the case (Fractal Node 304) for any more drives and I would like to keep those 4 mobo SATA connectors free in case I need to replace/resilver a failed spinner.
My entire idea here is to run apps from the NVMe, since I already have a lot of unused space and am not afraid of having to reinstall everything, what must persist is the storage pool.

These are images from initial assembly (before I replaced faulty ASRock mobo with ASUS and before I replaced relatively noise FN fans with Noctua). There is not much room left in the case without me severely disrupting the very low noise air flow. So any additional hardware here would really have to be a consequence of a showstopper situation.

1620897161181.png
1620897201260.png
 

soleous

Dabbler
Joined
Apr 14, 2021
Messages
30
I am kinda with you on this, utilizing the boot disks would be advantageous for data. When I move to SCALE from Virtualized CORE, I'll be going native and probably be on NVMe for boot. If I can use the same NVMe disks for some data, be it ZFS features/KVM/applications would be useful.

Wouldn't this be a more common request for people moving to SCALE from a completely virtualized NAS like ESXi? I think a feature request would be the way to go...
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
Then, as I understood, that metadata becomes the weakest link in my NAS as its failure fails the entire pool. And as I said, there is no more room in the case (Fractal Node 304) for any more drives and I would like to keep those 4 mobo SATA connectors free in case I need to replace/resilver a failed spinner.
My entire idea here is to run apps from the NVMe, since I already have a lot of unused space and am not afraid of having to reinstall everything, what must persist is the storage pool.

These are images from initial assembly (before I replaced faulty ASRock mobo with ASUS and before I replaced relatively noise FN fans with Noctua). There is not much room left in the case without me severely disrupting the very low noise air flow. So any additional hardware here would really have to be a consequence of a showstopper situation.
Thats a very nice build you got their, but thats not a full case ;-)

But, ontopic: At least you made a clear decision weither to do it like this or use metadata/smallblock ssd's.
Thats a lot more than most people do before designing a build! ^^


When I move to SCALE from Virtualized CORE, I'll be going native and probably be on NVMe for boot
NVME drives are normally not adviced to be used as boot drivers, because there are a lot of beter ways to utilise them... (L2ARC or metadata)

If I can use the same NVMe disks for some data, be it ZFS features/KVM/applications would be useful.
You can at least use the bootdrive for the systemdataset (logs and such), the reason this option isn't available for the ix-applications dataset is actually rather simple:
a lot of people run either weak(ish) or non redundant boot drives (for example: all of iX's consumer grade appliances!). Where the system-dataset stores data that isn't really important, the ix-application dataset not only stores temporary docker data, but also stores all(!) persistent data for the ix PVC's and ix HostPath mounts.
Having the option to put it on the boot drive will ensure iX complaints with home-NAS users that encountered dataloss.

I think a feature request would be the way to go...
I'm pretty sure there already is! ;-)
 
Top