This PR implements an object layer which combines input erasure sets of XL layers into a unified namespace. This object layer extends the existing erasure coded implementation, it is assumed in this design that providing > 16 disks is a static configuration as well i.e if you started the setup with 32 disks with 4 sets 8 disks per pack then you would need to provide 4 sets always. Some design details and restrictions: - Objects are distributed using consistent ordering to a unique erasure coded layer. - Each pack has its own dsync so locks are synchronized properly at pack (erasure layer). - Each pack still has a maximum of 16 disks requirement, you can start with multiple such sets statically. - Static sets set of disks and cannot be changed, there is no elastic expansion allowed. - Static sets set of disks and cannot be changed, there is no elastic removal allowed. - ListObjects() across sets can be noticeably slower since List happens on all servers, and is merged at this sets layer. Fixes #5465 Fixes #5464 Fixes #5461 Fixes #5460 Fixes #5459 Fixes #5458 Fixes #5460 Fixes #5488 Fixes #5489 Fixes #5497 Fixes #5496
2.3 KiB
2.3 KiB
Minio Server Limits Per Tenant
Erasure Code (Multiple Drives / Servers)
| Item | Specification |
|---|---|
| Maximum number of servers | 32 |
| Minimum number of servers | 02 |
| Maximum number of drives per server | Unlimited |
| Read quorum | N/2 |
| Write quorum | N/2+1 |
Browser Access
| Item | Specification |
|---|---|
| Web browser upload size limit | 5GiB |
Limits of S3 API
| Item | Specification |
|---|---|
| Maximum number of buckets | no-limit |
| Maximum number of objects per bucket | no-limit |
| Maximum object size | 5 TiB |
| Minimum object size | 0 B |
| Maximum object size per PUT operation | 5 TiB |
| Maximum number of parts per upload | 10,000 |
| Part size | 5 MiB to 5 GiB. Last part can be 0 B to 5 GiB |
| Maximum number of parts returned per list parts request | 1000 |
| Maximum number of objects returned per list objects request | 1000 |
| Maximum number of multipart uploads returned per list multipart uploads request | 1000 |
We found the following APIs to be redundant or less useful outside of AWS S3. If you have a different view on any of the APIs we missed, please open a github issue.
List of Amazon S3 Bucket API's not supported on Minio.
- BucketACL (Use bucket policies instead)
- BucketCORS (CORS enabled by default on all buckets for all HTTP verbs)
- BucketLifecycle (Not required for Minio erasure coded backend)
- BucketReplication (Use
mc mirrorinstead) - BucketVersions, BucketVersioning (Use
s3git) - BucketWebsite (Use
caddyornginx) - BucketAnalytics, BucketMetrics, BucketLogging (Use bucket notification APIs)
- BucketRequestPayment
- BucketTagging
List of Amazon S3 Object API's not supported on Minio.
- ObjectACL (Use bucket policies instead)
- ObjectTorrent
- ObjectVersions
Object name restrictions on Minio.
Object names that contain characters `^*|" are unsupported on Windows and other file systems which do not support filenames with these characters.