MinIO Distributed Cluster Architecture Cold cluster (HDD/SAN) + Hot cluster (SSD/NVMe) with HAProxy load balancer Client / Application S3-compatible API requests HAProxy Load Balancer Single HA endpoint · Round-robin + failover · Health checks Ports: 9000 (cold API) · 9001 (cold UI) · 9100 (hot API) · 9101 (hot UI) ❄️ cold cluster ports 9000 / 9001 ⚡ hot cluster ports 9100 / 9101 ❄️ Cold Cluster HDD / SAN storage · /mnt/san cold-node1 :9000 · :9001 minio-user · /mnt/san systemd · ufw allowed cold-node2 :9000 · :9001 minio-user · /mnt/san systemd · ufw allowed cold-node3 :9000 · :9001 minio-user · /mnt/san systemd · ufw allowed cold-node4 :9000 · :9001 minio-user · /mnt/san systemd · ufw allowed Erasure coding · survive 1–2 node failures HAProxy → GET /minio/health/live 💾 Storage layer HDD · SAN · NFS (testing only) Separate disk per node — never root disk Archives · Backups · Compliance Cost-optimised · Infrequent access /etc/default/minio · MINIO_SERVER_URL=haproxy:9000 ⚡ Hot Cluster SSD / NVMe storage · /mnt/ssd hot-node1 :9000 · :9001 minio-user · /mnt/ssd systemd · ufw allowed hot-node2 :9000 · :9001 minio-user · /mnt/ssd systemd · ufw allowed hot-node3 :9000 · :9001 minio-user · /mnt/ssd systemd · ufw allowed hot-node4 :9000 · :9001 minio-user · /mnt/ssd systemd · ufw allowed Erasure coding · survive 1–2 node failures HAProxy → GET /minio/health/live ⚡ Storage layer SSD · NVMe Separate disk per node — never root disk Low-latency · High-throughput apps Performance-optimised · Frequent access /etc/default/minio · MINIO_SERVER_URL=haproxy:9100 Access endpoints via HAProxy ❄️ API → haproxy:9000 ❄️ UI → haproxy:9001 ⚡ API → haproxy:9100 ⚡ UI → haproxy:9101 9 servers total: 4 cold nodes + 4 hot nodes + 1 HAProxy Data HA via erasure coding · Access HA via HAProxy round-robin Automatic failover · Health-checked every request · Systemd managed Created by darin40 · MinIO Distributed Cluster Guide