Applications pool change - 'Migrate applications to the new pool' hangs

Joined
May 10, 2022
Messages
4
Some info on my system:
pool_1/ix-applications - Encrypted with key
NVME/ix-applications - Encrypted with key

I recently got some new drives and setup a new pool on them.
I want to move my applications over to this new pool, so I tried it through the GUI:
Untitled.png


When the copy to the new pool is almost done, it hangs (the data doesn't keep going up, and never ends up matching the previous dataset), but doesn't have any errors. The applications do not show up.

I was able to replicate this by running the following ZFS commands (I now understand creating a snapshot of ix-applications is a bad idea)

Code:
zfs snapshot -r pool_1/ix-applications@migratetonvme
zfs send -R -w pool_1/ix-applications@migratetonvme | zfs recv NVME/ix-applications


This send to the new pool hangs at the exact same point in the data that the GUI does.

Has anyone else seen this behavior? I have some persistent volumes on pool_1, but other than these and the app definitions, I am fine not having everything. Would it be possible to setup the NVME pool as a new ix-applications dataset, and manually copy over these files?
 

pabloalcantara

Dabbler
Joined
Feb 21, 2022
Messages
29
I have also tryied to migrate it from the WEB gui (from the apps-->setting-->Chose Pool--> Mark migrattions app pool), but now I have two datasets ix-applications on both drivers, and I can´t delete any of them.
Also, If I try to returno to the orinal Dataset:
"Error: [EINVAL] kubernetes_update.migrate_applications: Migration of 'HDD02/ix-applications' to 'ssd01' not possible as ssd01/ix-applications already exists."
 

grone

Dabbler
Joined
Jul 14, 2022
Messages
18
I've got the same problem. Won't let me move back to the original pool - it says the folder already exists. But it will let me select that pool without moving the applications. But then when I reboot it forgets which applications are installed.
 

pabloalcantara

Dabbler
Joined
Feb 21, 2022
Messages
29
My solution:
Use only the docker-compose (truecharts) with portainer in it.
And inside portainer, I use my old and very friendly docker-compose.yaml. So I take back all the functions, flexibility and easy that docker-compose permits that truenas remove.
For my luck, I used docker-compose before migrating to truenas, só it was an "easy migration", because all my domposer files was nerarly OK
 

Daisuke

Contributor
Joined
Jun 23, 2011
Messages
1,038
I can transfer through GUI the ix-applications dataset from a 12 SATA disks pool to a 2 SSDs pool and back, without issues. I don't keep my pools encrypted, for performance gains. In the past I had a hard time removing the encryption, never gain. I would open a support ticket and report the issue. NVMe's are pretty finicky, that is why I decided to go with SSDs for the dedicated software pool. I run there all TrueCharts applications.

1664168286399.png
 
Last edited:

radomirpolach

Explorer
Joined
Feb 13, 2022
Messages
71
I can transfer through GUI the ix-applications dataset from a 12 SATA disks pool to a 2 SSDs pool and back, without issues. I don't keep my pools encrypted, for performance gains. In the past I had a hard time removing the encryption, never gain. I would open a support ticket and report the issue. NVMe's are pretty finicky, that is why I decided to go with SSDs for the dedicated software pool. I run there all TrueCharts applications.

View attachment 58719
It works without encryption. The issue is that data store has encryption key from original pool and it isn't unlocked by inheritance. I think that when moving datastore to a different drive, it should be decrypted if the drive is unencrypted or re-encrypted if the drive is encrypted.

I see no issue with encryption otherwise.
 

radomirpolach

Explorer
Joined
Feb 13, 2022
Messages
71
The solution may be actually simple:

Code:
sudo zfs load-key storage_name/ix-applications # loads the original key
sudo zfs change-key -i storage_name/ix-applications # changes key to parent


You can do it while the datastore is being transferred.
 
Top