mirror of
https://github.com/minio/minio.git
synced 2025-11-07 21:02:58 -05:00
Allow proper setCount SLAs across zones (#8752)
Fixes scenario where zones are appropriately handled, along with supporting overriding set count. The new fix also ensures that we handle the various setup types properly. Update documentation to properly indicate the behavior. Fixes #8750 Co-authored-by: Nitish Tiwari <nitish@minio.io>
This commit is contained in:
@@ -90,7 +90,7 @@ Input for the key is the object name specified in `PutObject()`, returns a uniqu
|
||||
|
||||
- MinIO also supports expansion of existing clusters in zones. Each zone is a self contained entity with same SLA's (read/write quorum) for each object as original cluster. By using the existing namespace for lookup validation MinIO ensures conflicting objects are not created. When no such object exists then MinIO simply uses the least used zone.
|
||||
|
||||
*There are no limits on how many zones can be combined*
|
||||
__There are no limits on how many zones can be combined__
|
||||
|
||||
```
|
||||
minio server http://host{1...32}/export{1...32} http://host{5...6}/export{1...8}
|
||||
@@ -103,7 +103,7 @@ In above example there are two zones
|
||||
|
||||
> Notice the requirement of common SLA here original cluster had 1024 drives with 16 drives per erasure set, second zone is expected to have a minimum of 16 drives to match the original cluster SLA or it should be in multiples of 16.
|
||||
|
||||
Following pseudo code returns the correct least used zone index to upload an object.
|
||||
MinIO places new objects in zones based on proportionate free space, per zone. Following pseudo code demonstrates this behavior.
|
||||
```go
|
||||
func getAvailableZoneIdx(ctx context.Context) int {
|
||||
zones := z.getZonesAvailableSpace(ctx)
|
||||
|
||||
Reference in New Issue
Block a user