User-provided program for managing external pools

After you define an external storage pool, subsequent migration or deletion rules might refer to that pool as a source or target storage pool.

When the mmapplypolicy command is invoked and a rule dictates that data should be moved to or from an external pool, the user provided program identified with the EXEC clause in the policy rule launches. That executable program receives three arguments:
  • The command to be executed. Your script should implement each of the following sub-commands:
    • LIST - Provides arbitrary lists of files with no semantics on the operation.
    • MIGRATE - Migrate files to external storage and reclaim the online space allocated to the file.
    • PREMIGRATE - Migrate files to external storage but do not reclaim the online space.
    • PURGE - Delete files from both the online file system and the external storage.
    • RECALL - Recall files from external storage to the online storage.
    • TEST – Test for presence and operation readiness. Return zero for success. Return non-zero if the script should not be used on a given node.
  • The name of a file containing a list of files to be migrated, premigrated, or purged. See File list format for detailed description of the layout of the file.
  • Any optional parameters specified with the OPTS clause in the rule. These optional parameters are not interpreted by the GPFS™ policy engine.

The mmapplypolicy command invokes the external pool script on all nodes in the cluster that have installed the script in its designated location. The script must be installed at the node that runs mmapplypolicy. You can also install the script at other nodes for parallel operation but that is not required. GPFS may call your exit script one or more times for each command.

Important: Use the EXCLUDE rule to exclude any special files that are created by an external application. For example, when using IBM Spectrum Protect™ or Hierarchical Storage Management (HSM), exclude the .SpaceMan directory to avoid migration of .SpaceMan, which is an HSM repository.