Expand an AIStor Deployment on Linux
The following procedure adds a server pool to an existing AIStor cluster running on baremetal infrastructure. Each pool expands the total available storage capacity of the cluster while maintaining the overall availability of the cluster.
A new pool is a set of new nodes and drives that meet the cluster’s erasure set requirements and parity levels.
You can use MinIO’s Erasure Code Calculator to check the Erasure Code Stripe Size (K+M) of your new pool to confirm that it meets the EC:M
value of current cluster.
MinIO strongly recommends seeking an architecture review from MinIO Engineering through SUBNET to analyze potential performance impacts before committing to a new pool for your cluster.
All commands provided below use example values. Replace these values with those appropriate for your cluster.
-
Deploy AIStor on new hardware
Follow the installation guide to install AIStor onto the new hardware.
Do not start the new cluster - stop at the step Review the environment file
-
Update the cluster topology
AIStor uses the
MINIO_VOLUMES
environment variable for determining the cluster topology.When adding a new pool, append the new set of hostnames and volumes to the existing set. For example, consider the following
MINIO_VOLUMES
describing a single-pool consisting of 16 nodes and 16 drives:MINIO_VOLUMES="https://minio-{1...16}.example.net:9000/mnt/drive-{1...16}/minio"
To expand that topology with another 16x16 cluster, append the new set of hosts to the existing value:
MINIO_VOLUMES="https://minio-{1...16}.example.net:9000/mnt/drive-{1...16}/minio https://minio-{17...32}.example.net:9000/mnt/drive-{1...16}/minio""
You must include the protocol
http[s]://
for each new pool. All pools should have matching protocols.Make this change to all hosts in the AIStor cluster, including the existing pools. The environment files should match across all nodes. Use
shasum
or a similar utility to validate that all contents match. -
Initialize the new cluster topology
You must simultaneously
- Restart the existing AIStor cluster and
- Start the new AIStor server nodes
For the existing nodes, you can use the
mc admin service restart
command to restart all nodes at once. For the new nodes, usesystemctl start minio
on all nodes in parallel using your preferred shell tooling. -
Monitor the cluster’s status
Use the
mc admin info
command andjournalctl -u minio
system utility to monitor status and logging across the cluster. While the nodes come online and synchronize, the system logs may showcase increased churn through warnings and errors. -
Next steps
After validating cluster health and expanded storage, you can update any load balancers, reverse proxies, or other network management tools with the new hostnames of the added server pool. This ensures that incoming connections balance appropriately across the expanded topology.