Load balancing MinIO Server
Useful resources
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.
deployment guide
MinIO Server Deployment Guide
Read deployment guidemanual
Administration manual v8
Read manualblogs
Load balancing: the driving force behind successful object storage
Read blogThings to keep in mind while choosing a load balancer for your object storage system
Read blogNAS vs Object Storage: what's best for unstructured data?
Read blogHow load balancing helps to store and protect petabytes of data
Read blogLoad balancing: The driving force behind successful object storage
Read blogwhite paper
The essential ingredient in successful object storage solutions
Read white paper