A resource set is a group of resources of the same family (ip, disk, share, fs, app; task, sync).
A default resource set per family is implicitely created. These default resource sets start their resources serially.
A resource can join a custom resourceset by setting :kw:
subset to the name of a custom resource set.
For example a disk resource setting
subset = g1 joins the resource to a subset named
Administrator may want to configure resource sets for the following reasons:
- Alter the default resources ordering
- Define a group of resources to start and stop in parallel instead of serially
- Apply machine resources capping to a group of resources
Resource Sets and Subsets Names¶
The same subset name can be set for resources of different driver families.
The resulting resource sets name do not conflict, being formatted as
[disk#01] subset = g1 ... [fs#01] subset = g1 ... [subset#disk:g1] ... [subset#fs:g1] ...
Resource Sets Ordering¶
On ascending actions, the resources are strictly activated in this order:
- sync resources that handle disks: netapp, dcsckpt, nexenta, symclone, symsnap, symsrdfs, hp3par, ibmdssnap
When custom resource sets are defined in a driver family, those are ordered with a alphanumeric sort of the resource sets names.
All resources families resource sets, except the
fs resource sets, order their resources with a alphanumeric sort of the resource ids,
- Ascending on start, provision, run and sync actions
- Descending on stop, unprovision and shutdown actions
fs resource sets sort their resources by mount point, so filesystems are always mounted from shallowest to deepest.
For filesystems mounted in the same parent directory, the ordering falls back to the usual alphanumeric sort on resource id.
This policy avoids administrator causing resource ordering errors due to the fs resources id choices.
Serial or parallel actions¶
A resource set can be configured for parallel execution of actions on its resources with:
[subset#disk:g1] parallel = true
Resource caps can be set at the resource set level using the same syntax than at the resource level:
[subset#app:g1] pg_cpu_quota = -1 pg_cpus = 1-2 pg_mem_limit = 400MB pg_mem_oom_control = 1