Documentation

Expand a MinIO Tenant

This procedure documents expanding the available storage capacity of an existing MinIO tenant by deploying an additional pool of MinIO pods in the Kubernetes infrastructure.

Prerequisites

MinIO Kubernetes Operator

This procedure on this page requires a valid installation of the MinIO Kubernetes Operator and assumes the local host has a matching installation of the MinIO Kubernetes Operator. This procedure assumes the latest stable Operator, version 5.0.15.

See Deploy the MinIO Operator for complete documentation on deploying the MinIO Operator.

Available Worker Nodes

MinIO deploys additional minio server pods as part of the new Tenant pool. The Kubernetes cluster must have sufficient available worker nodes on which to schedule the new pods.

The MinIO Operator provides configurations for controlling pod affinity and anti-affinity to direct scheduling to specific workers.

Persistent Volumes

Exclusive access to drives

MinIO requires exclusive access to the drives or volumes provided for object storage. No other processes, software, scripts, or persons should perform any actions directly on the drives or volumes provided to MinIO or the objects or files MinIO places on them.

Unless directed by MinIO Engineering, do not use scripts or tools to directly modify, delete, or move any of the data shards, parity shards, or metadata files on the provided drives, including from one drive or node to another. Such operations are very likely to result in widespread corruption and data loss beyond MinIO’s ability to heal.

MinIO can use any Kubernetes Persistent Volume (PV) that supports the ReadWriteOnce access mode. MinIO’s consistency guarantees require the exclusive storage access that ReadWriteOnce provides.

For Kubernetes clusters where nodes have Direct Attached Storage, MinIO strongly recommends using the DirectPV CSI driver. DirectPV provides a distributed persistent volume manager that can discover, format, mount, schedule, and monitor drives across Kubernetes nodes. DirectPV addresses the limitations of manually provisioning and monitoring local persistent volumes.

Procedure (Operator Console)

The MinIO Operator Console supports expanding a MinIO Tenant by adding additional pools.

1) Expand the MinIO Tenant

  1. From the Operator Console view, select the Tenant to open the summary view, then select Pools. Select Expand Tenant.

  2. Specify the following information for the new pool:

    Field

    Description

    Number of Servers

    The number of servers to deploy in the new Tenant Pool across the Kubernetes cluster.

    Volume Size

    The capacity of each volume in the new Tenant Pool.

    Volumes per Server

    The number of volumes for each server in the new Tenant Pool.

    Storage Class

    Specify the Kubernetes Storage Class the Operator uses when generating Persistent Volume Claims for the Tenant.

  3. Select Create.

2) Validate the Expanded MinIO Tenant

In the Pools tab, select the new Pool to confirm its details.