2022-02-11 19:51:25 -05:00
# MinIO Server Limits Per Tenant
2023-05-05 23:04:52 -04:00
For optimal production setup MinIO recommends Linux kernel version 4.x and later.
2016-12-20 17:42:13 -05:00
2022-02-11 19:51:25 -05:00
## Erasure Code (Multiple Drives / Servers)
2016-12-20 17:42:13 -05:00
2021-05-24 12:37:17 -04:00
| Item | Specification |
|:----------------------------------------------------------------|:--------------|
| Maximum number of servers per cluster | no-limit |
| Minimum number of servers | 02 |
2022-06-27 23:22:18 -04:00
| Minimum number of drives per server when server count is 1 | 02 |
| Minimum number of drives per server when server count is 2 or 3 | 01 |
2021-05-24 12:37:17 -04:00
| Minimum number of drives per server when server count is 4 | 01 |
| Maximum number of drives per server | no-limit |
| Read quorum | N/2 |
| Write quorum | N/2+1 |
2021-04-29 22:01:43 -04:00
2022-02-11 19:51:25 -05:00
## Limits of S3 API
2016-12-20 17:42:13 -05:00
2023-08-04 13:40:21 -04:00
| Item | Specification |
|:--------------------------------------------------------------------------------|:--------------------------------------------------------------------------------|
2023-12-27 16:52:19 -05:00
| Maximum number of buckets | unlimited (we recommend not beyond 500000 buckets) - see NOTE: |
2023-08-04 13:40:21 -04:00
| Maximum number of objects per bucket | no-limit |
| Maximum object size | 50 TiB |
| Minimum object size | 0 B |
| Maximum object size per PUT operation | 5 TiB |
| Maximum number of parts per upload | 10,000 |
| Part size range | 5 MiB to 5 TiB. Last part can be 0 B to 5 TiB |
| Maximum number of parts returned per list parts request | 10000 |
| Maximum number of objects returned per list objects request | 1000 |
| Maximum number of multipart uploads returned per list multipart uploads request | 1000 |
| Maximum length for bucket names | 63 |
| Maximum length for object names | 1024 |
| Maximum length for '/' separated object name segment | 255 |
| Maximum number of versions per object | 10000 (can be configured to higher values but we do not recommend beyond 10000) |
2016-12-20 17:42:13 -05:00
2023-12-27 16:52:19 -05:00
> NOTE: While MinIO does not implement an upper boundary on buckets, your cluster's hardware has natural limits that depend on the workload and its scaling patterns. We strongly recommend [MinIO SUBNET](https://min.io/pricing) for architecture and sizing guidance for your production use case.
2022-02-11 19:51:25 -05:00
## List of Amazon S3 API's not supported on MinIO
2023-05-05 23:04:52 -04:00
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 consider opening a [GitHub issue ](https://github.com/minio/minio/issues ) with relevant details on why MinIO must implement them.
2017-02-10 02:26:44 -05:00
2022-02-11 19:51:25 -05:00
### List of Amazon S3 Bucket API's not supported on MinIO
2016-12-20 17:42:13 -05:00
2022-09-29 00:28:45 -04:00
- BucketACL (Use [bucket policies ](https://min.io/docs/minio/linux/administration/identity-access-management/policy-based-access-control.html ) instead)
2023-05-05 23:04:52 -04:00
- BucketCORS (CORS enabled by default on all buckets for all HTTP verbs, you can optionally restrict the CORS domains)
2020-12-31 12:44:07 -05:00
- BucketWebsite (Use [`caddy` ](https://github.com/caddyserver/caddy ) or [`nginx` ](https://www.nginx.com/resources/wiki/ ))
2022-09-29 00:28:45 -04:00
- BucketAnalytics, BucketMetrics, BucketLogging (Use [bucket notification ](https://min.io/docs/minio/linux/administration/monitoring/bucket-notifications.html ) APIs)
2016-12-20 17:42:13 -05:00
2022-02-11 19:51:25 -05:00
### List of Amazon S3 Object API's not supported on MinIO
2016-12-20 17:42:13 -05:00
2022-09-29 00:28:45 -04:00
- ObjectACL (Use [bucket policies ](https://min.io/docs/minio/linux/administration/identity-access-management/policy-based-access-control.html ) instead)
2018-02-03 09:27:40 -05:00
2022-02-11 19:51:25 -05:00
## Object name restrictions on MinIO
2021-05-24 12:37:17 -04:00
2024-01-18 02:03:17 -05:00
- Object name restrictions on MinIO are governed by OS and filesystem limitations. For example object names that contain characters `^*|\/&";` are unsupported on Windows platform or any other file systems that do not support filenames with special characters.
2022-09-09 06:06:34 -04:00
2023-05-05 23:04:52 -04:00
> **This list is non exhaustive, it depends on the operating system and filesystem under use - please consult your operating system vendor for a more comprehensive list of special characters**.
2022-09-09 06:06:34 -04:00
2023-05-05 23:04:52 -04:00
MinIO recommends using Linux operating system for production workloads.
2022-09-09 06:06:34 -04:00
- Objects must not have conflicting objects as parent objects, applications using this behavior should change their behavior and use non-conflicting unique keys, for example situations such as following conflicting key patterns are not supported.
2021-08-03 16:26:57 -04:00
```
PUT < bucketname > /a/b/1.txt
PUT < bucketname > /a/b
```
```
PUT < bucketname > /a/b
PUT < bucketname > /a/b/1.txt
```