MinIO/Data Volume?

Working on migrating from Core to Scale.

In all the docs, it references checking the box to “enable host path for Minio Data volume.” I don’t have this box. Has it been renamed?
Ex: MinIO | TrueNAS Documentation Hub
(Migrating MinIO Data from CORE to SCALE | TrueNAS Documentation Hub)

My storage configuration section looks like this:

Do I just leave the default mount point and pick my data directory? How about selecting directories for postgres stuff?

Thanks for any help :slight_smile:

Running Scale Dragonfish-24.04.0
I see MinIO helm chart version 2.0.6, app version 2023-03-13

When I put in the new dataset under Host Path, it won’t start:
image

Starts fine if I leave it at ixVolume, but that doesn’t seem ideal.

The “host path validation” option has been disabled and removed by default.

Was that dataset created under CORE? If so then it’s probably a permissions issue. The dataset needs to have the user and group “Apps” to have access IIRC.

2 Likes

Thanks Victor!

This is a totally brand new dataset. I didn’t follow pre-upgrade steps in MinIO process for the transition from CORE to SCALE, so I was going to start fresh, and then re-upload all my data to the new container- I only have four buckets and four users, and about 800 gb of data in Minio, so it didn’t sound too painful to just start from scratch.

I did get it to start by changing the owner & group of the new dataset to apps. I had picked the “Apps” dataset preset when creating the new dataset, but the owner/group was still root. I could see the app user in the ACLs, but it seems to want the app user to be the owner.

Still not sure where to configure the postgres location.

Ah, I found that if I check the box to enable the Log Search API, I get the expected Postgres settings:

1 Like

Glad you got it figured out @brywhi! We’ll work on updating those screenshots and getting a little more detail for that step in the CORE to SCALE guide.

2 Likes

When you created the dataset, did you choose the share type to be “Apps”?

Not sure if that’s the issue, but you could try that.

EDIT: Just read your post again. Looks like you got it.

1 Like

Yep, I did set it to apps, but minio didn’t like it until I changed the owner & group to apps too under ACLs.

Thanks for your help!

I noticed that minio application metadata is saying:

However, there is no such thing as UID 473 by default.

the userid and groupid of the user “apps” is 568 by default.
at least it is on my system which has upgraded in place from core to scale. and then through each version of scale.

Also, for some reason it requires execute permissions for its storage location or it will not work. read/write is insufficient.

I had momentarily managed to make it run (for testing purposes) by disabling ACL in zfs dataset and setting permissions to 777.
but as I fiddled with it, it broke again and I couldn’t get it to work again that way.

I did however manage to get it to run by creating a new user and group with name “minio” and ID’s “473”. disabling ACL in ZFS. assigning the dataset ownership and group to 473 (minio) and setting permissions to 770

trying to disable execute will cause it to fail. it has to have execute permission on its data storage, for some reason.

but overall this seems to be a problem with the program itself where it is not configured to run as Apps user but instead demands its own personal user id.

also, configuring additional storage is useless. it only wants to use the main storage location.

If you use the Enable ACL option in the app install screen, you can add an ACL entry to the dataset for the container UID 473, even if that user does not actually exist on your TrueNAS system

This was the first thing I tried and I could not get it to work.
Instead the only solution I found was to disable ACL in the minio app setup, create a UID/GID 473 user/group called minio in host machine (name is irrelevant. the ID is what matters). and configure the dataset to be owned by UID/GID 473.

Also, in retrospect I believe this counts as a bug in minion and went ahead and reported it.
https://ixsystems.atlassian.net/browse/TNCHARTS-1515

I just read through your comment in the ticket then tested deploying Minio and was able to do so without issue by adding an ACL entry in the app install screen. I left everything else at defaults, except for adding a root user name and pw. I set up my storage and ACL like this:

The dataset was freshly created with Generic/Unix permissions and no ACL defined.

The app deployed quickly and I have UI access.