Affinities

This section describes StorNext’s “stripe group affinity” feature, and also provides some common use cases.

Term Definition
Stripe Group

A collection of LUNs (typically disks or arrays) across which data is striped. Each stripe group also has a number of associated attributes, including affinity and exclusivity.

Affinity

Used to steer the allocation of a file’s data onto a set of stripe groups. Affinities are referenced by their name, which may be up to eight characters long. An affinity may be assigned to a set of stripe groups, representing a named pool of space, and to a file or directory, representing the logical point in the file system and directing the storage to use the designated pool. Each stripe group can have zero, one, or more affinities, and a file or directory can have zero or one affinities associated with it. The default behavior is for stripe groups and files to have no affinities.

Exclusivity

Defines a stripe group that has one or more affinities and the exclusive attribute set to true, and can have its space allocated only by files with one of the associated affinities. Files without a matching affinity or with no affinity cannot allocate space from an exclusive stripe group.

Files with an affinity, exclusive or not, cannot be stored on stripe groups without that affinity. If all the stripe groups for an affinity become filled, no more files with said affinity can be stored, even if there are stripe groups with no affinity at all. This is independent of exclusivity.

Files with no affinity can be stored on stripe groups with affinities and available space without the exclusive=true attribute or on stripe groups with no affinities at all.

Turning on exclusivity can cause allocation failures for files with no affinity when there is space left on a stripe group. It does not affect allocation failures for files with an affinity, except indirectly by keeping the non-affinity files out of the way and thereby reserving the space just for affinity allocations.

Affinities for stripe groups are defined in the file system configuration file. A stripe group may have multiple affinities, and an affinity may be assigned to multiple stripe groups.