MinIO Clusters in TrueNAS SCALE

How to deploy MinIO Clusters in TrueNAS SCALE.

  2 minute read

On TrueNAS SCALE 20.12-ALPHA and later, users can create a MinIO S3 distributed instance to scale out and handle individual TrueNAS node failures. In this example, we will be using four physical TrueNAS systems and creating a distributed cluster. For more information on MinIO distributed setups, please refer to their documentation.

Creating datasets

Before getting started, create a dataset or other shared directory on your storage pool to be used for the persistent MinIO data (e.g. “/mnt/tank/minio01”). Create datasets across all nodes in advance.

On your first node, go to Apps > Launch Docker Image.



First, enter an application name (we picked “minio-distributed”).

Enter “minio/minio” as the image name under Image Repository and select Kill existing pods before creating new ones under Update Strategy.



Now you need to configure your container arguments (args) to set up your cluster. Start by entering the “server” argument, and then follow it up with the IP address/hostnames of your various nodes. Keep in mind that the order is important and should be used across all the nodes identically. The IP/Hostname should be the valid address of your individual TrueNAS systems on the network. The /data path should be used and will be set up in the next steps.



Next, you will need to create Container Environment Variables and define your MINIO_ACCESS_KEY and MINIO_SECRET_KEY values. Make sure these are identical between nodes and fill the Environment Variable Value with proper random credentials.



In the Networking section, be sure to select Host Network, then click NEXT until you reach the Host Path Volumes section.



In the Host Path Volumes section, select the directory or dataset you created earlier and enter the /data directory under Mount Path, then click NEXT.



Confirm your options, then click SUBMIT to complete the first node.



Now that the first node is complete, you can create datasets for any remaining nodes.

Accessing your minio distributed setup

Once you’re done creating datasets, you can browse to any of the TrueNAS addresses at port :9000, where you will be greeted by the MinIO login screen. Log in with the Access/Secret keys you set up in the previous steps. You should now be able to access your MinIO distributed setup.