Documentation

Software Checklist

Use the following checklist when planning the software configuration for a production, distributed MinIO deployment.

MinIO Pre-requisites

Servers running a Linux operating system with a 5.x+ kernel, such as Red Hat Enterprise Linux (RHEL) 9 or Ubuntu LTS 20.04+

A method to synchronize time servers across nodes, such as with ntp, timedatectl or timesyncd. The method to use varies by operating system. Check with your operating system’s documentation for how to synchronize time with a time server.

Disable system services that index, scan, or audit the filesystem, system-level calls, or kernel-level calls. These services can reduce performance due to resource contention or interception of MinIO operations.

MinIO strongly recommends uninstalling or disabling the following services on hosts running MinIO:

  • mlocate or plocate

  • updatedb

  • auditd

  • fstrim

  • Crowdstrike Falcon

  • Antivirus software (clamav)

The above list represents the most common services or softwares known to cause performance or behavioral issues with high performance systems like MinIO. Consider removing or disabling any other service or software which functions similarly to those listed above on MinIO hosts.

Alternatively, configure these services to ignore or exclude the MinIO Server process and all drives or drive paths accessed by MinIO.

System administrator access to the remote servers

A management tool for distributed systems, such as Ansible, Terraform, or Kubernetes for orchestrated environments. Kubernetes infrastructures should use the MinIO Operator for best results.

Load balancer to handle routing of requests (for example, NGINX)

Prometheus or a Prometheus-compatible setup for monitoring and metrics

Grafana configured for dashboards

(optional) mc installed on the local host system

MinIO Install

Install the MinIO server binary across all nodes, ensuring that each node uses the same version of that binary.

See the Deploy MinIO Operator and Minio Tenant deployment guide for more information.

Post Install Tasks

(optional) Create an mc alias for each server with mc alias set from your local machine for command line access to work with the MinIO deployment from a local machine

Configure Bucket replication to duplicate contents of a bucket to another bucket location

Configure Site replication to synchronize contents of multiple dispersed data center locations

Configure Object retention rules with lifecycle management to manage when objects should expire

Configure Object storage level rules with tiering to move objects between hot, warm, and cold storage and maximize storage cost efficiencies

Exclusive access to drives

MinIO requires exclusive access to the drives or volumes provided for object storage. No other processes, software, scripts, or persons should perform any actions directly on the drives or volumes provided to MinIO or the objects or files MinIO places on them.

Unless directed by MinIO Engineering, do not use scripts or tools to directly modify, delete, or move any of the data shards, parity shards, or metadata files on the provided drives, including from one drive or node to another. Such operations are very likely to result in widespread corruption and data loss beyond MinIO’s ability to heal.

3rd Party Identity Provider Tasks

Authenticate to MinIO with Security Token Service (STS)
Enabling this requires MinIO support.