MinIO is a software-defined high performance distributed object storage server. You can run MinIO on consumer or enterprise-grade hardware and a variety of operating systems and architectures.
MinIO supports three deployment topologies:
A single MinIO server with a single storage volume or folder. SNSD deployments are best suited for evaluation and initial development of applications using MinIO for object storage. This topology was previously referred to as Standalone Mode.
Starting with RELEASE.2022-06-02T02-11-04Z, SNSD deployments implement a zero-parity erasure coding backend and include support for the following erasure-coding dependent features:
Object Locking / Retention
This topology is incompatible with the older filesystem-style behavior where MinIO acted as a simple S3 API layer while allowing POSIX-style access to managed files.
A single MinIO server with four or more storage volumes. SNMD deployments provide drive-level reliability and failover only.
Multiple MinIO servers with at least four drives across all servers. The distributed MNMD topology supports production-grade object storage with drive and node-level availability and resiliency.
For tutorials on deploying or expanding a distributed MinIO deployment, see:
For instructions on deploying MinIO in Kubernetes, see Deploy a MinIO Tenant using the MinIO Kubernetes Plugin
For tutorials on deploying a standalone MinIO deployment, see:
MinIO recommends RHEL8+ or Ubuntu 18.04+.
MinIO provides builds for the following architectures:
MinIO recommends non-EOL macOS versions (10.14+).
MinIO recommends non-EOL Windows versions (Windows 10, Windows Server 2016+). Support for running distributed MinIO deployments is experimental on Windows OS.
For unlisted platforms or architectures, please reach out to MinIO at firstname.lastname@example.org for additional support and guidance. You can build MinIO from source and cross-compile for your platform and architecture combo. MinIO generally does not recommend source-based installations in production environments.
When deploying a new MinIO server instance, you can choose a storage location that contains existing data only for standlone deployments. For standalone deployments, MinIO adds the existing data as buckets and objects as part of starting the server.
Files at the root of the starting path do not display in MinIO. Existing data must be in folders in the starting path. Top level folders become MinIO buckets.
For a distributed MinIO deployment, the starting path must be empty.
Once you start a distributed server, MinIO does not support manipulating the data directly on the storage location outside of the S3 API. Manipulating files directly on the storage locations can result in data corruption or data loss.
For example, you cannot navigate to the storage location using a file explorer program and add or remove files.