Storage tiers

In Virtuozzo Hybrid Infrastructure terminology, tiers are disk groups that allow you to organize storage workloads based on your criteria. For example, you can use tiers to separate workloads produced by different tenants. Or you can have a tier of fast SSDs for service or virtual environment workloads and a tier of high-capacity HDDs for backup storage.

Manual data migration between tiers (default)

When required, you can manually migrate data from one tier to another. To start data migration, ensure that the target tier has enough free space, and then select the desired tier in the settings of the current storage policy.

Automatic data migration between tiers

Automatic data migration between tiers works in the inter-tier data allocation mode and is disabled by default. In this mode, data is automatically migrated to a lower tier if the current tier is full. To enable the inter-tier data allocation mode, use vstorage -c <cluster_name> set-config mds.alloc.strict_tier=0 command.

When assigning disks to tiers (which you can do at any time), have in mind that faster storage drives should be assigned to higher tiers. For example, you can use tier 0 for backups and other cold data (CS without SSD cache); tier 1 for virtual environments—a lot of cold data but fast random writes (CS with SSD cache); and tier 2 for hot data (CS on SSD), caches, specific disks, and such.

This recommendation is related to how Virtuozzo Hybrid Infrastructure works with storage space in the inter-tier data allocation mode. If a storage tier runs out of free space, Virtuozzo Hybrid Infrastructure will attempt to temporarily use the space of the lower tiers down to the lowest. If the lowest tier also becomes full, Virtuozzo Hybrid Infrastructure will attempt to use a higher one. If you add more storage to the original tier later, the data, temporarily stored elsewhere, will be moved to the tier where it should have been stored originally. For example, if you try to write data to tier 2 and it is full, Virtuozzo Hybrid Infrastructure will attempt to write that data to tier 1, then to tier 0. If you add more storage to tier 2 later, the aforementioned data, now stored on the tier 1 or 0, will be moved back to tier 2, where it was meant to be stored originally.