Skip Navigation Links
Exit Print View
| Oracle Solaris Cluster Reference Manual Oracle Solaris Cluster 4.1

Search Scope:

- This Document
- Entire Library

### scha_cluster_get

- access cluster information

### Synopsis

    scha_cluster_get  -O optag [-Z zoneclustername] [args]

## Description

The `scha_cluster_get` command accesses and generates information about a cluster. You can access information about the cluster, nodes, host names, resource groups, resource types, and states.

The command is intended for use in shell script implementations of callback methods for resource types. These callback methods for resource types represent services that are controlled by the cluster's Resource Group Manager (RGM). This command provides the same information as the `scha_resource_get()` function.

This command sends output to the standard output (`stdout`) in formatted strings on separate lines, as described in the `scha_cmds`(1HA) man page. You can store the output in shell variables. You can also parse the output with shell commands such as the `awk` command.

## Options

The following options are supported:

`-O` optag

  The optag argument indicates the information to be accessed. Depending on the optag, an additional argument may be needed to indicate the cluster node for which information is to be retrieved.

  Note - optag options, such as `NODENAME_LOCAL` and `NODENAME_NODEID`, are not case sensitive. You can use any combination of uppercase and lowercase letters when you specify optag options.

  The following optag values are supported:

  `ALL_LOADLIMITS`

    Generates on successive lines all the `loadlimit` names defined in the global cluster or zone cluster.

  `ALL_NODEIDS`

    Generates on successive lines the numeric node identifiers of all nodes in the cluster.

  `ALL_NODENAMES`

    Generates on successive lines the names of all nodes in the cluster.

  `ALL_PRIVATELINK_HOSTNAMES`

    Generates on successive lines the host names by which all cluster nodes are addressed on the cluster interconnect.

  `ALL_PSTRINGS`

    Generates on successive lines the names, but not the values, of all private strings in the cluster. For more information about private strings, see the `clpstring`(1CL) man page.

  `ALL_RESOURCEGROUPS`

    Generates on successive lines the names of all the resource groups that are being managed in the cluster.

  `ALL_RESOURCETYPES`

    Generates on successive lines the names of all the resource types that are registered in the cluster.

  `ALL_ZONES`

    Generates on successive lines the `nodename:zonename` string of all zones, including the global zone, on all nodes in the cluster.

    Only if the following conditions occur is a non-global zone included in the output of this query:

    - The non-global zone booted at least once since the cluster was brought online.

    - The non-global zone successfully started the Service Management Facility (SMF) service `/system/cluster/sc_ng_zones`.

    Non-global zones that do not execute the SMF service `/system/cluster/sc_ng_zones` cannot master resource groups, and are therefore not included in the output.

  `ALL_ZONES_NODEID`

    Generates on successive lines the `nodename:zonename` string of all zones, including the global zone, on the cluster node whose numeric node identifier is given as the argument.

    Only if the following conditions occur is a non-global zone included in the output of this query:

    - The non-global zone booted at least once since the cluster was brought online.

    - The non-global zone successfully started the Service Management Facility (SMF) service `/system/cluster/sc_ng_zones`.

    Non-global zones that do not execute the SMF service `/system/cluster/sc_ng_zones` cannot master resource groups, and are therefore not included in the output.

  `CLUSTERNAME`

    Generates the name of the cluster.

  `HARD_LOADLIMIT`

    Generates on successive lines the hard limit set for a specific `limitname` for all nodes in the global cluster or zone cluster. It requires an additional unflagged `string` argument that is a load limit name string.

    Each element of the string array output is of the format `"%s=%d"`, where the left-side string is a nodename or nodename:zonename, and the right-side integer is the hard load limit value for the specified limit name on that node. If no hard limit is specified, the value of `-1` is displayed for the hard limit.

  `LOADLIMIT_PROPS`

    Generates on successive lines the hard and soft limits (delimited by `/`) for all nodes in the global cluster or zone cluster. It requires an additional unflagged `string` argument that is a load limit name string.

    Each element of the string array output is a string of the format `"%s=%d/%d"`, where the left-side string is a nodename or nodename:zonename, the first integer is the soft limit, and the second integer is the hard limit. If no hard limit is specified, the value of `-1` is displayed for the hard limit. If no soft limit is specified, the value `0` is displayed for the soft limit.

  `LOADLIMITS_NODE`

    Generates on successive lines the load limits (delimited by `/`) set for a specific node. It requires an additional unflagged `string` argument that is a load limit name string.

    Each element of the string array output is a string of the format `"%s=%d/%d"`, where the string is a limitname defined on the specified node, the first, integer is the soft limit value, and the second integer is the hard limit value. If no hard limit is specified, the value of `-1` is displayed for the hard limit. If no soft limit is specified, the value `0` is displayed for the soft limit.

  `NODEID_LOCAL`

    Generates the numeric node identifier for the node where the command is executed.

  `NODEID_NODENAME`

    Generates the numeric node identifier of the node indicated by the name. Requires an additional unflagged argument that is the name of a cluster node.

  `NODENAME_LOCAL`

    Generates the name of the cluster node where the command is executed.

  `NODENAME_NODEID`

    Generates the name of the cluster node indicated by the numeric identifier. Requires an additional unflagged argument that is a numeric cluster node identifier.

  `NODESTATE_LOCAL`

    Generates `UP` or `DOWN` depending on the state of the node where the command is executed.

  `NODESTATE_NODE`

    Generates `UP` or `DOWN` depending on the state of the named node. Requires an additional unflagged argument that is the name of a cluster node.

  `PRIVATELINK_HOSTNAME_LOCAL`

    Generates the host name by which the node on which the command is run is addressed over the cluster interconnect.

  `PRIVATELINK_HOSTNAME_NODE`

    Generates the host name by which the named node is addressed on the cluster interconnect. Requires an additional unflagged argument that is the name of a cluster node.

  `PSTRING`

    Generates the clear text value of a private string. Requires an additional unflagged argument that is the name of a private string. Users other than superuser require `solaris.cluster.modify` role-based access control (RBAC) authorization to use this query tag. For more information on private strings, see the `clpstring`(1CL) man page.

  `RESOURCE_SECURITY`

    Generates the current setting of the `resource_security` cluster property.

  `SOFT_LOADLIMIT`

    Generates on successive lines the soft load limit set for a specific `limitname` for all nodes in the cluster. It requires an additional unflagged `string` argument that is a load limit name string.

    Each element of the string array output is of the format `"%s=%d"`, where the left-side string is a nodename or nodename:zonename, and the right-side integer is the soft load limit value for the specified limit name on that node. If no soft limit is specified, the value of `0` is displayed for the soft limit.

  `SYSLOG_FACILITY`

    Generates the number of the `syslog`(3C) facility that the RGM uses for log messages. The value is `24`, which corresponds to the `daemon` facility. You can use this value as the facility level in the `logger`(1) command to log messages in the cluster log.

`-Z` zoneclustername

  Specifies the cluster on which you want to operate. This option is applicable when the command is executed in the global zone but needs to operate on a specified zone cluster. It cannot be used within a zone cluster to access a different zone cluster.

  zoneclustername

    Specifies that the query is to be performed in the zone cluster named zoneclustername.

  If the `-Z` option is omitted, the query is performed in the cluster in which the command is executed.

  To query the value of a per-zone property such as node state in the global cluster, do not use the `-Z` option. Instead, use the per-zone form of the query tag. For example, use `NODESTATE_NODE` instead of `NODESTATE`, and provide an extra command-line argument of the form nodename:zonename.

## Examples

Example 1 Using the `scha_cluster` Command in a Shell Script

The following shell script uses the `scha_cluster` command to print whether each cluster node is up or down:

    #!/bin/sh
    nodenames=`scha_cluster_get -O All_Nodenames`
    for node in $nodenames
    do
         state=`scha_cluster_get -O NodeState_Node $node`
         printf "State of node: %s\n exit: %d\n value: %s\n" "$node" $? "$state"
    done

Example 2 Using the `scha_cluster` Command to View a Node's Load Limits

The following command displays all load limits that were defined for node `node1`.

    # scha_cluster_get -O LOADLIMITS_NODE node1
    factor1=50/100
    factor2=0/4

## Exit Status

The following exit status codes are returned:

`0`

  Successful completion.

nonzero

  An error occurred.

  Error codes are described in `scha_calls`(3HA).

## Attributes

See `attributes`(5) for descriptions of the following attributes:

ATTRIBUTE TYPE | ATTRIBUTE VALUE
--- | ---
Availability | `ha-cluster/developer/api`
Interface Stability | Stable

## See Also

`awk`(1), `logger`(1), `sh`(1), `scha_cmds`(1HA), `syslog`(3C), `scha_calls`(3HA), `scha_cluster_get`(3HA), `attributes`(5), `rg_properties`(5)

Copyright © 2000, 2012, Oracle and/or its affiliates. All rights reserved. Legal Notices |