BLUECHIP / BC0X / BC0X_* token in the commands below is a substitution point. To onboard ACME with LPARs AC01/AC02/AC03: bulk replace BLUECHIP → ACME and BC0 → AC0, then adjust retentions in Phase 3 if different. Storage pool, schedules, and tiering rule remain shared and need no change.
Why this matters: TSM/SP object names are global within their type. A clash on a node name with another customer would fail the define, or worse, attach the new client to an existing node's filespace — extremely difficult to unwind cleanly. This 5-second check has saved hours of cleanup more than once.
BACKRETENTION / ARCHRETENTION are domain-level fallback retentions used only when objects cannot bind to a management class (e.g. an MC is deleted while objects still reference it). The real retention controls live on the copy groups in Phase 3 — these are belt-and-braces.
| Mgmt class | VEREXISTS | VERDELETED | RETEXTRA | RETONLY | MODE |
|---|---|---|---|---|---|
| MC_FILE_30D | NOLIMIT | 1 | 30 | 30 | MODIFIED |
| MC_MFULL_6M | 6 | 2 | 180 | 180 | ABSOLUTE |
| MC_YFULL_7Y | 7 | 2 | 2555 | 2555 | ABSOLUTE |
Reading the parameters: VEREXISTS = how many versions to keep while the file still exists. VERDELETED = how many versions to keep after the file is deleted. RETEXTRA = days to keep a version after it's been superseded. RETONLY = days to keep the last remaining version after the file is deleted. MODE=ABSOLUTE on full schedules forces unchanged files to re-send each cycle so they get re-bound to the long-retention MC.
7 yearly versions is intentional. With VEREXISTS=7 and RETEXTRA=2555, after 7 years of yearly fulls you'll hold all 7 simultaneously. The 8th yearly will start expiring the oldest. If your retention requirement is strictly 7 years total (not "the most recent 7 yearlies"), set VEREXISTS=7 and rely on RETEXTRA for time-based aging — the configuration above does exactly this.
Activate is one-way without rollback. Once ACTIVATE POLICYSET runs, the active policy replaces what was active before. Always VALIDATE first. To revert, you re-edit the inactive policy set and re-activate.
Why customer-prefixed cloptsets: cloptset names are global. Without the customer prefix, two customers with similar requirements would end up sharing a cloptset, which makes per-customer changes risky. Prefix them and each customer gets their own isolated set even though they bind to identically-named MCs (which are scoped to the domain, so naming clashes are fine across domains).
COMPRESSION=NO at register: the shared DCPOOL_PRIMARY is a directory-container pool with inline compression. Client-side compression on top of that is wasted CPU on the AIX LPAR and shreds dedup matching (compressed bytes don't dedup against uncompressed equivalents from another customer). Always set COMPRESSION=NO when the destination is a container pool with inline compression enabled.
MAXNUMMP=4: allows up to 4 concurrent mount points per node, paired with client-side RESOURCEUTILIZATION for multi-stream backups. <PASSWORD> placeholder is set per node at register; on first client login with passwordaccess generate in dsm.sys, the client rotates it and writes to the local TSM password store.
1st January overlap: on Jan 1 each year, all three schedules fire — daily at 22:00, monthly at 20:00 (1st of month), yearly at 18:00 (1st Jan). Three sequential ingest waves on the same LPAR within 4 hours. If network/throughput is constrained, offset the monthly to DAYOFMONTH=2 to give yearly clear air. Document the choice either way.
Server-side build complete. The 3 LPARs cannot back up yet — the AIX clients still need dsm.sys / dsm.opt with TCPSERVERADDRESS, NODENAME, PASSWORDACCESS, and the dsmcad scheduler started. Three nodes per LPAR means three stanzas in dsm.sys and three dsmcad instances (or three named-server invocations).
| Status | Meaning | Action |
|---|---|---|
| Completed | Schedule succeeded | Nothing |
| Failed | Client started but reported non-zero RC | Check client dsmerror.log |
| Missed | Window expired without client connecting | Check dsmcad service / network |
| Severed | Connection dropped mid-backup | Likely network or client crash |
| Started | Currently running | Wait or check QUERY SESS |
| Future | Schedule not yet due | Nothing |
| Pending | In window, client not yet connected | Watch — may transition |
| InProgress | Client connected, scheduling phase | Watch |
The "Stored GB" column reflects per-node attribution after dedup. Sum of all customers' "Stored GB" should be close to the actual pool occupancy. Discrepancies are usually cross-customer dedup savings — files that exist on multiple customer nodes are stored once but logically attributed to each.
Don't put the admin password in cron-readable scripts. Either use a dsmadmc wrapper that pulls from a 600-permissioned file (as above), or — better — generate an admin password file with dsmadmc -id=admin -password=<pw> -genpwfile and reference it with -passwordaccess=generate. For scripted operations, register a dedicated read-only admin (e.g. SP_REPORT) with SYSTEM privilege restricted to QUERY/SELECT via SP's command authority controls.
Output format hierarchy for parsing ease: -comma > -tab > -displaymode=table > -displaymode=list. Use -comma for anything you'll parse with awk/perl/python; use -displaymode=table for human-readable email reports.
dsm.sys / dsm.opt with TCPSERVERADDRESS, NODENAME, PASSWORDACCESS, and dsmcad scheduler started. Three nodes per LPAR = three stanzas, three dsmcad instances.VEREXISTS, VERDELETED, RETEXTRA, RETONLY on the copy groups. Domain-level BACKRETENTION is fallback only and applies when objects can't bind to any MC.MODE=ABSOLUTE on the monthly/yearly copy groups is mandatory for the snapshot pattern — without it, unchanged files are not re-sent and won't be tagged to the long-retention MC.COMPRESSION=NO at register is correct for container-pool destinations. Client compression on top of container-pool inline compression wastes CPU on the AIX LPAR and degrades dedup matching across customers.ACTIVATE POLICYSET has no clean rollback. Always run VALIDATE first; if validation fails, fix the MC/copygroup before activating.BLUECHIP_, BC0X_, or BLUECHIP_*. Keeping this strict is what makes SELECT … WHERE node_name LIKE 'BC0%' useful for reporting and cleanup.-genpwfile + passwordaccess=generate, and create a dedicated read-only admin (e.g. SP_REPORT) with restricted command authority for monitoring scripts.