While enabling the Application function, it automatically sets the mountpoint for ix-apps to /mnt/mnt/.ix-apps, causing an error that says:
Application(s) have failed to start: [EFAULT] 'Storage/ix-apps' dataset is not mounted on '/mnt/.ix-apps'
So I changed the mountpoint in CLI using the commands below:
zfs set mountpoint=/mnt/.ix-apps Storage/ix-apps
zfs set mountpoint=/mnt/Storage Storage
zpool export Storage
zpool import -d /dev/disk/by-id Storage
Now the Storage zpool is mounted at /mnt/Storage and the ix-apps dataset is mounted at /mnt/.ix-apps. But if I reboot the system, the zpool’s mountpoint will be reverted to /mnt/mnt/Storage and also the ix-apps.
I’m not sure this is an issue best solved by documentation as this
isn’t standard behavior, so I’m curious about how you got into this position. Can you say a bit more about the history of the pool and what you did before the error occurred?
I previously used Arch Linux as my NAS system, and the pool’s mountpoint was set to /mnt/Storage. After switching to TrueNAS, the mount point of the pool was set to /mnt/mnt/Storage by the -o altroot=/mnt option as pmh mentioned.
After importing the pool from the GUI, I then tried enabling the Application function, then TrueNAS automatically created a dataset called ix-apps; however, its mountpoint was set to /mnt/mnt/.ix-apps by default, presumably inherited from the pool, causing the error that says 'Storage/ix-apps' dataset is not mounted on '/mnt/.ix-apps'. I did the change mountpoint → export → import process in the CLI with the commands I mentioned above, then the Application function can be enabled successfully (until the system was rebooted).