Within OneFS, data tiering falls under the purview of SmartPools, and snapshot tiering is no different. SmartPools file pool policies can be crafted to identify logical groups of files (or file pools) and storage operations can be specified and applied to these files.

 

Be aware that a SmartPools license must be activated before creating file pool policies, and SmartPools or higher administrative privilege is required for configuration.

 

File pool policies have two components:

 

  1. File-matching criteria that define a file pool
  2. Actions to be applied to the file pool

 

File pools can be defined based on characteristics such as file type, size, path, birth, change, access timestamps, etc. These criteria can then be combined with Boolean operators (ie. AND, OR). In addition to file-matching criteria, a variety of actions can be applied to the file pool, including:

 

  • Identifying data and snapshot storage tiers
  • Defining data and snapshot SSD strategies
  • Enabling or disabling SmartCache
  • Setting requested protection and data-access optimization parameters

 

The Snapshot Storage Target setting is applied to each file version by SmartPools. When a snapshot is taken (ie. on copy on write), the pool setting is simply preserved. This means that the snapshot will initially be written to the default data pool and then moved. The SmartPools job subsequently finds the snapshot version and moves it to desired pool or tier during the next scheduled SmartPools job run.

 

To configure the Snapshot Storage Target setting from the WebUI, browse to Storage Pools > File Pool Policies > Edit Default Policy Details. For example, the following will configure SmartPools to store snapshots on the cluster’s ‘archive’ tier:

 

snapshot_tiering_1.png

 

The same can be achieved from the CLI using the 'isi filepool modify' command. For example:

 

# isi filepool default-policy modify --snapshot-storage-target archive

 

In addition to the storage target, the preferred Snapshot SSD strategy can also be configured here. The available options are:

 

SSD Strategy

Description

Metadata

Place a copy of snapshot metadata on SSD for read acceleration

Metadata-write

Place all snapshot metadata on SSD for read & write acceleration

Data

Place all snapshot data and metadata on SSD

Avoid

No snapshot data or metadata on SSD

 

 

The following CLI command, for example, will place a mirror of the snapshot metadata on SSD, providing metadata read acceleration:

 

# isi filepool default-policy modify --snapshot-ssd-strategy metadata

 

Similarly, for regular files, SmartPools determines which node pool to write to based on one of two situations: If a file matches a file pool policy based on directory path, that file will be written into the Node Pool dictated by the File Pool policy immediately.  If that file matches a file pool policy which is based on any other criteria besides path name, SmartPools will write that file to the Node Pool with the most available capacity. If the file matches a file pool policy that places it on a different Node Pool than the highest capacity Node Pool, it will be moved when the next scheduled SmartPools job runs.


snapshot_tiering_3.png

 

Under the covers, when the SmartPools or FilePolicy job runs, it caches a policy on directories that it thinks will be applied to children of that directory.  When files are created they start out with that policy. At the next scheduled SmartPools job run, if a different policy matches from the configured file pool rules, it is applied at that time.