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.