Deployment and Management

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:

Single-Node Single-Drive (SNSD)

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:

  • Versioning

  • 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.

Single-Node Multi-Drive (SNMD)

A single MinIO server with four or more storage volumes. SNMD deployments provide drive-level reliability and failover only.

Multi-Node Multi-Drive (MNMD or “Distributed”)

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:

Platform Support

MinIO provides builds of the MinIO server (minio) and the MinIO CLI (mc) for the following platforms.

Linux

MinIO recommends RHEL8+ or Ubuntu 18.04+.

MinIO provides builds for the following architectures:

  • AMD64

  • ARM64

  • PowerPC 64 LE

  • S390X

macOS

MinIO recommends non-EOL macOS versions (10.14+).

Microsoft Windows

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 hello@min.io 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.

Pre-Existing Data

Standalone Deployments

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.

Important

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.

Distributed Deployments

Once you start a standalone server, you can create or delete buckets and objects either with MinIO Console, the mc client, or directly in the file system.

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.

Instead, use the MinIO Client, the MinIO Console, or one of the MinIO Software Development Kits to work with the buckets and objects for distributed deployments.