Search the docs

Objectives Cookbook

Copy-ready objective sets for common GFS patterns, abstracted from real deployments. Names and node identifiers are examples; adapt them to your storage systems. Always create an objective on every site that needs it and apply it to the share or directory on each.

By default, if a cluster has available object storage and the default optimize-for-capacity objective is present, files down-tier to object storage after about 5 minutes when nothing compels them to stay online. Define keep-online objectives that hold files online for as long as the workflow needs.

Recipe 1: Two-Site DR with Object Mirroring on Both Sites

For customers who use GFS for disaster recovery and keep all online files and snapshots mirrored to object storage at both sites:

place-on-SITEA-S3        Applicability: TRUE
place-on-SITEB-NFS       Applicability: IS_LIVE AND LAST_USE_AGE < 90*DAYS
place-on-SITEB-S3        Applicability: TRUE

Complement with snapshots plus versioning-1-day / undelete-1-day, excluding churny temp files (for example .tmp, .docx, .xlsx, ~.pptx).

Recipe 2: DSX Online Tier with Cloud Down-Tiering

The notation below is conceptual, not literal CLI or API syntax — unlike Recipe 1 above, whose applicability expressions match real objective-create syntax once quoted for the shell. Translate the intent (mirror briefly, then age out) into real objectives and applicability expressions for your environment.

Keep two online instances briefly so a new file has time to reach the cloud, then let it age out to a single cloud instance:

dsx_local_mir_24h   IF MODIFY_AGE < 24*HOURS && DATA_ORIGIN_LOCAL  THEN SLO('dsx_mirror')
dsx_local_2weeks    IF MODIFY_AGE < 2*WEEKS  && DATA_ORIGIN_LOCAL  THEN SLO('dsx_any')
dsx_remote_24h      IF MODIFY_AGE < 24*HOURS && DATA_ORIGIN_REMOTE THEN SLO('dsx_any')

dsx_mirror creates two instances across named DSX nodes; dsx_any creates one on any available DSX.