Subscribe

ResourcePool OverCommitment and Aggr Thresholds.

In this post we will discuss about the interplay between Aggr thresholds and Resource Pool Thresholds. Esp the overcommitment ones.

By default following are the threshold and the corresponding value for an aggr.

C:\>dfm aggr get -q 178

aggregate=fas-sim-2:ROOT_aggr

aggrFullThreshold=90

aggrNearlyFullThreshold=80

aggrFullThresholdInterval=00:00:00

aggrOvercommittedThreshold=100

aggrNearlyOvercommittedThreshold=95

aggrSnapshotNearlyFullThreshold=80

aggrSnapshotFullThreshold=90

aggrNearlyOverDeduplicatedThreshold=140

aggrOverDeduplicatedThreshold=150

C:\>

Now when an Resource pool is created with the above aggr and overcommitment thresholds are enabled as below

Lets see the impact on aggr thresholds.

C:\>dfm aggr get -q 178

aggregate=fas-sim-2:ROOT_aggr

aggrFullThreshold=90

aggrNearlyFullThreshold=80

aggrFullThresholdInterval=00:00:00

aggrOvercommittedThreshold=400

aggrNearlyOvercommittedThreshold=300

aggrSnapshotNearlyFullThreshold=80

aggrSnapshotFullThreshold=90

aggrNearlyOverDeduplicatedThreshold=140

aggrOverDeduplicatedThreshold=150

C:\>

Now I changed my aggr's aggrOvercommittedThreshold=150 and then add it to a respool and enable respool "Aggregate OverCommitment Threholds"

C:\>dfm aggr set 178 aggrNearlyOvercommittedThreshold=150

Changed aggregate nearly overcommitted threshold (%) for aggregate fas-sim-2:ROOT_aggr (178) to 150.

C:\>dfm aggr get -q 178

aggregate=fas-sim-2:ROOT_aggr

aggrFullThreshold=90

aggrNearlyFullThreshold=80

aggrFullThresholdInterval=00:00:00

aggrOvercommittedThreshold=100

aggrNearlyOvercommittedThreshold=150

aggrSnapshotNearlyFullThreshold=80

aggrSnapshotFullThreshold=90

aggrNearlyOverDeduplicatedThreshold=140

aggrOverDeduplicatedThreshold=150

 

C:\>

C:\>dfm aggr get -q 178

aggregate=fas-sim-2:ROOT_aggr

aggrFullThreshold=90

aggrNearlyFullThreshold=80

aggrFullThresholdInterval=00:00:00

aggrOvercommittedThreshold=400

aggrNearlyOvercommittedThreshold=150

aggrSnapshotNearlyFullThreshold=80

aggrSnapshotFullThreshold=90

aggrNearlyOverDeduplicatedThreshold=140

aggrOverDeduplicatedThreshold=150

  C:\>

So when a resource pool is created and Aggregate OverCommitment Threholds are enabled, all aggr in the respool derive the new value for the NearlyOvercommitted and OverCommitted threshold from resource pool. But if the aggr NearlyOvercommitted or OverCommitted threshold are changed for the given aggr  from global default before or after the respool "Aggregate OverCommitment Threholds", then still the aggr NearlyOvercommitted or OverCommitted threshold of the aggr takes precedence than the value of  respool "Aggregate OverCommitment Threholds" untill the aggr threshold are reverted to global defaults.

Regards

adai

Re: ResourcePool OverCommitment and Aggr Thresholds.

Hi Adai,

Can you please confirm the order of priority for these values and use cases below ?

  • Global values take effect if we leave the check-box un-ticked in the resource pool GUI (screen above)
    • Use case would be if we don't want to micro manage each resource pool thresholds individually
  • Resource pool thresholds take effect if we enter the values in the resource pool GUI (screen above) overriding the global values.
    • Use case would be if we want to have custom thresholds for aggregates that are part of that resource pool. In this case aggregates not part of the pool still rely on global values?
  • Aggr thresholds take effect if we set the values on the individual aggregate using "dfm aggr set .." overriding the global and resource pool values.
    • Use case would be if we want to have custom thresholds for aggregates within a resource pool (to exclude or include from the selection criteria) ?

Thanks

Modi

Re: ResourcePool OverCommitment and Aggr Thresholds.

Hi Modi,

            The priority is always for the individual aggr thresholds. Irrespective of the aggr overcommitment thresholds being modified before the aggr being added to respool or after being added to respool.When an aggr or a entire filer is added to the Resource pool all the constituent aggr get the overcommitment threshold from the respool if the "enable aggr overcommitment threshold" is checked. If the individual aggr threshold is meddled now that take precedence than the respool threshold that got set to 300 and 400 by default.

If the enable aggr overcommitment threshold" is NOT checked, then the default aggr overcommitment threshold of 90 and 100 are applied.

Now coming to you individual questions.

  • Global values take effect if we leave the check-box un-ticked in the resource pool GUI (screen above)
    • Use case would be if we don't want to micro manage each resource pool thresholds individually

Not really, if respool threshold is un-checked it leave the aggr over commitment thresholds @ 90 & 100 instead of 300 and 400.Leave it unchecked if you don't wish to overcommit the aggr to 300 or 400 %

  • Resource pool thresholds take effect if we enter the values in the resource pool GUI (screen above) overriding the global values.
    • Use case would be if we want to have custom thresholds for aggregates that are part of that resource pool. In this case aggregates not part of the pool still rely on global values?

Yes. Your absolutely correct.

  • Aggr thresholds take effect if we set the values on the individual aggregate using "dfm aggr set .." overriding the global and resource pool values.
    • Use case would be if we want to have custom thresholds for aggregates within a resource pool (to exclude or include from the selection criteria) ?

Exactly and perfect example as to when we would want to tweak the individual aggr threshold.

Regards

adai

Re: ResourcePool OverCommitment and Aggr Thresholds.

Adai,

Great information.  I have a question about the last example in your response where each aggregate in a resouce pool has its own unique over-committment thresholds.  If I understand correctly, Provisioning Manager honors the over-committment threshold and will not allow any further provisioning once that threshold is reached. What happens when a resouce pool contains multiple aggregates and only one of the aggregates has reached the over-committed threshold?  Does Prov. Mgr. continue to provision from the resource pool, but just not from that one particular aggregate?

Thanks.

Reid

Re: ResourcePool OverCommitment and Aggr Thresholds.

Hi Reid,

     Your understand is correct. Also, we are soon publishing the resource selection algorithm and  how it works. Which will help you even more.

Regards

adai