Tiering
Tiering
Volumes can have an upper (faster) tier that writes land on first, with StorONE evacuating cold data down to the base pool as the upper tier fills up. That per-volume tier is sized when you create or edit the volume. This chapter covers the other half of tiering: pool-wide tiering policies, which manage the upper tiers of every volume drawing from a given tier pool together, as a single capacity budget — and the suggestions those policies generate.
How a pool-wide policy relates to a volume's tier policy role
A tier pool is finite, and if every volume with an upper tier on that pool is sized generously, their combined upper-tier usage can exceed what the pool can actually hold. A tiering policy sets a maximum combined capacity for a tier pool, along with scoring weights StorONE uses to decide which volumes' upper tiers to shrink first when the pool is over budget, or to grow first when a volume is about to overflow its upper tier (bypassing it and writing straight to the lower tier, which hurts performance).
Whether a specific volume's upper tier is actually eligible to be resized by its pool's policy is controlled by that volume's own tier policy role — the --tierPolicyRole setting you saw in Volumes:
| Tier policy role | What the pool policy may do to this volume's tier |
|---|---|
NoSizeAdjustments |
Nothing — this volume's upper tier is left alone regardless of the pool policy. |
IncreaseSizeOnly |
Grow the tier (e.g. to relieve it when it's about to bypass), but never shrink it. |
AdjustSizeOnly |
Grow or shrink the tier size. |
AdjustSizeAndPinnedSize |
Grow or shrink both the tier size and its pinned size. |
In other words: the pool policy decides how much total capacity is available and who's the best candidate to adjust; the volume's own tier policy role decides whether, and how far, the policy is allowed to touch that particular volume.
A policy can run in one of two modes:
- Send proposals only — StorONE only notifies you and generates suggestions; nothing is changed automatically. Apply the suggestions yourself when you're ready (see below).
- Auto-adjust tiers — StorONE applies the size (and, depending on each volume's tier policy role, pinned size) adjustments automatically.
Creating a tier pool policy
Using the web interface
- Open Application Volumes > Tiering > Policies.
- Click Create.
- Under Tier selection, choose the Tier Pool to create the policy for.
- Under Capacity, set the Max Capacity — the maximum combined upper-tier capacity this pool may be used for.
- Choose whether the policy should only send proposals or automatically adjust tiers.
- Optionally, expand Optional Weights to change how much each factor counts toward deciding which volumes to adjust first: tier usage states, the read ratio between the lower and upper tiers, evacuation duration, and latency impact during evacuation. Each defaults to 25%, and all four must add up to 100%.
- Confirm to create the policy.
Using the CLI
applications tiers policies create --tierPool=<name> --maxCapacity=<capacity> --sendProposalsOnly|--autoAdjustTiers [(--tierUsageStatesWeight=<boundedPercentage> --lowerAndUpperTierReadsRatioWeight=<boundedPercentage> --evacuationDurationWeight=<boundedPercentage> --latencyImpactDuringEvacuationWeight=<boundedPercentage>)]
| Option | Description |
|---|---|
--tierPool=<name> |
The tier pool to create the policy for. |
--maxCapacity=<capacity> |
The maximum capacity this pool can use for auto-tiering. |
--sendProposalsOnly |
Only send recommendation notifications; do not automatically adjust the tiers on this pool. |
--autoAdjustTiers |
Automatically adjust the tiers on this pool based on recommendations. |
--tierUsageStatesWeight=<boundedPercentage> |
Weight given to the tier usage states. Default: 25%. |
--lowerAndUpperTierReadsRatioWeight=<boundedPercentage> |
Weight given to the read ratio between the lower and upper tiers. Default: 25%. |
--evacuationDurationWeight=<boundedPercentage> |
Weight given to the evacuation duration. Default: 25%. |
--latencyImpactDuringEvacuationWeight=<boundedPercentage> |
Weight given to the latency impact during evacuation. Default: 25%. |
The four weights, if you set any of them, must add up to 100%.
Examples
Create a hands-off policy on SSD-1 that only notifies you, capping combined upper-tier usage at 10 TB:
applications tiers policies create --tierPool SSD-1 --maxCapacity 10TB --sendProposalsOnly
Create a policy that automatically keeps SSD-1 within 10 TB, weighting evacuation duration more heavily than the defaults:
applications tiers policies create --tierPool SSD-1 --maxCapacity 10TB --autoAdjustTiers --tierUsageStatesWeight 0.20 --lowerAndUpperTierReadsRatioWeight 0.20 --evacuationDurationWeight 0.40 --latencyImpactDuringEvacuationWeight 0.20
Editing a tier pool policy
Using the web interface
- Open Application Volumes > Tiering > Policies.
- Select the policy and click Edit.
- Update the capacity, mode, and/or weights.
- Confirm the change.
Using the CLI
applications tiers policies edit --tierPool=<name> [--maxCapacity=<capacity>] [--sendProposalsOnly|--autoAdjustTiers] [(--tierUsageStatesWeight=<boundedPercentage> --lowerAndUpperTierReadsRatioWeight=<boundedPercentage> --evacuationDurationWeight=<boundedPercentage> --latencyImpactDuringEvacuationWeight=<boundedPercentage>)]
| Option | Description |
|---|---|
--tierPool=<name> |
The tier pool to edit the policy on. |
--maxCapacity=<capacity> |
The new maximum capacity this pool can use for auto-tiering. |
--sendProposalsOnly |
Only send recommendation notifications; do not automatically adjust the tiers on this pool. |
--autoAdjustTiers |
Automatically adjust the tiers on this pool based on recommendations. |
--tierUsageStatesWeight=<boundedPercentage> |
The new weight given to the tier usage states. Default: 25%. |
--lowerAndUpperTierReadsRatioWeight=<boundedPercentage> |
The new weight given to the read ratio between the lower and upper tiers. Default: 25%. |
--evacuationDurationWeight=<boundedPercentage> |
The new weight given to the evacuation duration. Default: 25%. |
--latencyImpactDuringEvacuationWeight=<boundedPercentage> |
The new weight given to the latency impact during evacuation. Default: 25%. |
Examples
Raise the cap on SSD-1 to 15 TB:
applications tiers policies edit --tierPool SSD-1 --maxCapacity 15TB
Switch SSD-1 from proposals-only to fully automatic:
applications tiers policies edit --tierPool SSD-1 --autoAdjustTiers
Listing tier pool policies
Using the web interface
Open Application Volumes > Tiering > Policies. The list shows each pool's max capacity, mode, and weights.
Using the CLI
applications tiers policies list
Example
applications tiers policies list
Deleting a tier pool policy
Using the web interface
- Open Application Volumes > Tiering > Policies.
- Select the policy and click Delete.
- Confirm the deletion.
Using the CLI
applications tiers policies delete --tierPool=<name> [--force]
| Option | Description |
|---|---|
--tierPool=<name> |
The tier pool to delete the policy from. |
--force |
Skip the confirmation prompt. |
Example
applications tiers policies delete --tierPool SSD-1
Reviewing and applying tier suggestions
When a policy is in "send proposals only" mode (or when an automatic adjustment is being throttled), StorONE generates a list of suggested per-volume upper-tier size adjustments for the pool instead of applying them. Review them and apply the ones you agree with.
Using the web interface
- Open Application Volumes > Tiering > Suggestions.
- Select the tier pool to view its current suggestions.
- Select one or more suggestions and click Apply.
Using the CLI
List the current suggestions for a pool:
applications tiers suggestions list --tierPool=<name>
| Option | Description |
|---|---|
--tierPool=<name> |
The tier pool to view suggestions for. |
Apply one or more suggestions by ID:
applications tiers suggestions apply --tierPool=<name> --recommendationIds=<numbers...> [--force]
| Option | Description |
|---|---|
--tierPool=<name> |
The tier pool the suggestions belong to. |
--recommendationIds=<numbers...> |
The IDs of the suggestions to apply. |
--force |
Skip the confirmation prompt. |
Examples
List the suggestions currently pending for SSD-1:
applications tiers suggestions list --tierPool SSD-1
Apply suggestions 1 and 2 for SSD-1:
applications tiers suggestions apply --tierPool SSD-1 --recommendationIds 1,2
See also: Volumes — configuring a volume's own upper tier and tier policy role.