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:
- File-matching criteria that define a file pool
- 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:
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:
Place a copy of snapshot metadata on SSD for read acceleration
Place all snapshot metadata on SSD for read & write acceleration
Place all snapshot data and metadata on SSD
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.
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.