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
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
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.
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 fordelete
. 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 forfile_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 enterFC
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
- Application controller
- Application monitor
- Backup Profiles
- Cluster
- CoD
- Dependency
- EFS
- Event
- Fallback timer
- File collection
- File system
- Group
- HMC
- Interface
- LDAP Client
- LDAP Server
- Log
- Logical volume
- Method
- Mirror group
- Mirror pair
- Mirror pool
- Network
- Node
- Persistent IP/Label
- Physical volume
- Report
- Repository
- Resource group
- Service IP/Label
- Site
- Snapshot
- Storage agent
- Storage system
- Tape
- User
- Volume group
- 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} ]
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} ]
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} ]
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} ]
clmgr modify cluster \ [ SPLIT_POLICY={none|tiebreaker|manual|NFS|Cloud} ] \ [ TIEBREAKER=<disk> ] \ [ 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} ]
Note: After sites are fully defined and synchronized and if sites are already in use, the cluster type cannot be modified.clmgr query cluster [ ALL | {CORE,SECURITY,SPLIT-MERGE,HMC,ROHA} ] clmgr delete cluster [ NODES={ALL|<node>[,<node#2>,...}] ]
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 theRESOURCE_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 theRESOURCE_DIST_PREF
attribute uses theCS
orACS
value, theSOURCE_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 3clmgr 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 theREPOSITORIES
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 theREPOSITORIES
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 restoredThe 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 for 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
-
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} ]
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> ]
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.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> ]
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. - 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:
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.* [!][MMdd[-MMdd]]:hhmm-hhmm * [!]MMdd[-MMdd][:hhmm-hhmm] * [!][w[-w]]:hhmm-hhmm * [!]w[-w][:hhmm-hhmm]
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
-
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 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> ] \ [ 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
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:
clmgr delete storage_system {<storage_system>[,<storage_system#2>,...] | ALL} [BACKUP_PROFILE={"Yes|no"}]
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: Theswap
andview
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> ] clmgr modify hmc <HMC> \ [ TIMEOUT=<###> ] \ [ RETRY_COUNT=<###> ] \ [ RETRY_DELAY=<###> ] \ [ NODES=<node>[,<node#2>,...] ] \ [ SITES=<site>[,<site#2>,...] ] \ [ CHECK_HMC=<Yes|No> ]
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>,...]} \ 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>,...]} \ 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>,...]} \ [ 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>,...]} \ [ 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. - 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 theOPTIMAL_MEM
,OPTIMAL_CPU
,OPTIMAL_PU
andOPTIMAL_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
NODES
attribute could be
NODES
, nodes
, or Nodes
.
clmgr create cluster clMain NODES=nodeA,nodeB
- 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: TheCLUSTER_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. - 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
- 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 isSTATE=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
- The
- 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. -
- 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 theclmgr
command.
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
- 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
, orrepository
.
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 theSAP-A1
node and thehdisk11
repository disk resolves on theSAP-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
- 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`
- 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.