clmgr command

Purpose

The clmgr command provides a consistent, reliable interface for performing PowerHA® SystemMirror® cluster operations by using a terminal or script.

Full Syntax

The following is the full syntax for the clmgr command:
clmgr {[-c|-d <DELIMITER>] [-S] | [-x]}  
[-v][-f][-D] [-T <#####>]
[-l {error|standard|low|med|high|max}][-a {<ATTR#1>,<ATTR#2>,...}] <ACTION> <CLASS> [<NAME>] 
[-h | <ATTR#1>=<VALUE#1> <ATTR#2>=<VALUE#2> <ATTR#n>=<VALUE#n>]

clmgr {[-c|-d <DELIMITER>] [-S] | [-x]} 
[-v][-f] [-D] [-T <#####>]
[-l {error|standard|low|med|high|max}][-a {<ATTR#1>,<ATTR#2>,...}]
[-M]- "<ACTION> <CLASS> [<NAME>] <ATTR#1>=<VALUE#1> <ATTR#n>=<VALUE#n>] ..."
ACTION={add|modify|delete|query|online|offline|...}
CLASS={cluster|site|node|network|resource_group|...}

clmgr {-h|-?} [-v]

clmgr [-v] help
The following is the basic format for using the clmgr command:
clmgr <ACTION> <CLASS> [<NAME>] [<ATTRIBUTES...>]
Help is available for the clmgr command from the command line. For example, when you run the clmgr command without any flags or parameters a list of the available ACTIONs is displayed. Entering clmgr ACTION from the command line with no CLASS provided, results in a list of all the available CLASSes for the specified ACTION. Entering clmgr ACTION CLASS with no NAME or ATTRIBUTES provided is slightly different, because some ACTION+CLASS combinations do not require any additional parameters. To display help in this scenario, you must explicitly request the help by appending the -h flag to the clmgr ACTION CLASS command. You cannot display help from the command line for each of the clmgr commands individual ATTRIBUTES.

Description

The high degree of consistency used by the clmgr command helps make it easier to learn and use. In addition to consistency of execution, clmgr also provides consistent return codes to make scripting easier. Several output formats are also provided for data queries to make collecting cluster information as easy as possible.

All clmgr command operations are logged in the clutils.log file, including the name of the command that was executed, the commands start and stop time, and the user name that initiated the command.
Note: If the resource groups have more than one dependency, you cannot use the clmgr command to move multiple resource groups.

Flags

ACTION
Describes the operation to be performed.
Note: ACTION is not case-sensitive. All ACTION flags provide a shorter alias. For example, rm is an alias for delete. Aliases are provided for convenience from the command line and must not be used in scripts.
The following four ACTION flags are available on almost all the supported CLASS objects:
  • add (Alias: a)
  • query (Aliases: q, ls, get)
  • modify (Aliases: mod, ch, set)
  • delete (Aliases: de, rm, er)
The remaining ACTIONS are typically only supported on a small subset of the supported CLASS objects:
  • Cluster, Node, Resource Group:
    • start (Aliases: online, on)
    • stop (Aliases: offline, off)
  • Resource Group, Service IP, Persistent IP:
    • move (Alias: mv)
  • Cluster, Interface, Log, Node, Snapshot, Network, Application Monitor:
    • manage (Alias: mg)
  • Cluster and File Collection:
    • sync (Alias: sy)
  • Cluster, Method:
    • verify (Alias: ve)
  • Cluster, Snapshot:
    • compare (Alias: comp, diff)
  • Log, Report, Snapshot:
    • view (Alias: vi)
  • Repository:
    • replace (Alias: rep, switch, swap)
CLASS
The type of object upon which the ACTION is performed.
Note: CLASS is not case-sensitive. All CLASS objects provide a shorter alias. For example, fc is an alias for file_collection. Aliases are provided for convenience from the command line and must not be used in scripts.
The following is the complete list of supported CLASS objects:
  • cluster (Alias: cl)
  • repository (Alias: rp)
  • site (Alias: st)
  • node (Alias: no)
  • interface (Aliases: in, if)
  • network (Aliases: ne, nw)
  • resource_group (Alias: rg)
  • service_ip (Alias: si)
  • persistent_ip (Alias: pi)
  • application_controller (Aliases: ac, app)
  • application_monitor (Aliases: am, mon)
  • tape (Alias: tp)
  • dependency (Alias: de)
  • file_collection (Aliases: fi, fc)
  • snapshot (Aliases: sn, ss)
  • method (Alias: me)
  • volume_group (Alias: vg)
  • logical_volume (Alias: lv)
  • file_system (Alias: fs)
  • physical_volume (Aliases: pv, disk)
  • mirror_pool (Alias: mp)
  • user (Alias: ur)
  • group (Alias: gp)
  • ldap_server (Alias: ls)
  • ldap_client (Alias: lc)
  • event
  • hmc
  • cod (Alias: cuod, dlpar)
Name
The specific object, of type CLASS, upon which the ACTION is to be performed.
ATTR=VALUE
An optional flag that has attribute pairs and value pairs that are specific to the ACTION+CLASS combination. Use these pairs flag to specify configuration settings or to adjust particular operations.
When used with the query action, the ATTR=VALUE specifications can be used to perform attribute-based searching and filtering. When used for this purpose, you can use simple wildcards. For example, "*" matches zero or greater of any character, "?" matches zero or one of any character.
Note: An ATTR might not always need to be fully typed out. Only the number of leading characters required to uniquely identify the attribute from the set of attributes available for the specified operation must be provided. Instead of entering FC_SYNC_INTERVAL, for the add cluster operation, you can enter FC for the same result.
-a
Displays only the specified attributes, and is only valid with the query, add, and modify ACTIONs. Attribute names are not case-sensitive, and can be used with the standard UNIX wildcards, "*", and "?".
-c
Displays all data in colon-delimited format, and is only valid with the query, add, and modify ACTIONs.
-d
Valid only with the query, add, and modify ACTION flags, requests all data to be displayed in delimited format, using the specified delimiter.
-D
Disables the dependency mechanism in clmgr command that attempts to create any requisite resources by using default values if they are not already defined within the cluster.
-f
Overrides any interactive prompts, forcing the current operation to be attempted (if forcing the operation is a possibility).
-h
Displays help information.
-l
Activates the following trace logging values for serviceability:
  • Error: Only updates the log file if an error is detected.
  • Standard: Logs basic information for every clmgr operation.
  • Low: Basic entry and exit tracing for every function.
  • Med: Performs low tracing, adding function entry parameters, and function return values.
  • High: Performs med tracing, adding tracing of every line of execution, omitting routine, utility functions.
  • Max - Performs high tracing, adding the routine function and utility function. Adds a time and date stamp to the function entry message and exit message.
Note: All trace data is written into the clutils.log file. This flag is ideal for troubleshooting problems.
-M
Allows multiple operations to be specified and run via one invocation of clmgr, with one operation being specified per line. All the operations will share a common transaction ID.
-S
Displays data with column headers suppressed, and is only valid with the query ACTION and -c flag.
-T
A transaction ID is applied to all logged output, to help group one or more activities into a single body of output that can be extracted from the log for analysis. This flag is ideal for troubleshooting problems.
-v
Displays maximum verbosity in the output.
Note: Displays all instances of the specified class, when used with the query ACTION and no specific object name. For example, entering clmgr -v query node display all nodes and their attributes. Displays resulting attributes after the operation is complete (only if the operation was successful), when this flag is used with the add or modify ACTION.
-x
Displays all data in a simple XML format, and is only valid with the query, add, and modify ACTIONs.

Syntax for all possible clmgr operations

Cluster
            
clmgr add cluster \
      [ <cluster_label> ] \
      [ NODES=<host>[,<host#2>,...] ] \
      [ TYPE={NSC|SC} ] \
      [ HEARTBEAT_TYPE={unicast|multicast} ] \
      [ CLUSTER_IP=<IP_Address> ] \
      [ REPOSITORIES=<disk>[,<backup_disk>,...] ] \
      [ FC_SYNC_INTERVAL=## ] \
      [ RG_SETTLING_TIME=## ] \
      [ MAX_EVENT_TIME=### ] \
      [ MAX_RG_PROCESSING_TIME=### ] \
      [ DAILY_VERIFICATION={Enabled|Disabled} ] \
      [ VERIFICATION_NODE={Default|<node>} ] \
      [ VERIFICATION_HOUR=<00..23> ] \
      [ VERIFICATION_DEBUGGING={Enabled|Disabled} ] \
      [ HEARTBEAT_FREQUENCY=<min..max> ] \
      [ GRACE_PERIOD=<min..max> ] \
      [ SITE_POLICY_FAILURE_ACTION={fallover|notify} ] \
      [ SITE_POLICY_NOTIFY_METHOD="<FULL_PATH_TO_FILE>" ] \
      [ SITE_HEARTBEAT_CYCLE=<min..max> ] \
      [ SITE_GRACE_PERIOD=<min..max> ] \
      [ TEMP_HOSTNAME={disallow|allow} ] \
      [ MONITOR_INTERFACES={enable|disable} ] \
      [ LPM_POLICY={manage|unmanage} ] \
      [ NETWORK_FAILURE_DETECTION_TIME=<0,5..590> ] \
      [ LVM_PREFERRED_READ=<roundrobin|favorcopy|siteaffinity> ]
      [ CRIT_DAEMON_RESTART_GRACE_PERIOD=<0..240> ] \
      [ SKIP_EVENT_PROCESSING_MANAGE_MODE={true|false} ]
      [ CAA_PVM_WATCHDOG_TIMER={DISABLE|DUMP_RESTART|HARD_RESET|HARD_POWER_OFF} ]
            
clmgr add cluster \
      [ <cluster_label> ] \
      [ NODES=<host>[,<host#2>,...] ] \
      [ TYPE="LC" \
      [ HEARTBEAT_TYPE={unicast|multicast} ] \
      [ FC_SYNC_INTERVAL=## ] \
      [ RG_SETTLING_TIME=## ] \
      [ MAX_EVENT_TIME=### ] \
      [ MAX_RG_PROCESSING_TIME=### ] \
      [ DAILY_VERIFICATION={Enabled|Disabled} ] \
      [ VERIFICATION_NODE={Default|<node>} ] \
      [ VERIFICATION_HOUR=<00..23> ] \
      [ VERIFICATION_DEBUGGING={Enabled|Disabled} ] \
      [ HEARTBEAT_FREQUENCY=<min..max> ] \
      [ GRACE_PERIOD=<min..max> ] \
      [ SITE_POLICY_FAILURE_ACTION={fallover|notify} ] \
      [ SITE_POLICY_NOTIFY_METHOD="<FULL_PATH_TO_FILE>" ] \
      [ SITE_HEARTBEAT_CYCLE=<min..max> ] \
      [ SITE_GRACE_PERIOD=<min..max> ] \
      [ TEMP_HOSTNAME={disallow|allow} ] \
      [ MONITOR_INTERFACES={enable|disable} ] \
      [ LPM_POLICY={manage|unmanage} ] \
      [ NETWORK_FAILURE_DETECTION_TIME=<0,5..590> ] \
      [ LVM_PREFERRED_READ=<roundrobin|favorcopy|siteaffinity> ] 
      [ CRIT_DAEMON_RESTART_GRACE_PERIOD=<0..240> ] \
      [ SKIP_EVENT_PROCESSING_MANAGE_MODE={true|false} ]
      [ CAA_PVM_WATCHDOG_TIMER={DISABLE|DUMP_RESTART|HARD_RESET|HARD_POWER_OFF} ]
Table 1. Acronyms and their meaning
Acronym Meaning
NSC Nonsite cluster (no sites will be defined)
SC Stretched cluster (simplified infrastructure, ideal for limited distance data replication; sites must be defined)
LC Linked cluster (full-featured infrastructure, ideal for long distance data replication; sites must be defined).
Notes:
  • CLUSTER_IP can only be used with a cluster type of NSC or SC. For LC clusters, the multicast address must be set for each site.
  • The REPOSITORIES option can be used only with a cluster type of NSC or SC. For LC clusters, the REPOSITORIES option is identified for each site. The REPOSITORIES option can use seven disks. The first disk is the active repository disk and the following disks are the backup repositories disks.
         
clmgr modify cluster \
      [ NAME=<new_cluster_label> ] \
      [ NODES=<host>[,<host#2>,...] ] \
      [ TYPE={NSC|SC} ] \
      [ HEARTBEAT_TYPE={unicast|multicast} ] \
      [ CLUSTER_IP=<IP_Address> ] \
      [ REPOSITORIES=<disk>[,<backup_disk>,...] ] \
      [ FC_SYNC_INTERVAL=## ] \
      [ RG_SETTLING_TIME=## ] \
      [ MAX_EVENT_TIME=### ] \
      [ MAX_RG_PROCESSING_TIME=### ] \
      [ DAILY_VERIFICATION={Enabled|Disabled} ] \
      [ VERIFICATION_NODE={Default|<node>} ] \
      [ VERIFICATION_HOUR=<00..23> ] \
      [ VERIFICATION_DEBUGGING={Enabled|Disabled} ] \
      [ HEARTBEAT_FREQUENCY=<10..600> ] \
      [ GRACE_PERIOD=<5..600> ] \
      [ SITE_POLICY_FAILURE_ACTION={fallover|notify} ] \
      [ SITE_POLICY_NOTIFY_METHOD="<FULL_PATH_TO_FILE>" ]
      [ SITE_HEARTBEAT_CYCLE=<min..max> ] \
      [ SITE_GRACE_PERIOD=<5..30> ] \
      [ TEMP_HOSTNAME={disallow|allow} ] \
      [ MONITOR_INTERFACES={enable|disable} ] \
      [ LPM_POLICY={manage|unmanage} ] \
      [ HEARTBEAT_FREQUENCY_DURING_LPM=### ] \
      [ NETWORK_FAILURE_DETECTION_TIME=<0,5...590> ] \
      [ CAA_AUTO_START_DR={Enabled|Disabled} ] \
      [ CAA_DEADMAN_MODE={assert|event} ] \
      [ CAA_REPOS_MODE={assert|event} ] \
      [ CAA_CONFIG_TIMEOUT=<0..2147483647> ] \
      [ LVM_PREFERRED_READ=<roundrobin|favorcopy|siteaffinity> ]
      [ CRIT_DAEMON_RESTART_GRACE_PERIOD=<0..240> ] \
      [ SKIP_EVENT_PROCESSING_MANAGE_MODE={true|false} ]
      [ CAA_PVM_WATCHDOG_TIMER={DISABLE|DUMP_RESTART|HARD_RESET|HARD_POWER_OFF} ]
Note: The REPOSITORIES option can be used only with a cluster type of NSC or SC. For LC clusters, the REPOSITORIES option is identified for each site. The REPOSITORIES option can use six backup repository disks.

clmgr modify cluster \
      [ NAME=<new_cluster_label> ] \
      [ NODES=<host>[,<host#2>,...] ] \
      [ TYPE="LC" ] \
      [ HEARTBEAT_TYPE={unicast|multicast} ] \
      [ FC_SYNC_INTERVAL=## ] \
      [ RG_SETTLING_TIME=## ] \
      [ MAX_EVENT_TIME=### ] \
      [ MAX_RG_PROCESSING_TIME=### ] \
      [ DAILY_VERIFICATION={Enabled|Disabled} ] \
      [ VERIFICATION_NODE={Default|<node>} ] \
      [ VERIFICATION_HOUR=<00..23> ] \
      [ VERIFICATION_DEBUGGING={Enabled|Disabled} ] \
      [ HEARTBEAT_FREQUENCY=<10..60> ] \
      [ GRACE_PERIOD=<5..600> ] \
      [ SITE_POLICY_FAILURE_ACTION={fallover|notify} ] \
      [ SITE_POLICY_NOTIFY_METHOD="<FULL_PATH_TO_FILE>" ]
      [ SITE_HEARTBEAT_CYCLE=<min..max> ] \
      [ SITE_GRACE_PERIOD=<5..30> ] \
      [ TEMP_HOSTNAME={disallow|allow} ] \
      [ MONITOR_INTERFACES={enable|disable} ] \
      [ LPM_POLICY={manage|unmanage} ] \
      [ HEARTBEAT_FREQUENCY_DURING_LPM=### ] \
      [ NETWORK_FAILURE_DETECTION_TIME=<0,5...590> ] \
      [ CAA_DEADMAN_MODE={assert|event} ] \
      [ CAA_REPOS_MODE={assert|event} ] \
      [ CAA_CONFIG_TIMEOUT=<0..2147483647> ] \
      [ LVM_PREFERRED_READ=<roundrobin|favorcopy|siteaffinity> ]
      [ CRIT_DAEMON_RESTART_GRACE_PERIOD=<0..240> ] \
      [ SKIP_EVENT_PROCESSING_MANAGE_MODE={true|false} ]
      [ CAA_PVM_WATCHDOG_TIMER={DISABLE|DUMP_RESTART|HARD_RESET|HARD_POWER_OFF} ]
 
start of change

clmgr modify cluster \
      [ SPLIT_POLICY={none|tiebreaker|manual|NFS|Cloud} ] \
      [ TIEBREAKER=<disk> ] \
      [ SITE_PRIORITY=<site> ] \
      [ TIMEDELAY=### ] \
[ CLOUD_SERVICE={ibm|aws} ] \
      [ BUCKET_NAME={<bucket_name>} ] \
      [ USE_EXISTING_BUCKET={yes|no} ] \
      [ MERGE_POLICY={none|majority|tiebreaker|manual|NFS|Cloud} ] \
      [ NFS_QUORUM_SERVER=<server> ] \
      [ LOCAL_QUORUM_DIRECTORY=<local_mount>] \
      [ REMOTE_QUORUM_DIRECTORY=<remote_mount>] \
      [ QUARANTINE_POLICY=<disable|node_halt|fencing|halt_with_fencing>] \
      [ CRITICAL_RG=<rgname> ] \
      [ NOTIFY_METHOD=<method> ] \
      [ NOTIFY_INTERVAL=### ] \
      [ MAXIMUM_NOTIFICATIONS=### ] \
      [ DEFAULT_SURVIVING_SITE=<site> ] \
      [ APPLY_TO_PPRC_TAKEOVER={yes|no} ] \
      [ ACTION_PLAN={reboot|disable_rgs_autostart|disable_cluster_services_autostart} ]
      [ CAA_PVM_WATCHDOG_TIMER={DISABLE|DUMP_RESTART|HARD_RESET|HARD_POWER_OFF} ]
end of change
Note: After sites are fully defined and synchronized and if sites are already in use, the cluster type cannot be modified.
start of change
         
clmgr query cluster [ ALL | {CORE,SECURITY,SPLIT-MERGE,HMC,ROHA,TUNING} ]
clmgr delete cluster [ NODES={ALL|<node>[,<node#2>,...}] ]
end of change
Note: The delete action defaults to deleting the cluster completely, from all available nodes.

clmgr discover cluster 
        
clmgr recover cluster
[CANCEL_EVENT = {false/true}]

clmgr sync cluster \
      [ VERIFY={yes|no} ] \
      [ CHANGES_ONLY={no|yes} ] \
      [ DEFAULT_TESTS={yes|no} ] \
      [ METHODS=<method#1>[,<method#2>,...] ] \
      [ FIX={no|yes} ] \
      [ LOGGING={standard|verbose} ] \
      [ LOGFILE=<PATH_TO_LOG_FILE> ] \
      [ MAX_ERRORS=## ] \
      [ FORCE={no|yes} ]
Note: All options are verification parameters, so they are only valid when VERIFY is set to yes.
            
clmgr manage cluster {reset|unlock}

clmgr manage cluster security \
      [ LEVEL={Disable|Low|Med|High} ] \
      [ ALGORITHM={DES|3DES|AES} ]\
      [ GRACE_PERIOD=<SECONDS> ] \
      [ REFRESH=<SECONDS> ] ] \
      [ MECHANISM={OpenSSL|SSH} ] \
      [ CERTIFICATE=<PATH_TO_FILE> \
      [ PRIVATE_KEY=<PATH_TO_FILE> ]
Note: If a MECHANISM of SSL or SSH is specified, then a custom made certificate and private key file must be provided.
            
clmgr manage cluster security \
      [ LEVEL={Disable|Low|Med|High} ] \
      [ ALGORITHM={DES|3DES|AES} ]\
      [ GRACE_PERIOD=<SECONDS> ] \
      [ REFRESH=<SECONDS> ] ] \
      [ MECHANISM="SelfSigned" ] \
      [ CERTIFICATE=<PATH_TO_FILE> ] \
      [ PRIVATE_KEY=<PATH_TO_FILE> ]
Note: If a MECHANISM of Self-Signed is specified, then specifying a certificate and private key file is optional. If neither is provided, a default pair is automatically generated. GRACE_PERIOD defaults to 21600 seconds (6 hours). REFRESH defaults to 86400 seconds (24 hours).

clmgr manage cluster hmc \
      [ DEFAULT_HMC_TIMEOUT=<MINUTES> ] \
      [ DEFAULT_HMC_RETRY_COUNT=<INTEGER> ] \
      [ DEFAULT_HMC_RETRY_DELAY=<SECONDS> ] \
      [ DEFAULT_HMCS_LIST=<HMCS> ]

clmgr manage cluster roha \
      [ ALWAYS_START_RG={YES|NO} ] \
      [ ADJUST_SPP_SIZE={YES|NO} ]\
      [ FORCE_SYNC_RELEASE={YES|NO} ] \
      [ AGREE_TO_COD_COSTS={YES|NO} ] ] \
      [ ONOFF_DAYS=<DAYS>} ]
      [ RESOURCE_ALLOCATION_ORDER={free_pool_before_enterprise_pool|enterprise_pool_before_free_pool|all_enterprise_pool_before_free_pool} ]
            
clmgr verify cluster \
      [ CHANGES_ONLY={no|yes} ] \
      [ DEFAULT_TESTS={yes|no} ] \
      [ METHODS=<method#1>[,<method#2>,...] ] \
      [ FIX={no|yes} ] \
      [ LOGGING={standard|verbose} ] \
      [ LOGFILE=<PATH_TO_LOG_FILE> ] \
      [ MAX_ERRORS=## ]
      [ SYNC={no|yes} ] \
      [ FORCE={no|yes} ]
Note: The FORCE option can be used when SYNC is set to yes.
             
clmgr offline cluster \
      [ WHEN={now|restart|both} ] \
      [ MANAGE={offline|move|unmanage} ] \
      [ BROADCAST={true|false} ] \
      [ TIMEOUT=<seconds_to_wait_for_completion> ]
      [ STOP_CAA={no|yes} ]

clmgr online cluster \
      [ WHEN={now|restart|both} ] \
      [ MANAGE={auto|manual|delayed} ] \
      [ BROADCAST={false|true} ] \
      [ CLINFO={false|true|consistent} ] \   
      [ FORCE={false|true} ] \
      [ FIX={no|yes|interactively} ] \
      [ TIMEOUT=<seconds_to_wait_for_completion> ] \
      [ START_CAA={no|yes|only} ]

Notes:
  • The RG_SETTLING_TIME attribute only affects resource groups with a startup policy of Online On First Available Node. An alias for cluster is cl.
  • The STOP_CAA and START_CAA options bring the Cluster Aware AIX® (CAA) cluster services offline or online. Use these options when there is a specific known need for them, or at the direction of IBM® support. Do not deactivate CAA cluster services because it disables the ability to detect problems in the clustered environment. If you specify the value for the START_CAA parameter as only, PowerHA SystemMirror starts only CAA services.


clmgr compare cluster <host1>,<host2> \
      [ DIRECTORY="/absolute/path/to/store/results" ] \
      [ DISABLE_EXPECT ]
Repository
               
clmgr add repository <disk>[,<backup_disk#2>,...] \
      [ SITE=<site_label> ]\
      [ NODE=<reference_node> ]
Note: If an active repository is not already defined, the first disk is used as the active repository. Any other disks in the list are defined as backup repository disks. You can identify up to six backup repository disks per cluster for standard clusters and stretched clusters. You can identify up to six backup repository disks per site for linked clusters.
              
clmgr replace repository [ <new_repository> ] \
      [ SITE=<site_label> ] \
      [ NODE=<reference_node>]
Note: If no disk is specified, the first disk in the backup list is used.
               
clmgr query repository [ <disk>[,<disk#2>,...] ]

clmgr delete repository {<backup_disk>[,<disk#2>,...] | ALL}\
      [ SITE=<site_label> ] \
      [ NODE=<reference_node> ]
Note: It is not possible to delete an active repository disk. Only backup repositories can be removed.
Site
               
clmgr add site <sitename> \
      [ NODES=<node>[,<node#2>,...] ]\
      [ SITE_IP=<multicast_address> ] \
      [ RECOVERY_PRIORITY={MANUAL|1|2} ] \
      [ REPOSITORIES=<disk>[,<backup_disk>,...] ]
               
Note: The REPOSITORIES option can be used only with a cluster type of LC. The REPOSITORIES option can use seven disks. The first disk is the active repository disk and the following disks are the backup repositories disks.
              
clmgr modify site <sitename> \
      [ NAME=<new_site_label> ] \
      [ NODES=<node>[,<node#2>,...] ] \
      [ SITE_IP=<multicast_address> ] \
      [ RECOVERY_PRIORITY={MANUAL|1|2} ] \
      [ REPOSITORIES=<backup_disk>[,<backup_disk>,...] ] \
      [ HMCS=<hmc>[,<hmc#2>,...] ]
Notes:
  • The SITE_IP attribute can be used only with a cluster type of LC (linked clusters) and a cluster heartbeat type of multicast.
  • The REPOSITORIES option can be used only with a cluster type of LC. The REPOSITORIES option can use six backup repository disks.
           
clmgr query site [ <sitename>[,<sitename#2>,...] ]

clmgr delete site {<sitename>[,<sitename#2>,...] | ALL}

clmgr recover site
[CANCEL_EVENT = {false/true}]

clmgr offline site <sitename> \
      [ WHEN={now|restart|both} ] \
      [ MANAGE={offline|move|unmanage} ] \
      [ BROADCAST={true|false} ] \
      [ TIMEOUT=<seconds_to_wait_for_completion> ] \
      [ STOP_CAA={no|yes} ]

clmgr online site <sitename> \
      [ WHEN={now|restart|both} ] \
      [ MANAGE={auto|manual} ] \
      [ BROADCAST={false|true} ] \
      [ CLINFO={false|true|consistent} ] \
      [ FORCE={false|true} ] \
      [ FIX={no|yes|interactively} ] \
      [ TIMEOUT=<seconds_to_wait_for_completion> ] \
      [ START_CAA={no|yes|only} ]

clmgr manage site respond {continue|recover}
Notes:
  • An alias for site is st.
  • The STOP_CAA and START_CAA options bring the Cluster Aware AIX (CAA) cluster services offline or online. Use these options when there is a specific known need for them, or at the direction of IBM support. Do not deactivate CAA cluster services because it disables the ability to detect problems in the clustered environment. If you specify the value for the START_CAA parameter as only, PowerHA SystemMirror starts only CAA services.
Node
            
clmgr add node <node> \
      [ COMMPATH=<ip_address_or_network-resolvable_name> ] \
      [ RUN_DISCOVERY={true|false} ] \
      [ PERSISTENT_IP=<IP> NETWORK=<network>
      [ NETMASK=<255.255.255.0 | PREFIX=1..128} ] \
      [ START_ON_BOOT={false|true} ] \
      [ BROADCAST_ON_START={true|false} ] \
      [ CLINFO_ON_START={false|true|consistent} ] \
      [ VERIFY_ON_START={true|false} ] \
      [ SITE=<sitename> ]
      [ CRIT_DAEMON_RESTART_GRACE_PERIOD=<0..240> ] \

clmgr modify node <node> \clmgr query node 
      [ NAME=<new_node_label> ] \
      [ COMMPATH=<new_commpath> ] \
      [ PERSISTENT_IP=<IP> NETWORK=<network>
      [ ETMASK=<255.255.255.0 | PREFIX=1..128} ] \
      [ START_ON_BOOT={false|true} ] \
      [ BROADCAST_ON_START={true|false} ] \
      [ CLINFO_ON_START={false|true|consistent} ] \
      [ VERIFY_ON_START={true|false} ] \
      [ HMCS=<hmc>[,<hmc#2>,...] ] \
      [ ENABLE_LIVE_UPDATE={true|false} ] 
      [ CRIT_DAEMON_RESTART_GRACE_PERIOD=<0..240> ] \
clmgr query node [ {<node>|LOCAL}[,<node#2>,...] ] \

clmgr delete node {<node>[,<node#2>,...] | ALL}

clmgr manage node undo_changes

clmgr recover node <node>[,<node#2>,...]
[CANCEL_EVENT = {false/true)]

clmgr online node <node>[,<node#2>,...] \
      [ WHEN={now|restart|both} ] \
      [ MANAGE={auto|manual} ] \
      [ BROADCAST={false|true} ] \
      [ CLINFO={false|true|consistent} ] \
      [ FORCE={false|true} ] \
      [ FIX={no|yes|interactively} ] \
      [ TIMEOUT=<seconds_to_wait_for_completion> ] \
      [ START_CAA={no|yes|only} ]

clmgr offline node <node>[,<node#2>,...] \
      [ WHEN={now|restart|both} ] \
      [ MANAGE={offline|move|unmanage} ] \
      [ BROADCAST={true|false} ] \
      [ TIMEOUT=<seconds_to_wait_for_completion> ] \
      [ STOP_CAA={no|yes} ]
Notes:
  • An alias for node is no.
  • When you stop the cluster or a node or a site, the default value of the TIMEOUT attribute is calculated based on the cluster size and the previous stop operations of the cluster. The minimum default value is 120 seconds.
  • If the stop operation of the cluster service is taking more time than the default value, the clmgr command returns value 8 that indicates that the stop operation is still running. You must check the progress of the stop operation and manually verify whether the stop operation is completed successfully. You can check the cluster status by using the clmgr query cluster command.
  • The STOP_CAA and START_CAA options bring the Cluster Aware AIX (CAA) cluster services offline or online. Use these options when there is a specific known need for them, or at the direction of IBM support. Do not deactivate CAA cluster services because it disables the ability to detect problems in the clustered environment. If you specify the value for the START_CAA parameter as only, PowerHA SystemMirror starts only CAA services.
Network
            
clmgr add network <network> \
      [ TYPE={ether|XD_data|XD_ip} ] \
      [ {NETMASK=<255.255.255.0 | PREFIX=1..128} ] \
      [ IPALIASING={true|false} ] \
      [ PUBLIC={true|false} ]
           
Note: By default, an IPv4 network is constructed using a netmask of 255.255.255.0. To create an IPv6 network, specify a valid prefix.

clmgr modify network <network> \
      [ NAME=<new_network_label> ] \
      [ TYPE={ether|XD_data|XD_ip} ] \
      [ {NETMASK=<255.255.255.0> | PREFIX=1..128} ] \
      [ PUBLIC={true|false} ] \
      [ RESOURCE_DIST_PREF={AC|ACS|C|CS|CPL|ACPL|ACPLS|NOALI} ] \
      [ SOURCE_IP=<service_or_persistent_ip> ]
Note: The possible values for the RESOURCE_DIST_PREF attribute follow:
AC
Anti-collocation
ACS
Anti-collocation with source
C
Collocation
CS
Collocation with source
CPL
Collocation with persistent label
ACPL
Anti-collocation with persistent label
ACPLS
Anti-collocation with persistent label and source
NOALI
Disables first alias
Note: If the RESOURCE_DIST_PREF attribute uses the CS or ACS value, the SOURCE_IP attribute must be a service label.
            
clmgr query network [ <network>[,<network#2>,...] ]

clmgr delete network {<network>[,<network#2>,...] | ALL}
Note: Aliases for network are ne and nw.
Interface

clmgr add interface <interface> \
      NETWORK=<network> \
      [ NODE=<node> ] \
      [ TYPE={ether|XD_data|XD_ip} ] \
      [ INTERFACE=<network_interface> ]

clmgr modify interface <interface> \
      NETWORK=<network>

clmgr query interface [ <interface>[,<if#2>,...] ]

clmgr delete interface {<interface>[,<if#2>,...] | ALL}

clmgr discover interfaces
Note: The interface can be either an IP address or label. The NODE attribute defaults to the local node name. The TYPE attribute defaults to ether. The <network_interface> might look like en1, en2, en3. Aliases for interface are in and if.
Resource group
            
      clmgr add resource_group <resource_group>[,<rg#2>,...] \
      NODES=nodeA1,nodeA2,...                             \
      [ SECONDARYNODES=nodeB2[,nodeB1,...] ] \
      [ SITE_POLICY={ignore|primary|either|both} ] \
      [ STARTUP={OHN|OFAN|OAAN|OUDP} ] \
      [ FALLOVER={FNPN|FUDNP|BO}] \
      [ FALLBACK={NFB|FBHPN} ] \
      [ FALLBACK AT=<FALLBACK TIMER> ] \
      [ NODE_PRIORITY_POLICY={default|mem|cpu|disk|least|most} ] \
      [ NODE_PRIORITY_POLICY_SCRIPT=</path/to/script> ] \
      [ NODE_PRIORITY_POLICY_TIMEOUT=### ] \
      [ SERVICE_LABEL=service_ip#1[,service_ip#2,...]   ] \
      [ APPLICATIONS=appctlr#1[,appctlr#2,...] ] \
      [ SHARED_TAPE_RESOURCES=<TAPE>[,<TAPE#2>,...] ] \
      [ VOLUME_GROUP=<VG>[,<VG#2>,...] ] \
      [ FORCED_VARYON={true|false} ] \
      [ VG_AUTO_IMPORT={true|false} ] \
      [ FILESYSTEM=/file_system#1[,/file_system#2,...]  ] \
      [ DISK=<raw_disk>[,<raw_disk#2>,...] ] \
      [ FS_BEFORE_IPADDR={true|false} ] \
      [ WPAR_NAME="wpar_name" ] \
      [ EXPORT_FILESYSTEM=/expfs#1[,/expfs#2,...] ] \
      [ EXPORT_FILESYSTEM_V4=/expfs#1[,/expfs#2,...] ] \
      [ STABLE_STORAGE_PATH="/fs3" ] \
      [ NFS_NETWORK="nfs_network"  ] \
      [ MOUNT_FILESYSTEM=/nfs_fs1;/expfs1,/nfs_fs2;,... ] \
      [ MIRROR_GROUP=<replicated_resource> ] \ 
      [ FALLBACK_AT=<FALLBACK_TIMER>  ]

STARTUP:
    OHN ----- Online Home Node (default value)
    OFAN ---- Online on First Available Node
    OAAN ---- Online on All Available Nodes (concurrent)
    OUDP ---- Online Using Node Distribution Policy
    
FALLOVER:
    FNPN ---- Fallover to Next Priority Node (default value)
    FUDNP --- Fallover Using Dynamic Node Priority
    BO ------ Bring Offline (On Error Node Only)

FALLBACK:
    NFB ----- Never Fallback
    FBHPN --- Fallback to Higher Priority Node (default value)
                
NODE_PRIORITY_POLICY:
    default - next node in the NODES list
    mem ----- node with most available memory
    disk ---- node with least disk activity      
    cpu ----- node with most available CPU cycles
    least --- node where the dynamic node priority script
              returns the lowest value
    most ---- node where the dynamic node priority script
              returns the highest value
              
Note: The NODE_PRIORITY_POLICY policy can only be established if the FALLOVER policy has been set to FUDNP.
              
SITE_POLICY:
     ignore -- Ignore
     primary - Prefer Primary Site
     either -- Online On Either Site
     both ---- Online On Both Sites

clmgr modify resource_group <resource_group>              \
      [ NAME=<new_resource_group_label> ] \
      [ NODES=nodeA1[,nodeA2,...] ] \
      [ SECONDARYNODES=nodeB2[,nodeB1,...] ] \
      [ SITE_POLICY={ignore|primary|either|both} ] \
      [ STARTUP={OHN|OFAN|OAAN|OUDP} ] \
      [ FALLOVER={FNPN|FUDNP|BO} ] \
      [ FALLBACK={NFB|FBHPN} ] \
      [ FALLBACK_AT=<FALLBACK_TIMER> ] \
      [ NODE_PRIORITY_POLICY={default|mem|cpu|disk|least|most} ] \
      [ NODE_PRIORITY_POLICY_SCRIPT=</path/to/script> ] \
      [ NODE_PRIORITY_POLICY_TIMEOUT=### ] \
      [ SERVICE_LABEL=service_ip#1[,service_ip#2,...] ] \
      [ APPLICATIONS=appctlr#1[,appctlr#2,...] ] \
      [ VOLUME_GROUP=volume_group#1[,volume_group#2,...]] \
      [ FORCED_VARYON={true|false} ] \
      [ VG_AUTO_IMPORT={true|false} ] \
      [ FILESYSTEM=/file_system#1[,/file_system#2,...] ] \
      [ DISK=<raw_disk>[,<raw_disk#2>,...] ] \
      [ FS_BEFORE_IPADDR={true|false} ] \
      [ WPAR_NAME="wpar_name" ] \
      [ EXPORT_FILESYSTEM=/expfs#1[,/expfs#2,...] ] \
      [ EXPORT_FILESYSTEM_V4=/expfs#1[,/expfs#2,...] ] \
      [ STABLE_STORAGE_PATH="/fs3" ] \
      [ NFS_NETWORK="nfs_network" ] \
      [ MOUNT_FILESYSTEM=/nfs_fs1;/expfs1,/nfs_fs2;,... ] \
      [ MIRROR_GROUP=<replicated_resource> ] \
      [ FALLBACK_AT=<FALLBACK_TIMER> ]
Note: The appctlr value is an abbreviation for application_controller.
            
clmgr query resource_group [ <resource_group>[,<rg#2>,...] ]
clmgr delete resource_group {<resource_group>[,<rg#2>,...] |
                             ALL}
clmgr online { resource_group <resource_group>[,<rg#2>,...] | ALL} \
      [ NODES={<node>[,<node#2>,...] | ALL}]
clmgr offline resource_group {<resource_group>[,<rg#2>,...] | ALL} \
      [ NODES={<node>[,<node#2>,...] | ALL} ]
Note: The special ALL target for the NODES attribute is only applicable to concurrent resource groups.
            
clmgr move resource_group <resource_group>[,<rg#2>,...] \
      {NODE|SITE}=<node_or_site_label> \
      [ SECONDARY={false|true} ] \
      [ STATE={online|offline} ] \
Note: The SITE and SECONDARY attributes are only applicable when sites are configured in the cluster. The resource group STATE remains unchanged if STATE is not explicitly specified. An alias for resource_group is rg.
Fallback timer

clmgr add fallback_timer <timer> \
      [ YEAR=<####> ] \
      [ MONTH=<{1..12 | Jan..Dec}> ] \
      [ DAY_OF_MONTH=<{1..31}> ] \
      [ DAY_OF_WEEK=<{0..6 | Sun..Sat}> ] \
      [ HOUR=<{0..23}> ]\
      [ MINUTE=<{0..59}>]

clmgr modify fallback_timer <timer> \
      [ YEAR=<{####}> ] \
      [ MONTH=<{1..12 | Jan..Dec}> ] \
      [ DAY_OF_MONTH=<{1..31}> ] \
      [ DAY_OF_WEEK=<{0..6 | Sun..Sat}> ] \
      [ HOUR=<{0..23}> ] \
      [ MINUTE=<{0..59}> ] \
      [ REPEATS=<{0,1,2,3,4 |Never,Daily,Weekly,Monthly,Yearly}> ]

clmgr query fallback_timer [<timer>[,<timer#2>,...] ]

clmgr delete fallback_timer {<timer>[,<timer#2>,...] | ALL}
Note: Aliases for fallback_timer are fa and timer.
Persistent IP/Label
            
clmgr add persistent_ip <persistent_IP> \
      NETWORK=<network> \
      [ {NETMASK=< 255.255.255.0 | PREFIX=1..128} ] \ ]
      [ NODE=<node> ]

clmgr modify persistent_ip <persistent_label> \
      [ NAME=<new_persistent_label> ] \
      [ NETWORK=<new_network> ] \
      [ NETMASK=<node> 255.255.255.0 | PREFIX=1..128} ] \ ]
Note: Any value provided for NETMASK or PREFIX is ignored unless the underlying network uses a different protocol (IPv4 versus IPv6). In that case, the NETMASK or PREFIX is required.
           
clmgr query persistent_ip [ <persistent_IP>[,<pIP#2>,...] ]

clmgr delete persistent_ip {<persistent_IP>[,<pIP#2>,...] | ALL}

clmgr move persistent_ip <persistent_IP> \
INTERFACE=<new_interface>
Note: An alias for persistent_ip is pe.
Service IP/Label
            
clmgr add service_ip <service_ip> \
      [ NETWORK=<network> ]\
      [ {NETMASK=<255.255.255.0 | PREFIX=1..128} ] \
      [ HWADDR=<new_hardware_address> ] \
      [ SITE=<new_site> ]

clmgr modify service_ip <service_ip> \
      [ NAME=<new_service_ip> ] \
      [ NETWORK=<new_network> ] \
      [ {NETMASK=<###.###.###.###> | PREFIX=1..128} ] \
      [ HWADDR=<new_hardware_address> ] \
      [ SITE=<new_site> ]												             
clmgr query service_ip [ <service_ip>[,<service_ip#2>,...] ]

clmgr delete service_ip {<service_ip>[,<service_ip#2>,,...] | ALL}

clmgr move service_ip <service_ip> \
      INTERFACE=<new_interface>
Note: If the NETMASK/PREFIX attributes are not specified, the netmask or prefix value for the underlying network is used. An alias for service_ip is si.
Application controller
            
clmgr add application_controller <application_controller> \
      [ STARTSCRIPT="/path/to/start/script" ]\
      [ STOPSCRIPT ="/path/to/stop/script" ]\
      [ MONITORS=<monitor>[,<monitor#2>,...] ] \
      [ STARTUP_MODE={background|foreground}

clmgr add application_controller STARTSCRIPT=<path_to_start_script> \
      STOPSCRIPT=<path_to_stop_script>
      CPU_USAGE_MONITOR=<"yes"> | <"no">
      PROCESS_TO_MONITOR_CPU_USAGE=<"/path/to/binary">
      CPU_USAGE_MONITOR_INTERVAL=<time interval in minutes>

clmgr modify application_controller <application_controller> \
      [ NAME=<new_application_controller_label> ] \
      [ STARTSCRIPT="/path/to/start/script" ] \
      [ STOPSCRIPT ="/path/to/stop/script" ] \
      [ MONITORS=<monitor>[,<monitor#2>,...] ] \
      [ STARTUP_MODE={background|foreground} ]

clmgr modify application_controller STARTSCRIPT=<path_to_start_script> \
       STOPSCRIPT=<path_to_stop_script>
       CPU_USAGE_MONITOR=<"yes"> | <"no">
       PROCESS_TO_MONITOR_CPU_USAGE=<"/path/to/binary">
       CPU_USAGE_MONITOR_INTERVAL=<time interval in minutes>
clmgr query application_controller [ <appctlr>[,<appctlr#2>,...] ]

clmgr delete application_controller {<appctlr>[,<appctlr#2>,...] | ALL}

clmgr manage application_controller {suspend|resume} 
      <application_controller> \
      RESOURCE_GROUP=<resource_group> 

clmgr manage application_controller {suspend|resume} ALL
Note: The appctlr value is an abbreviation for application_controller. Aliases for application_controller are ac and app.
Application monitor

clmgr add application_monitor <monitor> \
      TYPE=Process \
      MODE={longrunning|startup|both} \
      PROCESSES="pmon1,dbmon,..."  \
      OWNER="<processes_owner_name>" \
      [ APPLICATIONS=<appctlr#1>[,<appctlr#2>,...] ] \
      [ STABILIZATION="1 .. 3600" ] \
      [ RESTARTCOUNT="0 .. 100" ] \
      [ FAILUREACTION={notify|fallover} ] \
      [ INSTANCECOUNT="1 .. 1024" ] \
      [ RESTARTINTERVAL="1 .. 3600" ] \
      [ NOTIFYMETHOD="</script/to/notify>" ] \
      [ CLEANUPMETHOD="</script/to/cleanup>" ] \
      [ RESTARTMETHOD="</script/to/restart>" ]

clmgr add application_monitor <monitor> \
      TYPE=Custom \
      MODE={longrunning|startup|both} \
      MONITORMETHOD="/script/to/monitor" \
      [ APPLICATIONS=<appctlr#1>[,<appctlr#2>,...] ] \
      [ STABILIZATION="1 .. 3600" ] \
      [ RESTARTCOUNT="0 .. 100" ] \
      [ FAILUREACTION={notify|fallover} ] \
      [ MONITORINTERVAL="1 .. 1024" ] \
      [ HUNGSIGNAL="1 .. 63" ] \
      [ RESTARTINTERVAL="1 .. 3600"  ] \
      [ NOTIFYMETHOD="</script/to/notify>" ] \
      [ CLEANUPMETHOD="</script/to/cleanup>" ] \
      [ RESTARTMETHOD="</script/to/restart>" ]
Note: STABILIZATION defaults to 180. RESTARTCOUNT defaults to 3
            
clmgr modify application_monitor <monitor> \
      [ See the "add" action, above, for a list
        of supported modification attributes. ]

clmgr query application_monitor [ <monitor>[,<monitor#2>,...] ]

clmgr delete application_monitor {<monitor>[,<monitor#2>,...] | ALL}
Note: The appctlr value is an abbreviation for application_controller. Aliases for application_monitor are am and mon.
Dependency
            
# Temporal Dependency (parent ==> child)
clmgr add dependency \
      PARENT=<rg#1> \
      CHILD="<rg#2>[,<rg#2>,...]"

clmgr modify dependency <parent_child_dependency> \
      [ TYPE=PARENT_CHILD ] \
      [ PARENT=<rg#1> ] \
      [ CHILD="<rg#2>[,<rg#2>,...]" ]

# Temporal Dependency (start/stop after)
clmgr add dependency \
      {STOP|START}="<rg#2>[,<rg#2>,...]" \
      AFTER=<rg#1>

clmgr modify dependency \
      [ TYPE={STOP_AFTER|START_AFTER} ] \
      [ {STOP|START}="<rg#2>[,<rg#2>,...]" ] \
      [ AFTER=<rg#1> ]

# Location Dependency (colocation)
clmgr add dependency \
      SAME={NODE|SITE } \
      GROUPS="<rg1>,<rg2>[,<rg#n>,...]"

clmgr modify dependency <colocation_dependency> \
      [ TYPE={SAME_NODE|SAME_SITE} ] \
      GROUPS="<rg1>,<rg2>[,<rg#n>,...]"

# Location Dependency (anti-colocation)
clmgr add dependency \
      HIGH="<rg1>,<rg2>,..." \
      INTERMEDIATE="<rg3>,<rg4>,..." \
      LOW="<rg5>,<rg6>,..."

clmgr modify dependency <anti-colocation_dependency> \
      [ TYPE=DIFFERENT_NODES ] \
      [ HIGH="<rg1>,<rg2>,..." ] \
      [ INTERMEDIATE="<rg3>,<rg4>,..." ] \
      [ LOW="<rg5>,<rg6>,..." ]

# Acquisition/Release Order
clmgr add dependency \
      TYPE={ACQUIRE|RELEASE} \
      { SERIAL="{<rg1>,<rg2>,...|ALL}" |
      PARALLEL="{<rg1>,<rg2>,...|ALL}" }

clmgr modify dependency \
      TYPE={ACQUIRE|RELEASE} \
      { SERIAL="{<rg1>,<rg2>,...|ALL}" |
      PARALLEL="{<rg1>,<rg2>,...|ALL}" }

clmgr query dependency [ <dependency> ]

clmgr delete dependency {<dependency> | ALL} \
      [ TYPE={PARENT_CHILD|STOP_AFTER|START_AFTER| \
      SAME_NODE|SAME_SITE|DIFFERENT_NODES} ]

clmgr delete dependency RESOURCE_GROUP=<RESOURCE_GROUP>
Note: An alias for dependency is de.
Tape
            
clmgr add tape <tape> \
      DEVICE=<tape_device_name> \
      [ DESCRIPTION=<tape_device_description> ] \
      [ STARTSCRIPT="</script/to/start/tape/device>" ] \
      [ START_SYNCHRONOUSLY={no|yes} ] \
      [ STOPSCRIPT="</script/to/stop/tape/device>" ] \
      [ STOP_SYNCHRONOUSLY={no|yes} ]

clmgr modify tape <tape> \
      [ NAME=<new_tape_label> ] \
      [ DEVICE=<tape_device_name> ] \
      [ DESCRIPTION=<tape_device_description> ] \
      [ STARTSCRIPT="</script/to/start/tape/device>" ] \
      [ START_SYNCHRONOUSLY={no|yes} ] \
      [ STOPSCRIPT="</script/to/stop/tape/device>" ] \
      [ STOP_SYNCHRONOUSLY={no|yes} ]

clmgr query tape [ <tape>[,<tape#2>,...] ]

clmgr delete tape {<tape> | ALL}
Note: An alias for tape is tp.
File collection
            
clmgr add file_collection <file_collection> \
      FILES="/path/to/file1,/path/to/file2,..." \
      [ SYNC_WITH_CLUSTER={no|yes}  ] \
      [ SYNC_WHEN_CHANGED={no|yes} ] \
      [ DESCRIPTION="<file_collection_description>" ]

clmgr modify file_collection <file_collection> \
      [ NAME="<new_file_collection_label>" ] \
      [ ADD="/path/to/file1,/path/to/file2,..." ] \
      [ DELETE={"/path/to/file1,/path/to/file2,..."|ALL} ] \
      [ REPLACE={"/path/to/file1,/path/to/file2,..."|""} ] \
      [ SYNC_WITH_CLUSTER={no|yes}  ] \
      [ SYNC_WHEN_CHANGED={no|yes} ] \
      [ DESCRIPTION="<file_collection_description>" ]

clmgr query file_collection [ <file_collection>[,<fc#2>,...]]

clmgr delete file_collection {<file_collection>[,<fc#2>,...]|
                             ALL}
clmgr sync file_collection <file_collection>
Note: The REPLACE attribute replaces all existing files with the specified set. Aliases for file_collection are fc and fi.
Snapshot

clmgr add snapshot "<snapshot_name>" \
      [ DESCRIPTION="<snapshot_description>" ] \
      [ METHODS="method1 method2 ..." ] \
      [ MISC_INFO={false|true} ]

clmgr modify snapshot <snapshot> \
      [ NAME="<new_snapshot_label>" ] \
      [ DESCRIPTION="<snapshot_description>" ]

clmgr query snapshot [ <snapshot>[,<snapshot#2>,...] ]

clmgr view snapshot <snapshot> \
      [ TAIL=<number_of_trailing_lines> ] \
      [ HEAD=<number_of_leading_lines> ] \
      [ FILTER=<pattern>[,<pattern#2>,...] ] \
      [ DELIMITER=<alternate_pattern_delimiter> ] \
      [ CASE={insensitive|no|off|false} ]

clmgr delete snapshot {<snapshot>[,<snapshot#2>,...] |
                      ALL}
clmgr manage snapshot restore <snapshot> \
      [ CONFIGURE={yes|no} ] \
      [ FORCE={no|yes} ]
Note: The view action displays the contents of the .info file for the snapshot, if that file exists. Aliases for snapshot are sn and ss.

clmgr manage snapshot restore <snapshot> \
      NODES=<HOST>,<HOST#2> \
      REPOSITORIES=<DISK>[,<BACKUP>][:<DISK>[,<BACKUP>]] \
      [ CLUSTER_NAME=<NEW_CLUSTER_LABEL> ] \
      [ CONFIGURE={yes|no} ] \
      [ FORCE={no|yes} ]
Note: For the REPOSITORIES option, any disks specified after the colon are applied to the second site. When you restore a linked cluster snapshot, any disks specified after the colon in the REPOSITORIES option are applied to the second site.

clmgr compare snapshot <snapshot1>,<snapshot2> \
      [ SNAPSHOTPATH="/absolute/path/to/search/for/snapshots" ] \
      [ PAGER="pager_command" ] \
      [ SDIFF_OUTPUT_WIDTH="21 .. 2048" ] \
      [ SDIFF_FLAGS="flags_for_sdiff" ]
      [ SECTION="list,of,sections,to,compare" ] \
Method
            
clmgr add method <method_label> \
      TYPE=snapshot \
      FILE=<executable_file> \
      [ DESCRIPTION=<description> ] 

clmgr add method <method_label> \
      TYPE=verify \
      FILE=<executable_file> \
      [ SOURCE={script|library} ] \
      [ DESCRIPTION=<description> ]         

clmgr modify method <method_label> \
      TYPE={snapshot|verify} \
      [ NAME=<new_method_label> ] \
      [ DESCRIPTION=<new_description> ] \
      [ FILE=<new_executable_file> ]

clmgr add method <method_label> \
      TYPE=notify \
      CONTACT=<number_to_dial_or_email_address> \
      EVENT=<event>[,<event#2>,...] \
      [ NODES=<node>[,<node#2>,...] ] \
      [ FILE=<message_file> ] \
      [ DESCRIPTION=<description> ] \
      [ RETRY=<retry_count> ] \
      [ TIMEOUT=<timeout> ]
Note: NODES defaults to the local node.
            
clmgr modify method <method_label> \
      TYPE=notify \
      [ NAME=<new_method_label> ] \
      [ DESCRIPTION=<description> ] \
      [ FILE=<message_file> ] \
      [ CONTACT=<number_to_dial_or_email_address> ] \
      [ EVENT=<cluster_event_label> ] \
      [ NODES=<node>[,<node#2>,...] ] \
      [ RETRY=<retry_count> ] \
      [ TIMEOUT=<timeout> ]

clmgr query method [ <method>[,<method#2>,...] ] \
      [ TYPE={notify|snapshot|verify} ]

clmgr delete method {<method>[,<method#2>,...] | ALL} \
      [ TYPE={notify|snapshot|verify} ]

clmgr verify method <method>
Note: The verify action can only be applied to notify methods. If more than one method exploits the same event, and that event is specified, then both methods will be invoked. An alias for method is me.
Log
            
clmgr modify logs ALL DIRECTORY="<new_logs_directory>"

clmgr modify log {<log>|ALL} \
      [ DIRECTORY="{<new_log_directory>"|DEFAULT} ]
      [ FORMATTING={none|standard|low|high} ] \
      [ TRACE_LEVEL={low|high} ]
      [ REMOTE_FS={true|false} ]

clmgr query log [ <log>[,<log#2>,...] ]

clmgr view log [ {<log>|EVENTS} ] \
      [ TAIL=<number_of_trailing_lines> ] \
      [ HEAD=<number_of_leading_lines> ] \
      [ FILTER=<pattern>[,<pattern#2>,...] ] \
      [ DELIMITER=<alternate_pattern_delimiter> ] \
      [ CASE={insensitive|no|off|false} ]

clmgr manage logs collect \
      [ DIRECTORY="<directory_for_collection>" ] \
      [ NODES=<node>[,<node#2>,...] ] \
      [ RSCT_LOGS={yes|no} ] \
Note: When DEFAULT is specified for the DIRECTORY attribute, then the original, default PowerHA SystemMirror directory value is restored

The FORMATTING attribute only applies to the hacmp.out log, and is ignored for all other logs. The FORMATTING and TRACE_LEVEL attributes only apply to the hacmp.out and clstrmgr.debug logs, and are ignored all other logs.

When ALL is specified in place of a log name, then the provided DIRECTORY and REMOTE_FS modifications are applied to all the logs

When EVENTS is specified in place of a log name, then an events summary report is displayed.

Volume group
start of change

clmgr add volume_group [ <vgname> ] \
      [ NODES="<node#1>,<node#2>[,...>]" ]\
      [ PHYSICAL_VOLUMES="<disk#1>[,<disk#2>,...]" ]\
      [ TYPE={original|big|scalable|legacy} ] \
      [ RESOURCE_GROUP=<RESOURCE_GROUP> ] \
      [ PPART_SIZE={4|1|2|8|16|32|64|128|256|512|1024} ] \
      [ MAJOR_NUMBER=## ] \
      [ ACTIVATE_ON_RESTART={false|true} ] \
      [ QUORUM_NEEDED={true|false} ] \
      [ LTG_SIZE=### ] \
      [ MIGRATE_FAILED_DISKS={false|one|pool|remove} ] \
      [ MAX_PHYSICAL_PARTITIONS={32|64|128|256|512|768|1024} ] \
      [ MAX_LOGICAL_VOLUMES={256|512|1024|2048} ] \
      [ STRICT_MIRROR_POOLS={no|yes|super} ] \
      [ MIRROR_POOL_NAME="<mp_name>" ] \
      [ CRITICAL={false|true} ] \
      [ FAILUREACTION={halt|notify|fence|stoprg|moverg} ] \
      [ NOTIFYMETHOD=</file/to/invoke> ] \
      [ LVM_PREFERRED_READ=<roundrobin|favorcopy|siteaffinity> ] \
      [ ENABLE_LV_ENCRYPTION={yes|no} ]
      [ ENABLE_PV_ENCRYPTION={yes|no} ] \
         [ AUTH_METHOD={pks} ] \
         [ AUTH_METHOD_NAME=<Alias name for auth method> ]
end of change

start of changeTo enable physical volume encryption, PowerHA SystemMirror supports only platform keystore (PKS) type of authentication method. AUTH_METHOD_NAME is an alias name for the authentication method that is used to differentiate between multiple authentication methods that are configured for a physical volume.end of change

Note: Setting the volume group major number might result in the command being unable to execute successfully on a node that does not have the major number currently available. Check for a commonly available major number on all nodes before changing this setting.
clmgr modify volume_group <vgname> \
      [ ADD=<disk>,[<disk#n>,...] [ MIRROR_POOL_NAME="<mp_name>" ] ] \
      [ REMOVE=<disk>,[<disk#n>,...] ] \
      [ TYPE={big|scalable} ] \
      [ ACTIVATE_ON_RESTART={false|true} ] \
      [ QUORUM_NEEDED={true|false} ] \
      [ LTG_SIZE=### ] \
      [ MIGRATE_FAILED_DISKS={false|one|pool|remove} ] \
      [ MAX_PHYSICAL_PARTITIONS={32|64|128|256|512|768|1024} ] \
      [ MAX_LOGICAL_VOLUMES={256|512|1024|2048} ] \
      [ STRICT_MIRROR_POOLS={no|yes|super} ] \
      [ CRITICAL={false|true} ] \
      [ FAILUREACTION={halt|notify|fence|stoprg|moverg} ] \
      [ NOTIFYMETHOD="</file/to/invoke>" ] \
      [ SCSIPR_ACTION=<clear> ] \
      [ LVM_PREFERRED_READ=<roundrobin|favorcopy|siteaffinity> ] \
      [ ENABLE_LV_ENCRYPTION={yes|no} ]

MAX_PHYSICAL_PARTITIONS, MAX_LOGICAL_VOLUMES, and MIRROR_POOL_NAME only apply to scalable volume groups.

            
clmgr query volume_group [ <vg#1>[,<vg#2>,...] ] 

clmgr delete volume_group 
      {<volume_group> [,<vg#2>,...] | ALL }

clmgr discover volume_groups
Note: An alias for volume_group is vg.
Logical volume

clmgr add logical_volume [ <lvname> ] \
      VOLUME_GROUP=<vgname> \
      LOGICAL_PARTITIONS=## \
      [ DISKS="<disk#1>[,<disk#2>,...]" ] \
      [ TYPE={jfs|jfs2|sysdump|paging|jfslog|jfs2log|aio_cache|boot} ] \
      [ POSITION={outer_middle|outer_edge|center|inner_middle|inner_edge  } ] \
      [ PV_RANGE={minimum|maximum} ] \
      [ MAX_PVS_FOR_NEW_ALLOC=## ] \
      [ LPART_COPIES={1|2|3} ] \
      [ WRITE_CONSISTENCY={active|passive|off} ] \
      [ LPARTS_ON_SEPARATE_PVS={yes|no|superstrict} ] \
      [ RELOCATE={yes|no} ] \
      [ LABEL="<label>" ] \
      [ MAX_LPARTS=#### ] \
      [ BAD_BLOCK_RELOCATION={yes|no} ] \
      [ SCHEDULING_POLICY={parallel|sequential|parallel_sequential|parallel_round_robin} ] \
      [ VERIFY_WRITES={false|true} ] \
      [ ALLOCATION_MAP=<file> ] \
      [ STRIPE_SIZE={4K|8K|16K|32K|64K|128K|256K|512K|1M|2M|4M|8M|16M|32M|64M|128M} ] \
      [ SERIALIZE_IO={false|true} ] \
      [ FIRST_BLOCK_AVAILABLE={false|true} ] \
      [ FIRST_COPY_MIRROR_POOL=<mirror_pool> ] \
      [ SECOND_COPY_MIRROR_POOL=<mirror_pool> ] \
      [ THIRD_COPY_MIRROR_POOL=<mirror_pool> ] \
      [ GROUP=<group> ] \
      [ PERMISSIONS=<####> ] \
      [ NODE=<reference_node_in_vg> ] \
      [ ENABLE_LV_ENCRYPTION={yes|no} ] \
      [ AUTH_METHOD={keyserv|pks} ] \
      [ METHOD_DETAILS=<key server ID> ] \
      [ AUTH_METHOD_NAME=<Alias name for auth method> ]

clmgr modify logical_volume <lvname> \
             [ TYPE={jfs|jfs2|sysdump|paging|
                     jfslog|jfs2log|aio_cache|boot} ] \
             [ POSITION={outer_middle|outer_edge|center|
                         inner_middle|inner_edge  } ] \
             [ PV_RANGE={minimum|maximum} ] \
             [ MAX_PVS_FOR_NEW_ALLOC=## ] \
             [ MAX_LPARTS=#### ] \
             [ SCHEDULING_POLICY={parallel|sequential|
                                  parallel_sequential|
                                  parallel_round_robin} ] \
             [ LABEL="<lv_label>" ] \
             [ LOGICAL_PARTITIONS=#### ] \
             [ ENABLE_LV_ENCRYPTION={yes|no} ] \
             [ AUTH_METHOD={keyserv|pks} ] \
             [ METHOD_DETAILS=<key server ID> ] \
             [ AUTH_METHOD_NAME=<Alias name for auth method> ] \
             [ REMOVE_AUTH_METHOD=<auth method name for lv> ]
PowerHA SystemMirror supports only key server and platform keystore (PKS) types of authentication methods to enable the logical volume encryption. METHOD_DETAILS is an identifier that is specified during key server configuration. METHOD_DETAILS identifier is applicable only for the key server authentication method. For more information about key server configuration, see keysvrmgr Command. AUTH_METHOD_NAME is an alias name that is used to differentiate multiple authentication methods that are configured to a logical volume. When you enable the logical volume encryption, you must add either the PKS or key server authentication method to the logical volume to prevent errors generated during verification of cluster. REMOVE_AUTH_METHOD is a parameter that is used to remove the authentication method name. If you specify the REMOVE_AUTH_METHOD parameter, do not specify other parameters that are related to LV encryption.
Notes:
  • An alias for logical_group is lv.
  • STRIPE_SIZE might not be used with LPARTS_ON_SEPARATE_PVS, PV_RANGE, or SCHEDULING_POLICY.
            
clmgr query logical_volume [ <lvname>[,<LV#2>,...] ]

clmgr delete logical_volume {[ <lv#1>[,<LV#2>,...]  ] | ALL}
Note: An alias for logical_volume is lv.
File system

clmgr add file_system <fsname> \
      VOLUME_GROUP=<group> \
      TYPE=enhanced \
      UNITS=### \
      [ SIZE_PER_UNIT={megabytes|gigabytes|512bytes} ] \
      [ PERMISSIONS={rw|ro} ] 
      [ OPTIONS={nodev,nosuid,all} ] \
      [ BLOCK_SIZE={4096|512|1024|2048} ] \
      [ LV_FOR_LOG={ <lvname> | "INLINE" } ] \
      [ INLINE_LOG_SIZE=#### ] \
      [ EXT_ATTR_FORMAT={v1|v2} ] \
      [ ENABLE_QUOTA_MGMT={no|all|user|group} ] \
      [ ENABLE_EFS={false|true} ]
Notes:
  • BLOCK_SIZE is in bytes. LOG_SIZE is in megabytes.
  • LOG_SIZE and LV_FOR_LOG can only be used if INLINE_LOG is set to true.
  • The size for an enhanced file system is 16 MB.
          
clmgr add file_system <fsname> \
      TYPE=enhanced \
      LOGICAL_VOLUME=<logical_volume> \
      [ PERMISSIONS={rw|ro} ] \
      [ OPTIONS={nodev,nosuid,all} ] \
      [ BLOCK_SIZE={4096|512|1024|2048} ] \
      [ LV_FOR_LOG={ <lvname> | "INLINE" } ] \
      [ INLINE_LOG_SIZE=#### ] \
      [ EXT_ATTR_FORMAT={v1|v2} ] \
      [ ENABLE_QUOTA_MGMT={no|all|user|group} ] \
      [ ENABLE_EFS={false|true} ]

clmgr add file_system <fsname> \
      VOLUME_GROUP=<group> \
      TYPE={standard|compressed|large} \
      UNITS=### \
      [ SIZE_PER_UNIT={megabytes|gigabytes|512bytes} ] \
      [ PERMISSIONS={rw|ro} ] \
      [ OPTIONS={nodev|nosuid|all} ] \
      [ DISK_ACCOUNTING={false|true} ] \
      [ FRAGMENT_SIZE={4096|512|1024|2048} ] \
      [ BYTES_PER_INODE={4096|512|1024|2048|8192|16384|32768|65536|131072} ] \
      [ ALLOC_GROUP_SIZE={8|16|32|64} ] \
      [ LV_FOR_LOG=<lvname> ]
Note: FRAGMENT_SIZE is only valid for standard and compressed file systems.
            
clmgr add file_system <fsname> \
      TYPE={standard|compressed|large} \
      LOGICAL_VOLUME=<logical_volume> \
      [ PERMISSIONS={rw|ro} ] \
      [ OPTIONS={nodev|nosuid|all} ] \
      [ DISK_ACCOUNTING={false|true} ] \
      [ FRAGMENT_SIZE={4096|512|1024|2048} ] \
      [ BYTES_PER_INODE={4096|512|1024|2048|8192|16384|32768|65536|131072} ] \
      [ ALLOC_GROUP_SIZE={8|16|32|64} ] \
      [ LV_FOR_LOG=<lvname> ]

clmgr query file_system [ <fs#1>[,<fs#2>,...] ]  
          
clmgr delete file_system { <fsname>[,<FS#2>,...] | ALL } \
      [ REMOVE_MOUNT_POINT={false|true} ]

clmgr modify file_system <fsname> \
             UNITS=### \
                 [ SIZE_PER_UNIT={megabytes|gigabytes|512bytes} ] \
             [ NEW_FS_NAME=<new fs name> ] \
             [ PERMISSIONS={rw|ro} ] \
             [ EFS={yes|true} ]

Note:
  • An alias for file_system is fs.
  • You must not use the EFS option to create a non-EFS file system by using the clmgr command. The default value of an EFS option is false. In PowerHA SystemMirror 7.2.6, or later, the modify EFS option for a file system is turned off.
Physical volume

clmgr query physical_volume \
      [ <disk>[,<disk#2>,...] ] \
      [ NODES=<node>,<node#2>[,<node#3>,...] ] \
      [ TYPE={available|all|tiebreaker} ]
Note: Node can be either a node name or a network-resolvable name, for example, host name or IP address.

Disk can be either a device name (hdisk0) or a PVID (00c3a28ed9aa3512).

            
clmgr modify physical_volume <disk_name_or_PVID> \
      NAME=<new_disk_name> \
      [ NODE=<reference_node> ] \
      [ ALL_NODES={false|true} ] \
      [ SCSIPR_ACTION={clear} ]
Notes:
  • The NODE attribute is required if the specified disk is provided using a device name, such as hdisk#. If the disk is specified using the PVID, you do not need to reference the NODE attribute.
  • An alias for physical_volume is pv.
Mirror pool

clmgr add mirror_pool <pool_name> \
             VOLUME_GROUP=<vgname> \
             [ PHYSICAL_VOLUMES="<disk>[,<disk#2>,...]" ] \
             [ STORAGE_LOCATION={flashstorage|<sitename>} ]\
             [ MODE={sync|async} ] \
             [ ASYNC_CACHE_LV=<lvname> ] \
             [ ASYNC_CACHE_HW_MARK=## ]

 clmgr add mirror_pool <pool_name> \
             [ VOLUME_GROUP=<vgname> ] \
             PHYSICAL_VOLUMES="<disk>[,<disk#2>,...] \
             STORAGE_LOCATION={flashstorage|<sitename>}"
Note: If an add operation is performed on an existing mirror pool, the specified physical volumes are added to that mirror pool.

clmgr modify mirror_pool <pool_name> \
             [ VOLUME_GROUP=<vgname> ] \
             [ NAME=<new_pool_name> ] \
             [ STORAGE_LOCATION={flashstorage|<sitename>} ] \
             [ MODE={sync|async} ] \
             [ FORCE_SYNC={false|true} ] \
             [ ASYNC_CACHE_LV=<lvname> ] \
             [ ASYNC_CACHE_HW_MARK=## ] \

clmgr query mirror_pool [ <pool_name>[,<pool#2>,...] ]

clmgr delete mirror_pool <pool_name>,[,<pool#2>,...]| ALL }\
      [ VOLUME_GROUP=<vgname> ]

clmgr delete mirror_pool <pool_name> \
      [ VOLUME_GROUP=<vgname> ] \
      PHYSICAL_VOLUMES="<disk>[,<disk#2>,...]"
Notes:
  • When physical volumes are specified for a delete operation, the list of disks will be removed from the mirror pool. If all disks are removed, the mirror pool is removed.
  • An aliases for mirror_pool are mp and pool.
EFS
            
clmgr add efs \
      MODE=ldap \
      [ PASSWORD=<password> ]
clmgr add efs \
      MODE=shared_fs \
      VOLUME_GROUP=<vgname> \
      SERVICE_IP=<service_ip> \
      [ PASSWORD=<password> ]

clmgr modify efs \
      MODE={ldap|shared_fs} \
      [ VOLUME_GROUP=<vgname> ] \
      [ SERVICE_IP=<service_ip> ] \
      [ PASSWORD=<password> ]

clmgr query efs

clmgr delete efs
Report
            
clmgr view report [<report>] \
      [ FILE=<PATH_TO_NEW_FILE> ] \
      [ TYPE={text|html} ]

 clmgr view report {nodeinfo|rginfo|lvinfo|
       fsinfo|vginfo|dependencies} \
       [ TARGETS=<target>[,<target#2>,<target#n>,...] ] \
       [ FILE=<PATH_TO_OUTPUT_FILE> ] \
       [ TYPE={text|html} ]

clmgr view report cluster \
       TYPE=html \
       [ FILE=<PATH_TO_OUTPUT_FILE> ] \
       [ COMPANY_NAME="<BRIEF_TITLE>" ] \
       [ COMPANY_LOGO="<RESOLVEABLE_FILE>" ]

clmgr view report availability \
      [ TARGETS=<application>[,<app#2>,<app#n>,...] ] \
      [ FILE=<PATH_TO_OUTPUT_FILE> ] \
      [ TYPE={text|html} ] \
      [ BEGIN_TIME="YYYY:MM:DD" ] \
      [ END_TIME="YYYY:MM:DD" ]

clmgr view report snapshot \
       SNAPSHOT=<SNAPSHOT_NAME> \
      [ FILE=<PATH_TO_OUTPUT_FILE> ]

clmgr view report repositories \
      [ TYPE={text|html} ]

clmgr view report software \
      [ TYPE={text|html} ]

clmgr view report roha \
      [ TYPE={text|html} ]
Note: The currently supported reports are basic, cluster, status, topology, applications, availability, events, nodeinfo, repositories, rginfo, networks, vginfo, lvinfo, fsinfo, dependencies, software, and roha. Some of these reports provide overlapping information, but each also provides its own, unique information, as well.

The appctlr value is an abbreviation for application_controller.

MM must be 1 - 12. DD must be 1 - 31.

If no BEGIN_TIME is provided, then a report will be generated for the last 30 days prior to END_TIME.

If no END_TIME is provided, then the current time will be the default.

An alias for report is re.

LDAP server
The following syntax is used for configuring one or more LDAP servers for the cluster.

clmgr add ldap_server <server>[,<server#2>,...] \
      ADMIN_DN=<admin_distinguished_name> \
      PASSWORD=<admin_password> \
      BASE_DN=<suffix_distinguished_name> \
      SSL_KEY=<full_path_to_key> \
      SSL_PASSWORD=<SSL_key_password> \
      VERSION=<version> \
      DB2_INSTANCE_PASSWORD=<password> \
      ENCRYPTION_SEED=<seed> \
      [ SCHEMA=<schema_type> ] \
      [ PORT={636|###} ]
Note: An alias for ldap_server is ls.
The following syntax is used for adding one ore more LDAP servers that is already configured to the cluster.
            
clmgr add ldap_server <server>[,<server#2>,...] \
      ADMIN_DN=<admin_distinguished_name> \
      PASSWORD=<admin_password> \
      BASE_DN=<suffix_distinguished_name> \
      SSL_KEY=<full_path_to_key> \
      SSL_PASSWORD=<SSL_key_password> \
      [ PORT={636|###} ]
Note: If more than one server is specified, they must be in a peer-to-peer configuration, sharing the same port number.
            
clmgr query ldap_server
clmgr delete ldap_server
LDAP client
            
clmgr add ldap_client \
      SERVERS=<LDAP_server>[,<LDAP_server#2>]\
      BIND_DN=<bind_distinguished_name> \
      PASSWORD=<LDAP_admin_password> \
      BASE_DN=<base_dn> \
      SSL_KEY=<full_path_to_key> \
      SSL_PASSWORD=<SSL_key_password> \
      [ PORT={636|###} ] \

clmgr query ldap_client

clmgr delete ldap_client
Note: An alias for ldap_client is lc.
User
            
clmgr add/modify user <user_name> \
      [ REGISTRY={local|ldap} ] \
      [ RESOURCE_GROUP=<resource_group> ] \
      [ ID=### ] \
      [ PRIMARY=<group> ] \
      [ PASSWORD="{<password>|}" ] \
      [ CHANGE_ON_NEXT_LOGIN={true|false} ] \
      [ GROUPS=<group#1>[,<group#2>,...] ] \
      [ ADMIN_GROUPS=<group#1>[,<group#2>,...] ] \
      [ ROLES=<role#1>[,<role#2>,...] ] \
      [ SWITCH_USER={true|false} ] \
      [ SU_GROUPS={ALL|<group#1>[,<group#2>,...]} ] \
      [ HOME=<full_directory_path> ] \
      [ SHELL=<defined_in_/etc/shells> ] \
      [ INFO=<user_information> ] \
      [ EXPIRATION=<MMDDhhmmyy> ] \
      [ LOCKED={false|true} ] \
      [ LOGIN={true|false} ] \
      [ REMOTE_LOGIN={true|false} ] \
      [ SCHEDULE=<range#1>[,<range#2>,...>] ] \
      [ MAX_FAILED_LOGINS={#|0} ] \
      [ AUTHENTICATION={compat|files|DCE|ldap} ] \
      [ ALLOWED_TTYS=<tty#1>[,<tty#2>,...] ] \
      [ DAYS_TO_WARN={#|0} ] \
      [ PASSWORD_VALIDATION_METHODS=<meth#1>[,<meth#2>,...]]\
      [ PASSWORD_FILTERS=<filter#1>[,<filter#2>,...] ] \
      [ MIN_PASSWORDS=<number_of_passwords_before_reuse> ] \
      [ REUSE_TIME=<weeks_before_password_reuse> ] \
      [ LOCKOUT_DELAY=<weeks_btwn_expiration_and_lockout> ] \
      [ MAX_PASSWORD_AGE={0..52} ] \
      [ MIN_PASSWORD_LENGTH={0..8} ] \
      [ MIN_PASSWORD_ALPHAS={0..8} ] \
      [ MIN_PASSWORD_OTHERS={0..8} ] \
      [ MAX_PASSWORD_REPEATED_CHARS={0..52} ] \
      [ MIN_PASSWORD_DIFFERENT={0..8} ] \
      [ UMASK=#### ] \
      [ AUDIT_CLASSES=<class#1>[,<class#2>,...] ] \
      [ TRUSTED_PATH={nosak|on|notsh|always} ] \
      [ PRIMARY_AUTH={SYSTEM|.} ] \
      [ SECONDARY_AUTH={NONE|SYSTEM|<token>;<user>} ] \
      [ PROJECTS=<project#1>[,<project#2>,...] ] \
      [ KEYSTORE_ACCESS={file|none} ] \
      [ ADMIN_KEYSTORE_ACCESS={file|none} ] \
      [ KEYSTORE_MODE={admin|guard} ] \
      [ ALLOW_MODE_CHANGE={false|true} ] \
      [ KEYSTORE_ENCRYPTION={RSA_1024|RSA_2048|RSA_4096} ] \
      [ FILE_ENCRYPTION={AES_128_CBC|AES_128_EBC|AES_192_CBC|AES_192_ECB|AES_256_CBC|AES_256_ECB} ] \
      [ ALLOW_PASSWORD_CHANGE={no|yes} ]
Notes:
  • The INFO field only accepts alphanumeric characters including a space, an underscore (_), and a hyphen (-).
  • For an add operation, REGISTRY indicates where to create the user. For modify, it indicates which instance of the specified user to change.
  • SCHEDULE defines the times when the user is allowed to login to this system. The SCHEDULE value is a comma separated list of items as follows:
                         
    * [!][MMdd[-MMdd]]:hhmm-hhmm
    * [!]MMdd[-MMdd][:hhmm-hhmm]
    * [!][w[-w]]:hhmm-hhmm
    * [!]w[-w][:hhmm-hhmm]
    
    Where MM is a month number (00=January, 11=December), dd is the day of the month, hh is the hour of the day (00 - 23), mm is the minute of the hour, and w is the day of the week (0=Sunday, 6=Saturday). An exclamation point can be used to indicate that the access during the specified time range is disallowed.

    MAX_FAILED_LOGINS, DAYS_TO_WARN, MIN_PASSWORDS, REUSE_TIME can be set to zero to disable these features.

    LOCKOUT_DELAY can be set to -1 to disable these features.

            
clmgr modify user {<user_name> | ALL_USERS} \
      ALLOW_PASSWORD_CHANGE={no|yes}
Note: ALLOW_PASSWORD_CHANGE indicates if the user is allowed to change their password across the entire cluster using C-SPOC.
            
clmgr query user TYPE={AVAILABLE|ALLOWED}
clmgr query user RESOURCE_GROUP=<resource_group>
clmgr query user <user_name> \
      [ RESOURCE_GROUP=<resource_group> ]

clmgr delete user <user_name> \
      [ RESOURCE_GROUP=<resource_group> ] \
      [ REMOVE_AUTH_INFO={true|false} ]
      [ REGISTRY={files |LDAP} ]
Group
            
clmgr add group <group_name> 
      [ REGISTRY={local(files)|LDAP} ]
      [ RESOURCE_GROUP=<resource_group> ] \
      [ ID=### ] \
      [ ADMINISTRATIVE={false|true} ] \
      [ USERS=<user#1>[,<user#2>,...] ] \
      [ ADMINS=<admin#1>[,<admin#2>,...] ] \
      [ PROJECTS=<project#1>[,<project#2>,...] ] \
      [ KEYSTORE_MODE={admin|guard} ] \
      [ KEYSTORE_ENCRYPTION={ RSA_1024|RSA_2048|RSA_4096} ] \
      [ KEYSTORE_ACCESS={file|none} ] \
     
clmgr modify group <group_name> \
      [ RESOURCE_GROUP=<resource_group> ] \
      [ ID=### ] \
      [ ADMINISTRATIVE={false|true} ] \
      [ USERS=<user#1>[,<user#2>,...] ] \
      [ ADMINS=<admin#1>[,<admin#2>,...] ] \
      [ PROJECTS=<project#1>[,<project#2>,...] \
      [ KEYSTORE_MODE={admin|guard} ] \
      [ KEYSTORE_ENCRYPTION={ RSA_1024|RSA_2048|RSA_4096} ] \
      [ KEYSTORE_ACCESS={file|none} ]
Note: The RG option is required for locally defined groups. If the RG option is not provided, it is assumed there is an LDAP group.
            
clmgr query group RESOURCE_GROUP=<resource_group>
clmgr query group <group_name> \
      [ RESOURCE_GROUP=<resource_group> ]

clmgr delete group <group_name> \
      [ RESOURCE_GROUP=<resource_group> ] \
      [ REGISTRY={files|LDAP} ]
Note: The RG option is required for locally defined groups. An alias for group is gp.
Storage agent
           
clmgr add storage_agent <agent_name> \
      TYPE={ds8k_gm|xiv_rm} \
      ADDRESSES=<IP>[<IP#2>,...] \
      [ USER=<user_id> ] \
      [ PASSWORD=<password> ] \
      [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

clmgr modify storage_agent <agent_name> \
      [ NAME=<new_agent_name> ] \
      [ ADDRESSES=<IP>[<IP#2>,...] ] \
      [ USER=<user_id> ] \
      [ PASSWORD=<password> ] \
      [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

clmgr query storage_agent [ <agent>[,<agent#2>,...] ]

clmgr delete storage_agent {<agent>[,<agent#2>,...] | ALL}
Note: An alias for storage agent is sta.
Storage system
start of change
            
clmgr add storage_system <storage_system_name> \
      TYPE={ds8k_gm|xiv_rm} \
      SITE=<site> \
      AGENTS=<agent>[,<agent#2>,...] \
      VENDOR_ID=<identifier> \
      [ WWNN=<world_wide_node_name> ] \
      [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

clmgr add storage_system <storage_system_name> \
      TYPE=ds8k_inband_mm \
      SITE=<site> \d
      VENDOR_ID=<identifier> \
      [ WWNN=<world_wide_node_name> ] \
      [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

clmgr add storage_system <storage_system_name> \
      TYPE=svc \
      ADDRESSES=<IP>[<IP#2>,...] \
      USER=<username>
      BACKUP_PROFILE=true

clmgr add storage_system <storage_system_name> \
      TYPE=svc \
      SITE=<site> \
      ROLE={primary|auxiliary} \
      ADDRESSES=<IP>[<IP#2>,...] \
      PARTNER=<Remote Partner> \
      USER=<username> \
      [ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

clmgr add storage_system <storage_system_name> \
      TYPE=ds8k \ 
      ADDRESSES=<IP>[<IP#2>,...] \
      USER=<username> \
      PASSWORD=<password> \
      BACKUP_PROFILE=true

clmgr add storage_system <storage_system_name> \
      TYPE=svc \ 
      ADDRESSES=<IP>[<IP#2>,...] \
      USER=<username> \
      BACKUP_PROFILE=safeguard

clmgr modify storage_system <storage_system_name> \
      [ NAME=<new_storage_system_name> ] \
      [ SITE=<site> ] \
      [ AGENTS=<agent>[,<agent#2>,...] ] \
      [ WWNN=<world_wide_node_name> ] \
      [ VENDOR_ID=<identifier> ] \
      [ ADDRESSES=<IP>[<IP#2>,...] ] \
      [ PRIMARY=<Primary/Auxiliary> ] \
      [ PARTNER=<Remote Partner> ] \
      [ USER=<username> ] \
      [ PASSWORD=<password> ] \
      [ BACKUP_PROFILE={Enable|Disable} ] \  
      [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

clmgr query storage_system <storage_system>[,<storage_system#2>,...] BACKUP=1

clmgr -v query storage_system BACKUP=1
end of change
           
clmgr -a VENDOR_ID query storage_system \
      TYPE={ds8k_gm|ds8k_inband_mm|xiv_rm}
query => get, show
storage_system => sts

The following command lists the available vendor IDs:

start of change

clmgr delete storage_system {<storage_system>[,<storage_system#2>,...] | ALL}
[BACKUP_PROFILE={"Yes|no|safeguard"}]
end of change
Note: An alias for storage system is sts. Aliases for delete are erase, remove, and rm.
Mirror pair
            
clmgr add mirror_pair <mirror_pair_name> \
      FIRST_DISK=<disk_1> \
      SECOND_DISK=<disk_2>

clmgr modify mirror_pair <mirror_pair_name> \
      [ NAME=<new_mirror_pair_name> ] \
      [ FIRST_DISK=<disk_1> ] \
      [ SECOND_DISK=<disk_2> ]

clmgr query mirror_pair [ <mirror_pair>[,<mp#2>,...] ]

clmgr delete mirror_pair {<mirror_pair>[,<mp#2>,...] | ALL}
Note: An alias for mirror_pair is mip.
Mirror group

: HyperSwap user mirror groups
  clmgr add mirror_group <mirror_group_name> \
        TYPE=ds8k_inband_mm \
        MG_TYPE=user \
        VOLUME_GROUPS=<volume_group>[,<vg#2>,...] \
        DISKS=<raw_disk>[,<disk#2>,...] \
        [ HYPERSWAP_ENABLED={no|yes} ] \
        [ CONSISTENT={yes|no} ] \
        [ UNPLANNED_HS_TIMEOUT=## ] \
        [ HYPERSWAP_PRIORITY={medium|high} ] \
        [ RECOVERY={manual|auto} ] \
        [ RESYNC={manual|auto} ] \
        [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

 clmgr modify mirror_group <mirror_group_name> \
       [ NAME=<new_mirror_group_name> ] \
       [ VOLUME_GROUPS=<volume_group>[,<vg#2>,...] ] \
       [ DISKS=<raw_disk>[,<disk#2>,...] ] \
       [ STORAGE_SYSTEMS=<storage_system>[,<ss#2>,...] ] \
       [ HYPERSWAP_ENABLED={no|yes} ] \
       [ CONSISTENT={yes|no} ] \
       [ UNPLANNED_HS_TIMEOUT=## ] \
       [ HYPERSWAP_PRIORITY={medium|high} ] \
       [ RECOVERY={manual|auto} ] \
       [ RESYNC={manual|auto} ] \
       [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

: HyperSwap system mirror groups
  clmgr add mirror_group <mirror_group_name> \
        TYPE=ds8k_inband_mm \
        MG_TYPE=system \
        VOLUME_GROUPS=<volume_group>[,<vg#2>,...] \
        DISKS=<raw_disk>[,<disk#2>,...] \
        NODE=<node> \
        HYPERSWAP_ENABLED={no|yes} \
        [ CONSISTENT={yes|no} ] \
        [ UNPLANNED_HS_TIMEOUT=## ] \
        [ HYPERSWAP_PRIORITY={medium|high} ] \
        [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

  clmgr modify mirror_group <mirror_group_name> \
        [ NAME=<new_mirror_group_name> ] \
        [ VOLUME_GROUPS=<volume_group>[,<vg#2>,...] ] \
        [ DISKS=<raw_disk>[,<disk#2>,...] ] \
        [ NODE=<node> ] \
        [ STORAGE_SYSTEMS=<storage_system>[,<ss#2>,...] ] \
        [ HYPERSWAP_ENABLED={no|yes} ] \
        [ CONSISTENT={yes|no} ] \
        [ UNPLANNED_HS_TIMEOUT=## ] \
        [ HYPERSWAP_PRIORITY={medium|high} ] \
        [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

: HyperSwap repository mirror groups
  clmgr add mirror_group <mirror_group_name> \
        TYPE=ds8k_inband_mm \
        MG_TYPE=repository \
        SITE=<site> \
        NON_HS_DISK=<Non-HyperSwap_disk> \
        HS_DISK=<HyperSwap_disk> \
        [ HYPERSWAP_ENABLED={no|yes} ] \
        [ CONSISTENT={yes|no} ] \
        [ UNPLANNED_HS_TIMEOUT=## ] \
        [ HYPERSWAP_PRIORITY={medium|high} ] \
        [ RESYNC={manual|auto} ] \
        [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

  clmgr modify mirror_group <mirror_group_name> \
        [ NAME=<new_mirror_group_name> ] \
        [ SITE=<node> ] \
        [ NON_HS_DISK=<non-HyperSwap_disk> ] \
        [ HS_DISK=<HyperSwap_disk> ] \
        [ STORAGE_SYSTEMS=<storage_system>[,<ss#2>,...] ] \
        [ HYPERSWAP_ENABLED={no|yes} ] \
        [ CONSISTENT={yes|no} ] \
        [ UNPLANNED_HS_TIMEOUT=## ] \
        [ HYPERSWAP_PRIORITY={medium|high} ] \
        [ RESYNC={manual|auto} ] \
        [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

: DS8000 Global Mirror and XIV mirror groups
  clmgr add mirror_group <mirror_group_name> \
        TYPE={ds8k_gm|xiv_rm} \
        MODE={sync|async} \
        RECOVERY={auto|manual} \
        [ STORAGE_SYSTEMS=<storage_system>[,<ss#2>,...] ] \
        [ VENDOR_ID=<vendor_specific_identifier> ] \
        [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

  clmgr modify mirror_group <mirror_group_name> \
        [ NAME=<new_mirror_group_name> ] \
        [ MODE={sync|async} ] \
        [ RECOVERY={auto|manual} ] \
        [ STORAGE_SYSTEMS=<storage_system>[,<ss#2>,...] ] \
        [ VENDOR_ID=<vendor_specific_identifier> ] \
        [ ATTRIBUTES=<NAME>@<VALUE>[,<NAME#2>@<VALUE#2>,...] ]

: SVC mirror groups
  clmgr add mirror_group <mirror_group_name> \
        TYPE=svc \
        STORAGE_SYSTEMS=<MASTER_SVC>,<AUXILIARY_SVC> \
        [ MIRROR_PAIRS=<mirror_pair>[,<mirror_pair#2>,...] ] \
        [ MODE={sync|async} ] \
        [ RECOVERY={auto|manual} ]

  clmgr modify mirror_group <mirror_group_name> \
        [ NAME=<new_mirror_group_name> ] \
        [ STORAGE_SYSTEMS=<MASTER_SVC>,<AUXILIARY_SVC> ] \
        [ MIRROR_PAIRS=<mirror_pair>[,<mirror_pair#2>,...] ] \
        [ MODE={sync|async} ] \
        [ RECOVERY={auto|manual} ]

: Hitachi mirror groups
  clmgr add mirror_group <mirror_group_name> \
        TYPE=hitachi \
        VENDOR_ID=<device_group> \
        HORCM_INSTANCE=<instance> \
        [ MODE={sync|async} ] \
        [ RECOVERY={auto|manual} ] \
        [ HORCM_TIMEOUT=### ] \
        [ PAIR_EVENT_TIMEOUT=### ]

  clmgr modify mirror_group <mirror_group_name> \
        [ NAME=<new_mirror_group_name> ] \
        [ VENDOR_ID=<device_group> ] \
        [ HORCM_INSTANCE=<instance> ] \
        [ MODE={sync|async} ] \
        [ RECOVERY={auto|manual} ] \
        [ HORCM_TIMEOUT=### ] \
        [ PAIR_EVENT_TIMEOUT=### ]

: EMC mirror groups
  clmgr add mirror_group <mirror_group_name> \
        TYPE=emc \
        [ MG_TYPE={composite|device} ] \
        [ MODE={sync|async} ] \
        [ RECOVERY={auto|manual} ] \
        [ CONSISTENT={yes|no} ] \
        [ VENDOR_ID=<vendor_specific_identifier> ]

  clmgr modify mirror_group <mirror_group_name> \
       [ NAME=<new_mirror_group_name> ] \
       [ MG_TYPE={composite|device} ] \
       [ MODE={sync|async} ] \
       [ RECOVERY={auto|manual} ] \
       [ CONSISTENT={yes|no} ] \
       [ VENDOR_ID=<device_group> ]

: HyperSwap mirror groups
  clmgr {swap|view} mirror_group <mirror_group_name>[,<mg#2>,...] \
        [ NODE=<node_name> ]

  clmgr {swap|view} mirror_group \
        NODES=<node_name>[,<node#2>,...] \
        [ SYSTEM_GROUPS={yes|no} ]

  clmgr {swap|view} mirror_group \
        SITES=<site_name>[,<site#2>] \
        [ SYSTEM_GROUPS={yes|no} ] \
        [ REPOSITORY_GROUP={yes|no} ]
Note: The swap and view attributes are only valid for DS-Series Inband (HyperSwap®).
            
clmgr manage mirror_group refresh
      <mirror_group_name>[,<mg#2>,...] \
      [ NODE=<node_name> ]

clmgr manage mirror_group refresh \
      NODES=<node_name>[,<node#2>,...] \
      [ SYSTEM_GROUPS={yes|no} ]

clmgr manage mirror_group refresh \
      SITES=<site_name>[,<site#2>] \
      [ SYSTEM_GROUPS={yes|no} ] \
      [ REPOSITORY_GROUP={yes|no} ]

: All mirror groups
  clmgr query mirror_group [ <mirror_group>[,<mg#2>,...] ]

  clmgr delete mirror_group {<mirror_group>[,<mg#2>,...] | ALL}
Note: An alias for mirror_group is mig.
Event
            
clmgr add event <EVENT_NAME> \
         FILE=<EXECUTABLE_FILE> \
         [ DESCRIPTION=<EVENT_DESCRIPTION> ]

clmgr modify event <EVENT_NAME> \
         [ NAME=<NEW_EVENT_NAME> ] \
         [ FILE=<EXECUTABLE_FILE> ] \
         [ DESCRIPTION=<EVENT_DESCRIPTION> ]

clmgr modify event <PRE-DEFINED_EVENT_NAME> \
         [ NOTIFY_COMMAND=<COMMAND_OR_FILE> ] \
         [ PRE_EVENT_COMMAND=<CUSTOM_EVENT_OR_FILE> ] \ 
         [ POST_EVENT_COMMAND=<CUSTOM_EVENT_OR_FILE> ] \
         [ PREPOSTFAILS={false|true} ]

clmgr query event [ <EVENT_NAME>[,<EVENT_NAME#2>,...] ]
         [ TYPE={CUSTOM|PREDEFINED|ALL} ]

clmgr delete event { <EVENT_NAME>[,<EVENT_NAME#2>,...] | ALL }
Note: An alias for event is ev.
HMC

clmgr add hmc <HMC> \
        [ TIMEOUT=<###> ] \
        [ RETRY_COUNT=<###> ] \
        [ RETRY_DELAY=<###> ] \
        [ NODES=<node>[,<node#2>,...] ] \
        [ SITES=<site>[,<site#2>,...] ] \
        [ CHECK_HMC=<Yes|No> ]
        [ USER_NAME=<###> ] \
        [ PASSWORD=<###> ] 
clmgr modify hmc <HMC> \
        [ TIMEOUT=<###> ] \
        [ RETRY_COUNT=<###> ] \
        [ RETRY_DELAY=<###> ] \
        [ NODES=<node>[,<node#2>,...] ] \
        [ SITES=<site>[,<site#2>,...] ] \
        [ CHECK_HMC=<Yes|No> ]
        [ USER_NAME=<###> ] \
        [ PASSWORD=<###> ]
Note: If you are using SSH communication with HMC or Novalink, password is not required.
            
clmgr query hmc [<HMC>[,<HMC#2>,...]]

clmgr delete hmc {<HMC> | ALL}
Note: The clmgr delete example removes either the specified HMC, or all HMCs, associated with the specified node. If no nodes are specified, all nodes are removed.
Backup Profiles

clmgr add backup_profile {<resource_group>|ALL|rootvg_profile} \
        ENABLE_BACKUP={yes|no} \
        VOLUME_GROUP={<vg_name>[,<vg_name#2>,...]|ALL|rootvg} \   
        REPLICATED_RESOURCES={<replicated_resource>[,<replicated_resource#2>,...]|mappings_file} \
        BACKUP_METHOD=<cloud> \
        STORAGE_NAME={<storage_name>[,<storage_name#2>,...]} \
        BUCKET_NAME={<bucket_name>} \
        TARGET_LOCATION=<directory> \
        [ CLOUD_SERVICE={ibm|aws} ] \
        [ COMPRESSION={enabled|disabled} ] \
        [ BACKUP_FREQUENCY=<0...999 days> ] \
        [ BACKUP_SCHEDULE=<HH:MM> ] \
        [ INC_BACKUP_FREQ=<0...999 hours>] \
        [ NOTIFYMETHOD=</script/to/notify> ] \
        [ ENCRYPTION={disable|kms|aes} ]

clmgr add backup_profile {<resource_group>|ALL} \
        ENABLE_BACKUP={yes|no} \
        VOLUME_GROUP={<vg_name>[,<vg_name#2>,...]|ALL} \
        REPLICATED_RESOURCES={<replicated_resource>[,<replicated_resource#2>,...]|mappings_file} \
        BACKUP_METHOD=<remote_storage>
        STORAGE_NAME={<storage_name>[,storage_name#2>,...]} \
        [ NOTIFYMETHOD=</script/to/notify> ]
Note: Aliases for add are create, make, and mk. Aliases for backup_profile are bp, backup_p, and replication_profile.

clmgr modify backup_profile <resource_group|rootvg_profile> \
        [ ENABLE_BACKUP={yes|no} ] \
        [ VOLUME_GROUP={<vg_name>[,<vg_name#2>,...]|ALL|rootvg} ] \
        [ REPLICATED_RESOURCES={<replicated_resource>[,<replicated_resource#2>,...]|mappings_file} \
        [ STORAGE_NAME={<storage_name>[,<storage_name#2>,...]} \
        [ BUCKET_NAME={<bucket_name>} ] \
        [ TARGET_LOCATION=<directory> ] \
        [ CLOUD_SERVICE={ibm|aws} ] \
        [ COMPRESSION={enabled|disabled} ] \
        [ BACKUP_FREQUENCY=<0...999 days> ] \
        [ BACKUP_SCHEDULE=<HH:MM> ] \
        [ INC_BACKUP_FREQ=<0...999 hours>] \
        [ NOTIFYMETHOD=</script/to/notify> ] \
        [ ENCRYPTION={disable|kms|aes} ]

 clmgr modify backup_profile <resource_group> \
        [ ENABLE_BACKUP={yes|no} ] \
        [ VOLUME_GROUP={<vg_name>[,<vg_name#2>,...]|ALL} ] \
        [ REPLICATED_RESOURCES={<replicated_resource>[,<replicated_resource#2>,...]|mappings_file} \
        [ STORAGE_NAME={<storage_name>[,<storage_name#2>,...]} \
        [ NOTIFYMETHOD=</script/to/notify> ] \
Note: Aliases for modify are change and set. Aliases for backup_profile are bp, backup_p, and replication_profile.

clmgr delete backup_profile {<resource_group>[,<resource_group#2>,...] | ALL} \
        [ CANCEL_BACKUP={no|yes} ] \
Note: Aliases for delete are erase, remove, and rm. Aliases for backup_profile are bp, backup_p, and replication_profile.

clmgr query backup_profile {<resource_group>[,<resource_group#2>,...]}
Note: Aliases for query are get, list, ls, and show. Aliases for backup_profile are bp, backup_p, and replication_profile.

clmgr query backup_files \
        BUCKET_NAME=<bucket_name> \
        RG_NAME=<rg_name> \
        [ START_TIME=<yyyy-mm-ddThh> ] \
        [ END_TIME=<yyyy-mm-ddThh> ]

 clmgr query backup_files \
        BUCKET_NAME=<bucket_name> \
        [ RG_NAME=<rg_name> ] \
        [ START_TIME=<yyyy-mm-ddThh> ] \
        [ END_TIME=<yyyy-mm-ddThh> ]
 
clmgr query backup_files \
        RG_NAME=<rg_name> \
        [ BUCKET_NAME=<bucket_name> ] \
        [ START_TIME=<yyyy-mm-ddThh> ] \
        [ END_TIME=<yyyy-mm-ddThh> ]
Note: Aliases for query are get and show. Aliases for backup_files are bf and backup_f.
clmgr recover backup \
                VOLUME_GROUP=<vg_name>\
                BUCKET_NAME=<bucket_name>\
                [CLOUD_SERVICE=<IBM|AWS>]\
                TARGET_DISKS=<disk>[,<disk#2>,...]\
                BACKUP_FILE=<backup_filename_to_restore> \
                [NODES=<host>[,<host#2>,...]] \
                [DOWNLOAD_PATH=<Download path for intermediate backup files >] 
Note: An alias for recover is rc.
clmgr query restore \
                BACKUP_FILES=yes\
                CLOUD_SERVICE=<IBM/AWS> \
                BUCKET_NAME=<bucket>
clmgr query restore \
                TARGET_DISKS=yes \
                BACKUP_FILE=<backup_file> \
                CLOUD_SERVICE=<IBM/AWS> \
                BUCKET_NAME=<bucket> \
                [NODES=<host>[,<host#2>,…]]
Note: BACKUP_FILES and TARGET_DISKS should not be used at a time for clmgr query restore. Aliases for query are get and show.
CoD

clmgr add cod <APPCTRL> \
      [ USE_DESIRED="Yes|No"> ] \
      [ OPTIMAL_MEM=#.## ]  \
      [ OPTIMAL_CPU=# ]  \
      [ OPTIMAL_PU=#.## ] \
      [ OPTIMAL_VP=# ]

clmgr modify cod <APPCTRL> \
      [ USE_DESIRED="Yes|No"> ] \
      [ OPTIMAL_MEM=#.## ] \
      [ OPTIMAL_CPU=# ] \
      [ OPTIMAL_PU=#.## ] \
      [ OPTIMAL_VP=# ]
Notes:
  • You can use this command to provision the optimal level of resources that are required to run the application controller.
  • If you set USE_DESIRED=1, the desired level of the LPAR profile that provides the optimal level of resources for the application controller is used.
  • If you set USE_DESIRED=0, you can be more precise and use the OPTIMAL_MEM, OPTIMAL_CPU, OPTIMAL_PU and OPTIMAL_VP values to configuring the level of resources that are required by the application controller.
  • Provisioning a level of resources for an application controller allows PowerHA SystemMirror to perform operations (DLPAR, On/Off CoD, EPCoD) that provide the optimal level of resources for the application controller.
  • You can check the level of provisioning by verifying your cluster with the clmgr verify cluster command.
  • Aliases for cod are roha, dlpar, and cuod.
            
clmgr query cod [<APPCTRL> ]

clmgr delete cod {<APPCTRL> | ALL}
			

Examples

In the following examples, the class attribute for the clmgr command is not case sensitive. For example, in the following command, the NODES attribute could be NODES, nodes, or Nodes.
clmgr create cluster clMain NODES=nodeA,nodeB
  1. The following example creates a PowerHA SystemMirror Standard Edition for AIX cluster that contains two nodes named nodeA and nodeB. The cluster name is haCL, and it has a repository disk named hdisk5. The environment requires the use of a predetermined multicast address of 229.9.3.17 for the cluster.
    
    clmgr create cluster haCL NODES=nodeA,nodeB \
          REPOSITORY=hdisk5 \
          CLUSTER_IP=229.9.3.17
    clmgr sync cluster
    
    Note: The CLUSTER_IP attribute is required in this example only because the environment requires a multicast address. If a multicast address is not provided, the system selects an address based on the addresses currently in use at that time.
  2. The following example creates a standard (nonconcurrent) resource group using default policies. The resource group is named db2RG, contains a service IP address named access1, and contains an application controller named db2Controller. The resource group manages two nonconcurrent volume groups named vg1 and vg2.
    
    clmgr add resource_group db2RG SERVICE_IP=access1 \
          APPLICATIONS=db2Controller \
          VOLUME_GROUP=vg1,vg2
    
    clmgr sync cluster
    
  3. You can use the following commands to check the status of various objects inside a cluster.
    
    clmgr -a STATE query cluster
    
    clmgr -a STATE query node nodeA
    
    clmgr -a STATE query resource_group rg1
    
    Note:
    • The STATE class returns a logical worst-case aggregation for the entire cluster. For example, if one cluster in a four-node cluster is experiencing an error, the status returned for the entire cluster is reported as an error.
    • The value returned from running this command is in the standard ATTR=VALUE format. For example, if a cluster is offline, the value returned is STATE=OFFLINE.
    • You can retrieve multiple attributes at once by using the -a flag. For example, if you run the following command, you get both the name and state of the cluster:
      clmgr -a STATE,NAME query cluster
  4. All actions, classes, and attributes can be shortened to either an explicitly named alias or the fewest number of characters that make them unique. The following examples display the full command on and the shortened version of the same command below it.
    • 
      clmgr query resource_group
      
      clmgr q rg
      
    • 
      clmgr modify node mynode PERSISTENT_IP=myIP NETWORK=myNet
      
      clmgr mod node mynode pe=myIP netw=myNet
      
    • 
      clmgr online node nodeA
      
      clmgr start node nodeA
      
    Note: The shortening of these actions, classes, and attributes is intended for use when you are using the clmgr command interactively on a cluster. Although these abbreviations can be used within scripts, avoid using them inside scripts because they do not provide easily readable code.
  5. Help information is provided from the command line for the clmgr command. If you do not know the entire command that you want to run, you can type as much as you know and help information is displayed. For example, if you provide an invalid object or value for part of the command, the help information displays only valid objects or values. Run the following commands as examples to view how different help information is displayed from the command line.
    clmgr
    clmgr view
    
    clmgr view report
    
    clmgr view report -h
    
    Note: You can only use the -h flag after either an object class or a set of option pairs that request a listing of all valid options for a particular operation. This flag is the only flag for the clmgr command that need not be placed immediately after the clmgr command.
The following examples describe some common usage scenarios of clmgr command. All of the examples have been tested. Substitute the value for values that are valid for your environment. The following tasks are the basis for the scenarios and are described in detail.
  • Create a cluster
  • Create a resource group
  • Check current status
  • View all attributes and settings
  • Display objects based on some filter or criteria
  • Make the clmgr command a little easier to use
  • Get instant help for the clmgr command

Example: Create a standard cluster

Details:

This cluster is a standard cluster with two nodes and does not have any associated sites. The cluster name is DB2_cluster and the nodes are named DBPrimary and DBBackup. The repository disk is created on the disk named hdisk5.

Examples:

  • 
    clmgr create cluster DB2_cluster NODES=DBPrimary,DBBackup REPOSITORY=hdisk5
    
  • clmgr sync cluster
Comments:
  • The repository disk resolves on the node that runs the clmgr command. You can specify the repository disk in PVID or UUID format.
  • A heartbeat type was not specified. Thus, the cluster uses the default of unicast communication.
  • The clmgr command is not case-sensitive. You can specify the repository attribute as REPOSITORY, Repository, or repository.

Example: Create a stretched cluster

Details:

This cluster is a stretched cluster named Oracle_cluster. The cluster has four nodes named Ora1, Ora2, Ora3, and Ora4. The cluster has two sites named Ora_Primary and Ora_Secondary. The site named Ora_Primary manages the nodes named Ora1 and Ora2. The site named Ora_Secondary manages the nodes named Ora3 and Ora4. The repository disk is created on the disk named hdisk5. The cluster uses multicast communication as the heartbeat type.

Examples:

  • 
    clmgr create cluster Oracle_cluster \
          NODES=Ora1,Ora2,Ora3,Ora4 \
          TYPE=SC \
          REPOSITORY=hdisk5 \
          HEARTBEAT_TYPE=multicast
    
  • clmgr add site Ora_Primary NODES=Ora1,Ora2
  • clmgr add site Ora_Secondary NODES=Ora3,Ora4
  • clmgr sync cluster

Comment:

The repository disk resolves on the node that runs the clmgr command. You can specify the repository disk in PVID or UUID format.

Example: Create a linked cluster

Details:

This cluster is a linked cluster named SAP-cluster. The cluster has four nodes named SAP-A1, SAP-A2, SAP-B1, and SAP-B2. The cluster has two sites named SAP_Active and SAP_Backup. The site named SAP_Active manages the nodes named SAP-A1 and SAP-A2. The site named SAP_Backup manages the nodes named SAP-B1 and SAP-B2. The repository disk on the SAP_Active site is named hdisk5. The repository disk on the SAP_Backup site is named hdisk11. The cluster uses unicast communication for the heartbeat type.

Examples:

  • 
    clmgr create cluster SAP-cluster \
          NODES=SAP-A1,SAP-A2,SAP-B1,SAP-B2 \
          TYPE=LC \
          HEARTBEAT_TYPE=unicast
    
  • clmgr add site SAP_Active NODES=SAP-A1,SAP-A2 REPOSITORY=hdisk5
  • clmgr add site SAP_Backup NODES=SAP-B1,SAP-B2 REPOSITORY=hdisk11
  • clmgr sync cluster

Comments:

  • A linked cluster requires that each site has a repository disk. You must identify a repository disk for each site.
  • A Repository disk resolves on the first node that the clmgr command is able to communicate with. For linked clusters, the first node that is defined for each site is the node that the clmgr command attempts to communicate with. In this example, the hdisk5 repository disk resolves on the SAP-A1 node and the hdisk11 repository disk resolves on the SAP-B1 node.
  • You can specify the repository disk in PVID or UUID format.

Example: Create a resource group

Details:

This resource group will be a standard (non-concurrent) resource group, using default policies, and will be named db2RG. The resource group will contain a service IP address named access1, and an application controller named db2Controller. Further, the resource group will also manage two volume groups named vg1 and vg2, neither of which are concurrent.

Examples:

  • 
    clmgr add resource_group db2RG SERVICE_IP=access1 \
          APPLICATIONS=db2Controller \
          VOLUME_GROUP=vg1,vg2
    
  • clmgr sync cluster

Example: Check current status

Details:

Very often it is important to know exactly what state a given object is in, so that appropriate actions can be taken. Using clmgr, this can be done via the query action.

Examples:

  • clmgr -a STATE query cluster
    
  • clmgr -a STATE query site siteA
    
  • clmgr -a STATE query node nodeA
    
  • clmgr -a STATE query resource_group rg1

Comments:

  • For both the site and cluster classes, the STATE that is returned is a logical, worst-case aggregation of the member nodes. For example, in four node cluster, if even one node is experiencing an error, the status of the whole cluster will be reported as ERROR.
  • The value returned will be in the standard ATTR=VALUE format, such as STATE=OFFLINE. If you need just the value, then you can combine a couple of other flags with the -a to good effect to achieve this. Using the flag combination of -cSa will return just the VALUE, such as OFFLINE. This will only work for a single value at a time.
  • It is possible to retrieve multiple attributes at once with the -a flag, such as -a NAME,STATE. Further, the -a flag is not case sensitive (-a Name,state), and supports wildcards (-a N*).

Example: View all attributes and settings

Details:

PowerHA SystemMirror is a product that, once set up and fully tested, is typically no longer actively interacted with until either a problem occurs, or some sort of maintenance is required. When such things occur, it is necessary to be able to view the contents of the cluster, plus all settings. With clmgr, this is done using the query action, optionally requesting specific formats, colon-delimited or XML. The following command examples use resource groups, but the principles are the same for all object classes.

Examples:

  • clmgr query resource_group
    
  • clmgr query resource_group rg1,rg2
    
  • clmgr -c query resource_group rg1,rg2
    
  • clmgr -x query resource_group rg1,rg2
    
  • clmgr -v query resource_group
    
  • clmgr -cv query resource_group
    
  • clmgr -xv query resource_group
Comments:
  • When no target object is provided in a query command, and the verbose flag, -v , is not used, a simple listing of objects is displayed.
  • When one or more target objects are provided in a query command, then all the known attributes or settings for those objects are displayed. This overrides the -v flag.
  • When the -v flag is used with the query command, all the known attributes or settings for all known objects of the specified class are displayed.
  • When detailed attributes or settings are displayed, by default they are displayed in ATTR=VALUE format, one per line. If -c is provided, then all values are displayed on one line in colon-delimited format. If -x is provided, then all attributes and values are displayed in a simple XML format.

Example: Display objects based on some filter or criteria

Details:

It is not uncommon to have large numbers of objects defined for a given class, such as resource groups, or to have large numbers settings defined within a given class. This can sometimes make it challenging to find the information that you really need. Fortunately, clmgr provides the ability to specify filtering criteria to the query action to solve this problem.

Examples:

  • clmgr query file_collection FILE="*rhosts*"
    
  • clmgr query resource_group CURRENT_NODE=`get_local_nodename`
Comments:
  • The first example shows a simple way to find an object that contains a particular value or setting; in this case, which file collection that contains a file named rhosts (note that wildcard characters are supported here).
  • The second example shows a nice practical example of how to find an object that matches dynamic value. In this case, the example shows how to obtain the list of all resource groups that are currently running on the local node.
  • This filtering capability can be used in combination with the -a flag to provide very powerful, flexible data retrieval.

Example: Make clmgr a little easier to use

Details:

Nothing in clmgr is case sensitive, which helps eliminate frustrating typing mistakes. Further, all actions, classes, and attributes or options can be shortened to either an explicitly named alias ( such as start instead of online, or rg instead of resource_group), or to the fewest number of letters that make them unique. The following pairs of commands are functionally identical.

Examples:

  • 
    clmgr query resource_group
    clmgr q rg
    
  • 
    clmgr modify node mynode PERSISTENT_IP=myIP NETWORK=myNet
    clmgr mod node mynode pe=myIP netw=net_ether_0
    
  • clmgr online node nodeA
    clmgr start node nodeA

Comments:

The shortening of actions and classes is intended for when clmgr is being used interactively within a terminal. Although these abbreviations can also be used in scripts, it is strongly suggested that scripts use the full names of both actions and classes. Doing so will provide more readable and serviceable code.

Example: Get instant help for clmgr

Details:

Help is always available online for clmgr. However, launching a web browser is often inconvenient, and sometimes impractical, or even impossible. So clmgr provides as much built-in help has it can, so that you might be able to get the help you need now. One type of help provided is when an object or value from a known set of objects or values is required. If an invalid object or value is provided, not only is an appropriate error message displayed, but also a list of the objects or values that are valid for that operation. This is wonderful in helping you overcome persistent typing errors! More help is available from clmgr when you are not sure what action, class, or object is needed. Just type as much as you know, then clmgr will tell you all the values that could possibly be next. Then you only have to choose one of them to proceed! Try running the following commands to see some examples of the help that clmgr is prepared to provide to you.

Examples:

  • clmgr
    
  • clmgr view
    
  • clmgr view report
    
  • clmgr view report -h

Comments:

The -h flag, when provided on the command line after either an object class or some set of option pairs, requests a listing of all valid options for this particular operation. This is the only flag in clmgr command that does not have to be positioned immediately after clmgr command itself.