minio/docs/large-bucket
2018-03-14 15:22:17 -07:00
..
DESIGN.md Cleanup large bucket support documents (#5641) 2018-03-14 15:22:17 -07:00
README.md Cleanup large bucket support documents (#5641) 2018-03-14 15:22:17 -07:00

Large Bucket Support Quickstart Guide Slack Go Report Card Docker Pulls codecov

Minio erasure code limits the number of disks in a deployment to 16. This allows enough storage space for a single deployment to hold a tenant's data. However, there are use cases which may need larger number of disks/storage space upfront. Keeping this in consideration, we added large bucket support.

The feature is called large bucket as it allows a single bucket to expand over multiple erasure code deployment sets, without any special configuration.

With large bucket support, you can use more than 16 disks upfront while deploying the Minio server. Internally Minio creates multiple smaller erasure coded sets, and these sets are further combined into a single namespace. This document gives a brief introduction on how to get started with large bucket deployments. To explore further on advanced uses and limitations, refer to the design document.

Get started

If you're aware of distributed Minio setup, the installation and running remains the same. Only new addition to the syntax is a ... convention to abbreviate the directory arguments. Remote directories in a distributed setup are encoded as HTTP(s) URIs which can be similarly abbreviated as well.

1. Prerequisites

Install Minio - Minio Quickstart Guide.

2. Run Minio on many disks

To run Minio large bucket instances, you need to start multiple Minio servers pointing to the same disks. We'll see examples on how to do this in the following sections.

Note

  • All the nodes running distributed Minio need to have same access key and secret key. To achieve this, we export access key and secret key as environment variables on all the nodes before executing Minio server command.
  • The drive paths below are for demonstration purposes only, you need to replace these with the actual drive paths/folders.

Minio large bucket on Ubuntu 16.04 LTS server (standalone)

You'll need the path to the disks e.g. /export1, /export2 .... /export24. Then run the following commands on all the nodes you'd like to launch Minio.

export MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
minio server /export{1...24}

Minio large bucket on Ubuntu 16.04 LTS servers (distributed)

You'll need the path to the disks e.g. http://host1/export1, http://host2/export2 .... http://host4/export16. Then run the following commands on all the nodes you'd like to launch Minio.

export MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
minio server http://host{1...4}/export{1...16}

3. Test your setup

To test this setup, access the Minio server via browser or mc. Youll see the uploaded files are accessible from the all the Minio endpoints.

Explore Further