I hit my daily 20-post newbie limit yesterday, and I just want to give a huge shoutout to @winnielinnie for stepping up and helping me outside of the thread—your support was incredibly helpful! And I was able to resolve this issue!!!
For anyone encountering a similar issue, here’s a summary of the steps I took to resolve it:
The root of the problem was that I had data and directories stored directly on the root of the pool, rather than inside a dedicated dataset. TrueNas Scale does not expect this and strange things can happen as a result.
How to Check for This Issue
You can verify whether you have data on the pool root (outside of datasets) using the following commands:
zfs list -t filesystem -o name -d1 <Pool>
ls -l /mnt/<Pool>
If the ls command lists more directories than zfs list, those extra directories may be stored on the pool root without a dataset.
Steps to Resolve
In the TrueNAS Web UI:
- Disable all apps and services except for SSH.
Unmount all datasets:
zfs umount <Pool>/<Dataset>
Create new datasets:
Creating all new datasets could have helped old permissions issues as well
-
In the UI, recreate all existing datasets with _old suffixes (e.g., Media_old).
-
Also create datasets for any directories that previously did not have one.
Verify data structure:
-
Use an FTP or SSH client to inspect the contents of both the existing and _old folders.
-
Make sure there are no naming conflicts.
If there are conflicts, compare files manually to determine which versions to keep.
Copy data to new datasets:
cp -a --sparse=never /mnt/<Pool>/<Dataset>/* /mnt/<Pool>/<Dataset>_old/
Verify copied data:
Compare sizes to ensure everything copied correctly:
du -hs --apparent-size /mnt/<Pool>/<Dataset>*
Manually verify a few important files to make sure they are intact.
Clean up and rename:
-
After verifying the data in _old datasets:
-
Delete the original (non-_old) directories.
-
Rename the _old datasets to remove the _old suffix:
zfs rename <Pool>/<Dataset>_old <Pool>/<Dataset>
Reboot your server
Check to ensure all datasets are showing up correctly.
-
Final Note
@Winnielinnie, please feel free to correct anything I may have misunderstood or misrepresented here. I’m just sharing my experience in the hopes it helps someone else!