Pool Rebalance - cniackz/public GitHub Wiki

Objective:

Test pool rebalance

Steps:

  1. Create a cluster with node port
createcluster nodeport
  1. install operator with node port:
installoperator nodeport
  1. Install tenant with node port:
installtenant nodeport
  1. Expand to two pools in the UI with same size

  2. Delete all the claims and then all the pods and affinity rules in case they can't schedule. The idea is to have all pods running for the test.

  3. Once all pods are running on each pool, rebalance the pools and record the results.

  4. Expose the service minio via node port

  5. then create the alias:

mc alias set myminio https://localhost:30081 minio minio123 --insecure
  1. start the rebalance:
mc admin rebalance start myminio --insecure

Expected:

$ mc admin rebalance start myminio --insecure
Rebalance started for myminio
  1. Check the status:
mc admin rebalance status myminio --insecure

Expected:

$ mc admin rebalance status myminio --insecure
Per-pool usage:
┌────────┬────────┐
│ Pool-0 │ Pool-1 │
│ 0.15%  │ 0.15%  │
└────────┴────────┘
Summary: 
Data: 0 B (0 objects, 0 versions) 
Time: 0s (0s to completion)

As more objects are added, I can see the percentage being increased and being balanced:

Per-pool usage:
┌────────┬────────┐
│ Pool-0 │ Pool-1 │
│ 0.21%  │ 0.21%  │
└────────┴────────┘
┌────────┬────────┐
│ Pool-0 │ Pool-1 │
│ 0.26%  │ 0.26%  │
└────────┴────────┘
┌────────┬────────┐
│ Pool-0 │ Pool-1 │
│ 0.31%  │ 0.31%  │
└────────┴────────┘

Tested in minio version:

$ mc --version
mc version RELEASE.2024-01-28T16-23-14Z (commit-id=ba9fc6a3075df6d8a413cc7e423645706aaefae1)
Runtime: go1.21.6 darwin/arm64
Copyright (c) 2015-2024 MinIO, Inc.
License GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>

Conclusion:

  • Mon Jan 29 2024, pool rebalance is working to me.