HOWTO: Copy the hidden ix-apps dataset from one pool to another

Thank you for this! It help so much.

I don’t suppose it is possible to relocate ix-apps onto boot-pool? Both “replication task” and “choose pool” dialogs won’t show it.

I am aware, this is another way to ask do I have to waste entire disk.

Thank you this worked well, just had to restart docker once done.

I have SSH replication configured between my primary TrueNAS and my secondary. I have recursive replication tasks for my root datasets from my primary to my secondary. Assuming you have this in place, the replication task will automatically replicate the “hidden” ix-apps dataset as well.

My flow for creating manual snapshots of apps and virtual machines and replicating them is:

  • Stop Virtual Machines
  • Apps, Configuration > Unset Pool
  • Datasets, select root Dataset, Create Snapshot, check Recursive, Save
    • Repeat for each root Dataset
  • Secondary TrueNAS: Data Protection, Replication Tasks, run
  • Secondary TrueNAS: Datasets, select replicated root dataset, Manage Snapshots, append ix-apps to search
    • Confirm manual snapshot is present, alternatively use zfs list -t snapshot | grep ix-apps
  • Apps, Configuration > Choose Pool, choose the same pool, Choose
  • Start Virtual Machines

DUDE YOU’RE AWESOME! Thank you for this! I just setup a new server and transferred all of my data from the old to the new and noticed my apps didn’t work! This method worked perfectly the first time! Thank you so much!

1 Like

Has anyone tried doing this with a USB nvme enclosure? I have an older samsung nvme that has been somewhat problematic. I just don’t have any free nvme slots. How much would Scale chirp if I followed @Stux guide to the new drive in a usb enclosure then swap the old nvme once the copy is complete?

Or would I be better off shutting my Scale server down, pulling the old nvme, clone it from another machine then install the new one?

It should work fine, as long as the drive is exposed with no modification to the host.

What if I want to replicate the configs from an ix-apps to a hostpath dataset?

How would I do that?

I would delete the app, but save the ix-volumes, and then rename the underlying ix-volume to the desired host path.

Also, vote for this feature:

Thanks so much for this. Moved apps to a mirrored SSD and it’s so much faster. Glad I didn’t have to reinstall. After it is up and working is there a way to get rid of the old ix-apps safely?

I’m having some major issues with this. I’ve followed the guide a couple of times before to move apps to new disks. Just got a pair of SSD that I created a mirrored pool on just for apps. Followed the guide as I have done many times before. But this time im getting FileNotFoundError:

[Errno 2] No such file or directory: ‘/mnt/.ix-apps/app_configs’

now I can’t select either the old pool or the new pool, nothing works.
I can see that both pools have the same data in them using the grep ix.apps command.

Can anyone help me, totally stuck.

Just a shot in the dark, but potentially a mountpoint issue?

What does zfs get mountpoint NEWPOOL/ix-apps return? Maybe zfs get mountpoint OLDPOOL/ix-apps too, for good measure?

image

seems to show the correct mountpoint, but still getting the error. So frustrating, all I was trying to do was make my app pool more resilient in a mirrored pair, now its totally broken.

It looks like you’ve set the mountpoint as /mnt/ix.apps instead of /mnt/.ix-apps

2 Likes

oh my gosh :grimacing: how very stupid of me, what a difference a . can make. Thank you my friend. Much appreciated.

1 Like