Load balancing MinIO Server

Updated on April 2, 2025
Published on March 7, 2023

About MinIO

MinIO is a high performance open source S3 compatible object storage system designed for hyper-scale private data infrastructure and can be installed on a wide range of industry standard hardware. Although it can run as a standalone server, it’s full power is unleashed when deployed as a cluster with multiple nodes – from 4 to 32 nodes and beyond using MinIO federation.

Key benefits of load balancing

Here are a few key benefits:

  • Guaranteed application uptime
  • Ensures a truly scalable environment to meet growing data demands
  • Enterprise-grade application delivery, security and visibility
  • Data is protected and accessible at all times

How to load balance MinIO

To create a MinIO cluster that can be load balanced, MinIO must be deployed in Distributed Erasure Code mode. This enables multiple disks across multiple nodes to be pooled into a single object storage server. Object data and parity is striped across all disks in all nodes. All objects can then be accessed from any node in the cluster.

Operating Mode

The load balancer is deployed at Layer 7. This mode offers high performance and requires no configuration changes to the load balanced MinIO Servers.

Timeouts

For MinIO Server, the load balancer’s client and server timeouts are set to 10 minutes.

Port Requirements

The following table shows the port(s) that are load balanced:

Port Protocols Use
9000 TCP MinIO communications

Note: Port 9000 is the default port for MinIO but this can be changed if required by modifying the node startup command – see the Deployment Guide more details.

SSL/TLS Termination

To enable secure communication, SSL/TLS is terminated on the load balancer.

Health Checks

As mentioned in the MinIO Monitoring Guide, MinIO includes 2 un-authenticated probe points that can be used to determine the state of each
MinIO node. In this guide, the heath checks are configured to read the readiness probe /minio/health/ready

Note: The load balancer can be deployed as a single unit, although Loadbalancer.org recommends a clustered pair for resilience & high availability. Please refer to section 1 in the Deployment Guide’s appendix for more details on configuring a clustered pair.