JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Cluster Data Services Planning and Administration Guide     Oracle Solaris Cluster 4.1
search filter icon
search icon

Document Information

Preface

1.  Planning for Oracle Solaris Cluster Data Services

2.  Administering Data Service Resources

Overview of Tasks for Administering Data Service Resources

Configuring and Administering Oracle Solaris Cluster Data Services

Registering a Resource Type

How to Register a Resource Type

Upgrading a Resource Type

How to Install and Register an Upgrade of a Resource Type

How to Migrate Existing Resources to a New Version of the Resource Type

How to Unregister Older Unused Versions of the Resource Type

Downgrading a Resource Type

How to Downgrade a Resource to an Older Version of Its Resource Type

Creating a Resource Group

How to Create a Failover Resource Group

How to Create a Scalable Resource Group

Configuring Failover and Scalable Data Services on Shared File Systems

How to Configure a Failover Application Using the ScalMountPoint Resource

How to Configure a Scalable Application Using the ScalMountPoint Resource

Tools for Adding Resources to Resource Groups

How to Add a Logical Hostname Resource to a Resource Group by Using the clsetup Utility

How to Add a Logical Hostname Resource to a Resource Group Using the Command-Line Interface

How to Add a Shared Address Resource to a Resource Group by Using the clsetup Utility

How to Add a Shared Address Resource to a Resource Group Using the Command-Line Interface

How to Add a Failover Application Resource to a Resource Group

How to Add a Scalable Application Resource to a Resource Group

Bringing Resource Groups Online

How to Bring Resource Groups Online

Switching Resource Groups to Preferred Primaries

How to Switch Resource Groups to Preferred Primaries

Enabling a Resource

How to Enable a Resource

Quiescing Resource Groups

How to Quiesce a Resource Group

How to Quiesce a Resource Group Immediately

Suspending and Resuming the Automatic Recovery Actions of Resource Groups

Immediately Suspending Automatic Recovery by Killing Methods

How to Suspend the Automatic Recovery Actions of a Resource Group

How to Suspend the Automatic Recovery Actions of a Resource Group Immediately

How to Resume the Automatic Recovery Actions of a Resource Group

Disabling and Enabling Resource Monitors

How to Disable a Resource Fault Monitor

How to Enable a Resource Fault Monitor

Removing Resource Types

How to Remove a Resource Type

Removing Resource Groups

How to Remove a Resource Group

Removing Resources

How to Remove a Resource

Switching the Current Primary of a Resource Group

How to Switch the Current Primary of a Resource Group

Disabling Resources and Moving Their Resource Group Into the UNMANAGED State

How to Disable a Resource and Move Its Resource Group Into the UNMANAGED State

Displaying Resource Type, Resource Group, and Resource Configuration Information

Changing Resource Type, Resource Group, and Resource Properties

How to Change Resource Type Properties

How to Change Resource Group Properties

How to Change Resource Properties

How to Change Resource Dependency Properties

How to Modify a Logical Hostname Resource or a Shared Address Resource

Clearing the STOP_FAILED Error Flag on Resources

How to Clear the STOP_FAILED Error Flag on Resources

Clearing the Start_failed Resource State

How to Clear a Start_failed Resource State by Switching Over a Resource Group

How to Clear a Start_failed Resource State by Restarting a Resource Group

How to Clear a Start_failed Resource State by Disabling and Enabling a Resource

Upgrading a Preregistered Resource Type

Information for Registering the New Resource Type Version

Information for Migrating Existing Instances of the Resource Type

Reregistering Preregistered Resource Types After Inadvertent Deletion

How to Reregister Preregistered Resource Types After Inadvertent Deletion

Adding or Removing a Node to or From a Resource Group

Adding a Node to a Resource Group

How to Add a Node to a Scalable Resource Group

How to Add a Node to a Failover Resource Group

Removing a Node From a Resource Group

How to Remove a Node From a Scalable Resource Group

How to Remove a Node From a Failover Resource Group

How to Remove a Node From a Failover Resource Group That Contains Shared Address Resources

Example - Removing a Node From a Resource Group

Synchronizing the Startups Between Resource Groups and Device Groups

Managed Entity Monitoring by HAStoragePlus

Troubleshooting Monitoring for Managed Entities

Additional Administrative Tasks to Configure HAStoragePlus Resources for a Zone Cluster

How to Set Up the HAStoragePlus Resource Type for New Resources

How to Set Up the HAStoragePlus Resource Type for Existing Resources

Configuring an HAStoragePlus Resource for Cluster File Systems

Sample Entries in /etc/vfstab for Cluster File Systems

How to Set Up the HAStoragePlus Resource for Cluster File Systems

How to Delete an HAStoragePlus Resource Type for Cluster File Systems

Enabling Highly Available Local File Systems

Configuration Requirements for Highly Available Local File Systems

Format of Device Names for Devices Without a Volume Manager

Sample Entries in /etc/vfstab for Highly Available Local File Systems

How to Set Up the HAStoragePlus Resource Type by Using the clsetup Utility

How to Set Up the HAStoragePlus Resource Type to Make File Systems Highly Available Other Than Solaris ZFS

How to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS File System Highly Available

How to Delete an HAStoragePlus Resource That Makes a Local Solaris ZFS Highly Available

Sharing a Highly Available Local File System Across Zone Clusters

Configuration Requirements for Sharing a Highly Available Local File System Directory to a Zone Cluster

How to Set Up the HAStorage Plus Resource Type to Share a Highly Available Local File System Directory to a Zone Cluster

Modifying Online the Resource for a Highly Available Local File System

How to Add File Systems Other Than Solaris ZFS to an Online HAStoragePlus Resource

How to Remove File Systems Other Than Solaris ZFS From an Online HAStoragePlus Resource

How to Add a Solaris ZFS Storage Pool to an Online HAStoragePlus Resource

How to Remove a Solaris ZFS Storage Pool From an Online HAStoragePlus Resource

Changing a ZFS Pool Configuration That is Managed by an HAStoragePlus Resource

How to Change a ZFS Pool Configuration That is Managed by an HAStoragePlus Resource in an Offline State

How to Change a ZFS Pool Configuration That is Managed by an Online HAStoragePlus Resource

How to Recover From a Fault After Modifying the FileSystemMountPoints Property of an HAStoragePlus Resource

How to Recover From a Fault After Modifying the Zpools Property of an HAStoragePlus Resource

Changing the Cluster File System to a Local File System in an HAStoragePlus Resource

How to Change the Cluster File System to Local File System in an HAStoragePlus Resource

Upgrading the HAStoragePlus Resource Type

Information for Registering the New Resource Type Version

Information for Migrating Existing Instances of the Resource Type

Distributing Online Resource Groups Among Cluster Nodes

Resource Group Affinities

Enforcing Collocation of a Resource Group With Another Resource Group

Specifying a Preferred Collocation of a Resource Group With Another Resource Group

Distributing a Set of Resource Groups Evenly Among Cluster Nodes

Specifying That a Critical Service Has Precedence

Delegating the Failover or Switchover of a Resource Group

Combining Affinities Between Resource Groups

Zone Cluster Resource Group Affinities

Configuring the Distribution of Resource Group Load Across Nodes

How to Configure Load Limits for a Node

How to Set Priority for a Resource Group

How to Set Load Factors for a Resource Group

How to Set Preemption Mode for a Resource Group

How to Concentrate Load Onto Fewer Nodes in the Cluster

Enabling Oracle Solaris SMF Services to Run With Oracle Solaris Cluster

Encapsulating an SMF Service Into a Failover Proxy Resource Configuration

Encapsulating an SMF Service Into a Multi-Master Proxy Resource Configuration

Encapsulating an SMF Service Into a Scalable Proxy Resource Configuration

Tuning Fault Monitors for Oracle Solaris Cluster Data Services

Setting the Interval Between Fault Monitor Probes

Setting the Timeout for Fault Monitor Probes

Defining the Criteria for Persistent Faults

Complete Failures and Partial Failures of a Resource

Dependencies of the Threshold and the Retry Interval on Other Properties

System Properties for Setting the Threshold and the Retry Interval

Specifying the Failover Behavior of a Resource

Index

Enabling Oracle Solaris SMF Services to Run With Oracle Solaris Cluster

The Service Management Facility (SMF) enables you to automatically start and restart SMF services, during a node boot or service failure. SMF facilitates some degree of high availability to the SMF services on a single host. This feature is similar to the Oracle Solaris Cluster Resource Group Manager (RGM), which facilitates high availability and scalability for cluster applications. SMF services and RGM features are complementary to each other.

Oracle Solaris Cluster includes three SMF proxy resource types that can be used to enable SMF services to run with Oracle Solaris Cluster in a failover, multi-master, or scalable configuration. The following are the proxy resource types:

The SMF proxy resource types enables you to encapsulate a set of interrelated SMF services into a single resource, SMF proxy resource to be managed by Oracle Solaris Cluster. In this feature, SMF manages the availability of SMF services on a single node. Oracle Solaris Cluster provides cluster-wide high availability and scalability of the SMF services.

You can use the SMF proxy resource types to integrate your own SMF controlled services into Oracle Solaris Cluster so that these services have cluster-wide service availability without you rewriting callback methods or service manifest. After you integrate the SMF service into the SMF proxy resource, the SMF service is no longer managed by the default restarter. The restarter that is delegated by Oracle Solaris Cluster manages the SMF service.

SMF proxy resources are identical to other resources, with no restriction on their usage. For example, an SMF proxy resource can be grouped with other resources into a resource group. SMF proxy resources can be created and managed the same way as other resources. An SMF proxy resource differs from other resources in one way. When you create a resource of any of the SMF proxy resource types, you need to specify the extension property Proxied_service_instances. You must include information about the SMF services to be proxied by the SMF resource. The extension property's value is the path to a file that contains all the proxied SMF services. Each line in the file is dedicated to one SMF service and specifies svc fmri, path of the corresponding service manifest file.

For example, if the resource has to manage two services, restarter_svc_test_1:default and restarter_svc_test_2:default, the file should include the following two lines:

<svc:/system/cluster/restarter_svc_test_1:default>,</var/svc/manifest/system/clus
ter/restarter_svc_test_1.xml>
<svc:/system/cluster/restarter_svc_test_2:default>,</var/svc/manifest/system/clus
ter/restarter_svc_test_2.xml>

The services that are encapsulated under an SMF proxy resource can reside in the global cluster. All the services under the same proxy resource must be in the same zone.


Caution

Caution - Do not use SMF svcadm for disabling or enabling SMF services that are encapsulated in a proxy resource. Do not change the properties of the SMF services (in the SMF repository) that are encapsulated in a proxy resource.


Encapsulating an SMF Service Into a Failover Proxy Resource Configuration

For information about failover configuration, see Creating a Resource Group


Note - Perform this procedure from any cluster node.


  1. On a cluster member, assume the root role that provides solaris.cluster.modify RBAC authorization.
  2. Register the proxy SMF failover resource type.
    # clresourcetype register -f \
    /opt/SUNWscsmf/etc/SUNW.Proxy_SMF_failover SUNW.Proxy_SMF_failover
  3. Verify that the proxy resource type has been registered.
    # clresourcetype show 
  4. Create the SMF failover resource group.
    # clresourcegroup create [-n node-zone-list] resource-group
    -n nodelist

    Specifies a comma-separated, ordered list of nodes that can master this resource group.

    This list is optional. If you omit this list, the resource group is configured on all cluster nodes.

    resource-group

    Specifies your choice of the name of the resource group to add. This name must begin with an ASCII character.

  5. Verify that the SMF resource group has been created.
    # clresourcegroup status resource-group
  6. Add an SMF failover application resource to the resource group.
    # clresource create -g resource-group -t SUNW.Proxy_SMF_failover \
    -p Port_list=portnumber/protocol \
    -x Proxied_service_instances=/tmp/dns_svcs.txt
    -g resource-group

    Specifies the name of the SMF failover resource group that you previously created.

    -p Port_list=portnumber/protocol

    Specifies the port number the instance will use to listen for activity. The protocol can be either tcp or udp.

    -p Proxied_service_instances

    Specifies the path to the file you created that specifies the mapping of SMF services and their corresponding manifests for the SMF services to be proxied. In the example above, /tmp/dns_svcs.txt is the path to the text file.

    The resource is created in the enabled state.

  7. Verify that the SMF failover application resource has been added and validated.
    # clresource show resource
  8. Bring the failover resource group online.
    # clresourcegroup online -M resource-group

    Note - If you use the clresource status command to view the state of the SMF proxy resource type, the status is displayed as online but not monitored. This is not an error message. The SMF proxy resource is enabled and running and this status message is displayed because there is no monitoring support provided for the resources of SMF proxy resource type.


Example 2-55 Registering an SMF Proxy Failover Resource Type

The following example registers the SUNW.Proxy_SMF_failover resource type.

# clresourcetype register SUNW.Proxy_SMF_failover
# clresourcetype show SUNW.Proxy_SMF_failover

Resource Type:              SUNW.Proxy_SMF_failover
RT_description:             Resource type for proxying failover SMF services 
RT_version:                 2.0
API_version:                7
RT_basedir:                 /opt/SUNWscsmf/bin
Single_instance:            False
Proxy:                      False
Init_nodes:                 All potential masters
Installed_nodes:            <All>
Failover:                   True
Pkglist:                    <NULL>
RT_system:                  False
Global_zone:                False

Example 2-56 Adding an SMF Proxy Failover Application Resource to a Resource Group

This example shows the addition of a proxy resource type, SUN.Proxy_SMF_failover to a resource group resource-group-1.

# clresource create -g resource-group-1 -t SUNW.Proxy_SMF_failover \
-x proxied_service_instances=/var/tmp/svslist.txt resource-1
# clresource show resource-1

=== Resources ===

  Resource:                                  resource-1
  Type:                                      SUNW.Proxy_SMF_failover
  Type_version:                              2.0
  Group:                                     resource-group-1
  R_description:                             
  Resource_project_name:                     default
  Enabled{phys-schost-1}:                    True 
  Monitored{phys-schost-1}:                  True
 

Encapsulating an SMF Service Into a Multi-Master Proxy Resource Configuration

  1. On a cluster member, assume the root role that provides solaris.cluster.modify RBAC authorization.
  2. Register the SMF proxy multi-master resource type.
    # clresourcetype register -f \
    /opt/SUNWscsmf/etc/SUNW.Proxy_SMF_multimaster SUNW.Proxy_SMF_multimaster
  3. Create the SMF multi-master resource group.
    # clresourcegroup create -S [-p Maximum_primaries=m] [-p Desired_primaries=n] \
    [-n node-zone-list] resource-group
    -S

    Specifies that the resource group is to be multi-mastered. If the -p Maximum_primaries and -p Desired_primaries options are omitted, both properties are set to the number of nodes in the resource group's node list.

    -p Maximum_primaries=m

    Specifies the maximum number of active primaries for this resource group.

    -p Desired_primaries=n

    Specifies the number of active primaries on which the resource group should attempt to start.

    -n nodelist

    Specifies a comma-separated, ordered list of nodes in which this resource group is to be available.

    This list is optional. If you omit this list, the resource group is configured on all cluster nodes.

    resource-group

    Specifies your choice of the name of the scalable resource group to add. This name must begin with an ASCII character.

  4. Verify that the SMF proxy multi-master resource group has been created.
    # clresourcegroup show resource-group
  5. Add an SMF proxy multi-master resource to the resource group.
    # clresource create -g resource-group -t SUNW.Proxy_SMF_multimaster \
    -p Port_list=portnumber/protocol \
    -x Proxied_service_instances=/tmp/dns_svcs.txt
    -g resource-group

    Specifies the name of the SMF multi-master resource group that you previously created.

    -p Port_list=portnumber/protocol

    Specifies the port number the instance will use to listen for activity. The protocol can be either tcp or udp.

    -p Proxied_service_instances

    Specifies the path to the file you created that specifies the mapping of SMF services and their corresponding manifests for the SMF services to be proxied. In the example above, /tmp/dns_svcs.txt is the path to the text file.

    The resource is created in the enabled state.

  6. Verify that the SMF proxy multi-master application resource has been added and validated.
    # clresource show resource
  7. Bring the multi-master resource group online.
    # clresourcegroup online -M resource-group

    Note - If you use the clresource status command to view the state of the SMF proxy resource type, the status is displayed as online but not monitored. This is not an error message. The SMF proxy resource is enabled and running and this status message is displayed because there is no monitoring support provided for the resources of SMF proxy resource type.


Example 2-57 Registering an SMF Proxy Multi-Master Resource Type

The following example registers the SUNW.Proxy_SMF_multimaster resource type.

# clresourcetype register SUNW.Proxy_SMF_multimaster
# clresourcetype show SUNW.Proxy_SMF_multimaster

Resource Type:            SUNW.Proxy_SMF_multimaster
RT_description:           Resource type for proxying multimastered SMF services 
RT_version:               2.0
API_version:              7
RT_basedir:               /opt/SUNWscsmf/bin
Single_instance:          False
Proxy:                    False
Init_nodes:               All potential masters
Installed_nodes:          <All>
Failover:                 True
Pkglist:                  <NULL>
RT_system:                False
Global_zone:              False

Example 2-58 Creating and Adding an SMF Proxy Multi-Master Application Resource to a Resource Group

This example shows the creation and addition of a multi-master proxy resource type SUN.Proxy_SMF_multimaster to a resource group resource-group-1.

# clresourcegroup create -S \
-p Maximum_primaries=2 \
-p Desired_primaries=2 \
-n phys-schost-1, phys-schost-2 resource-group-1
# clresourcegroup show resource-group-1

=== Resource Groups and Resources ===          

Resource Group:                        resource-group-1
RG_description:                        <NULL>
RG_mode:                               multimastered
RG_state:                              Unmanaged
RG_project_name:                       default
RG_affinities:                         <NULL>
Auto_start_on_new_cluster:             True
Failback:                              False
Nodelist:                              phys-schost-1 phys-schost-2
Maximum_primaries:                      2
Desired_primaries:                      2
Implicit_network_dependencies:         True
Global_resources_used:                 <All>
Pingpong_interval:                      3600
Pathprefix:                            <NULL>
RG_System:                             False
Suspend_automatic_recovery:            False
# clresource create -g resource-group-1 -t SUNW.Proxy_SMF_multimaster \
-x proxied_service_instances=/var/tmp/svslist.txt resource-1
# clresource show resource-1

=== Resources ===

  Resource:                              resource-1
  Type:                                  SUNW.Proxy_SMF_multimaster
  Type_version:                          2.0 
  Group:                                 resource-group-1
  R_description:                         
  Resource_project_name:                 default
  Enabled{phys-schost-1}:                True 
  Monitored{phys-schost-1}:              True
 

Encapsulating an SMF Service Into a Scalable Proxy Resource Configuration

For information about scalable configuration, see How to Create a Scalable Resource Group.


Note - Perform this procedure from any cluster node.


  1. On a cluster member, assume the root role that provides solaris.cluster.modify RBAC authorization.
  2. Register the SMF proxy scalable resource type.
    # clresourcetype register -f \
    /opt/SUNWscsmf/etc/SUNW.Proxy_SMF_scalable SUNW.Proxy_SMF_scalable  
  3. Create the SMF failover resource group that holds the shared address that the scalable resource group is to use. See How to Create a Failover Resource Group to create the failover resource group.
  4. Add the shared address resource to the failover resource group.

    See How to Add a Shared Address Resource to a Resource Group Using the Command-Line Interface.

  5. Create the SMF proxy scalable resource group.
    # clresourcegroup create -S [-p Maximum_primaries=m] [-p Desired_primaries=n] \
    [-n node-zone-list] resource-group
    -S

    Specifies that the resource group is to be multi-mastered. If the -p Maximum_primaries and -p Desired_primaries options are omitted, both properties are set to the number of nodes in the resource group's node list.

    -p Maximum_primaries=m

    Specifies the maximum number of active primaries for this resource group.

    -p Desired_primaries=n

    Specifies the number of active primaries on which the resource group should attempt to start.

    -n nodelist

    Specifies a comma-separated, ordered list of nodes in which this resource group is to be available.

    This list is optional. If you omit this list, the resource group is created on all nodes in the cluster.

    resource-group

    Specifies your choice of the name of the scalable resource group to add. This name must begin with an ASCII character.

  6. Verify that the scalable resource group has been created.
    # clresourcegroup show resource-group
  7. Add an SMF proxy scalable resource to the scalable resource group you created in Step 5.
    # clresource create-g resource-group -t SUNW.Proxy_SMF_scalable \
    -p Resource_dependencies=network-resource[,network-resource...] \
    -p Scalable=True \
    -p Port_list=portnumber/protocol \
    -x Proxied_service_instances=/tmp/dns_svcs.txt
    -p Resource_dependencies=network-resource[,network-resource...]

    Specifies the name of the scalable network resource you created in Step 3 on which this resource depends.

    -g resource-group

    Specifies the name of the SMF proxy scalable resource group that you previously created.

    -p Scalable=True

    Specifies that this resource uses the network load balancing features of Oracle Solaris Cluster software. For more information, see How to Add a Scalable Application Resource to a Resource Group.

    The resource is created in the enabled state.

  8. Verify that the SMF proxy scalable application resource has been added and validated.
    # clresource show resource
  9. Bring the SMF proxy scalable resource group online.
    # clresourcegroup online -M resource-group

    Note - If you use the clresource status command to view the state of the SMF proxy resource type, the status is displayed as online but not monitored. This is not an error message. The SMF proxy resource is enabled and running and this status message is displayed because there is no monitoring support provided for the resources of SMF proxy resource type.


Example 2-59 Registering an SMF Proxy Scalable Resource Type

The following example registers the SUNW.Proxy_SMF_scalable resource type.

# clresourcetype register SUNW.Proxy_SMF_scalable
# clresourcetype show SUNW.Proxy_SMF_scalable

Resource Type:           SUNW.Proxy_SMF_scalable
RT_description:          Resource type for proxying scalable SMF services 
RT_version:              2.0
API_version:             7
RT_basedir:              /opt/SUNWscsmf/bin
Single_instance:         False
Proxy:                   False
Init_nodes:              All potential masters
Installed_nodes:         <All>
Failover:                True
Pkglist:                 <NULL>
RT_system:               False
Global _zone:            False

Example 2-60 Creating and Adding an SMF Proxy Scalable Application Resource to a Resource Group

This example shows the creation and addition of a scalable proxy resource type SUN.Proxy_SMF_scalalble to a resource group resource-group-1.

# clresourcegroup create -S \
-p Maximum_primaries=2 \
-p Desired_primaries=2 \
-p RG_dependencies=resource-group-2 \
-n phys-schost-1, phys-schost-2 resource-group-1
# clresourcegroup show resource-group-1

=== Resource Groups and Resources ===          

Resource Group:                      resource-group-1
RG_description:                     <NULL>
RG_mode:                             Scalable
RG_state:                            Unmanaged
RG_project_name:                     default
RG_affinities:                       <NULL>
Auto_start_on_new_cluster:           True
Failback:                            False
Nodelist:                            phys-schost-1 phys-schost-2
Maximum_primaries:                   2
Desired_primaries:                   2
RG_dependencies:                     resource-group2
Implicit_network_dependencies:       True
Global_resources_used:               <All>
Pingpong_interval:                   3600
Pathprefix:                          <NULL>
RG_System:                            False
Suspend_automatic_recovery:           False
# clresource create -g resource-group-1 -t SUNW.Proxy_SMF_scalable \
-p resource_dependencies=net-res -p port_list=1080/tcp \
-x proxied_service_instances=/var/tmp/svslist.txt resource-1
# clresource show resource-1

=== Resources ===

  Resource:                            resource-1
  Type:                                SUNW.Proxy_SMF_scalable
  Type_version:                        2.0
  Group:                               resource-group-1
  R_description:                       
  Resource_project_name:               default
  Enabled{phys-schost-1}:              True 
  Monitored{phys-schost-1}:            True
 

You can choose the resource_dependencies and port number to use.