You set the High and the Critical Threshold values. If the total capacity utilization (after taking care of spare capacity) is below the Critical Threshold, the rebalance automatically works. If it exceeds the critical threshold percentage, the rebalance stops. Please review [URL] for more information as to how this capacity is calculated.
ScaleIO needs to have spare capacity equal to one fault unit reserved in case a fault unit becomes unavailable.  This reserved capacity is well documented.  However, there doesn't seem to be any documentation (or perhaps I haven't searched hard enough) that indicates how much space should be reserved to allow ScaleIO to rebalance data across the storage pool.  For example, if we have five nodes (five fault units) each with 20 TiB of usable space, we would reserve 20 TiB to account for a node failure.  Assuming we allocate the remaining 80 TiB to hosts, we end up with no free space left.  In this case, if a node is rebooted or otherwise becomes unavailable, ScaleIO distributes the data using the spare capacity (20 TiB).  However when the failed node is brought back online, the data is not rebalanced using the capacity from the newly recovered node because ScaleIO has no buffer available to perform the rebalancing.  Is there any information about how much space is needed for ScaleIO to automatically rebalance data across newly available storage?  In the case of a VNX with auto-tiering, it needs 10% in each storage tier to allow FAST to work.  For ScaleIO is there a similar number / percentage that needs to be reserved?
Reserve capacity for ScaleIO rebalance