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

Upgrading a Resource Type

Upgrading a resource type enables you to use new features that are introduced in the new version of the resource type. A new version of a resource type might differ from a previous version in the following ways.

Upgrading a resource type involves the tasks that are explained in the following sections:

  1. How to Install and Register an Upgrade of a Resource Type

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

How to Install and Register an Upgrade of a Resource Type

The instructions that follow explain how to use the clresource command to perform this task. However, you are not restricted to using the clresource command for this task. Instead of the clresource command, you can use the Resource Group option of the clsetup command to perform this task. See clsetup(1CL) for more information.

Before You Begin

Consult the documentation for the resource type to determine what you must do before installing the upgrade package on a node. One action from the following list will be required:

If you must reboot the node in noncluster mode, prevent a loss of service by performing a rolling upgrade. In a rolling upgrade, you install the package on each node individually while leaving the remaining nodes running in cluster mode.

  1. On a cluster member, assume the root role that provides solaris.cluster.modify RBAC authorization.
  2. Install the package for the resource type upgrade on all cluster nodes where instances of the resource type are to be brought online.
  3. Register the new version of the resource type.

    To ensure that the correct version of the resource type is registered, you must specify the following information:

    • The resource type name

    • The resource type registration (RTR) file that defines the resource type

    # clresourcetype register -f path-to-new-rtr-file resource-type-name

    The format of the resource type name is as follows:

    vendor-id.base-rt-name:rt-version

    For an explanation of this format, see Format of Resource Type Names.

  4. Display the newly registered resource type.
    # clresourcetype show resource-type-name
  5. If necessary, set the Installed_nodes property to the nodes where the package for the resource type upgrade is installed.

    You must perform this step if the package for the resource type upgrade is not installed on all cluster nodes.

    The nodelist property of all resource groups that contain instances of the resource type must be a subset of the Installed_nodes property of the resource type.

    # clresourcetype set -n installed-node-list resource-type
    -n installed-node-list

    Specifies the names of nodes on which this resource type is installed.

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

The instructions that follow explain how to use the clresource command to perform this task. However, you are not restricted to using the clresource command for this task. Instead of the clresource command, you can use the Resource Group option of the clsetup command to perform this task. See clsetup(1CL) for more information.

Before You Begin

Consult the instructions for upgrading the resource type to determine when you can migrate resources to a new version of the resource type.

The instructions might state that you cannot upgrade your existing version of the resource. If you cannot migrate the resource, consider the following alternatives:

  1. On a cluster member, assume the root role that provides solaris.cluster.modify RBAC authorization.
  2. For each resource of the resource type that is to be migrated, change the state of the resource or its resource group to the appropriate state.
    • If you can migrate the resource at any time, no action is required.
    • If you can migrate the resource only when the resource is unmonitored, type the following command:
      # clresource unmonitor resource
    • If you can migrate the resource only when the resource is offline, type the following command:
      # clresource disable resource

      Note - If other resources depend on the resource that you are migrating, this step fails. In this situation, consult the error message that is printed to determine the names of the dependent resources. Then repeat this step, specifying a comma-separated list that contains the resource that you are migrating and any dependent resources.


    • If you can migrate the resource only when the resource is disabled, type the following command:
      # clresource disable resource

      Note - If other resources depend on the resource that you are migrating, this step fails. In this situation, consult the error message that is printed to determine the names of the dependent resources. Then repeat this step, specifying a comma-separated list that contains the resource that you are migrating and any dependent resources.


    • If you can migrate the resource only when the resource group is unmanaged, type the following commands:
      # clresource disable -g resource-group +
      # clresourcegroup offline resource-group
      # clresourcegroup unmanage resource-group

      The replaceable items in these commands are as follows:

      resource-group

      Specifies the resource group that is to be unmanaged

  3. For each resource of the resource type that is to be migrated, change the Type_version property to the new version.

    If necessary, set other properties of the same resource to appropriate values in the same command. To set these properties, specify the -p option in the command.

    To determine whether you are required to set other properties, consult the instructions for upgrading the resource type. You might be required to set other properties for the following reasons:

    • An extension property has been introduced in the new version of the resource type.

    • The default value of an existing property has been changed in the new version of the resource type.

    # clresource set -p Type_version=new-version \
    [-p extension-property=new-value] [-p standard-property=new-value] resource

    Note - If the existing version of the resource type does not support upgrades to the new version, this step fails.


  4. Restore the previous state of the resource or resource group by reversing the command that you typed in Step 2.
    • If you can migrate the resource at any time, no action is required.

      Note - After migrating a resource that can be migrated at any time, the resource probe might not display the correct resource type version. In this situation, disable and re-enable the resource's fault monitor to ensure that the resource probe lists the correct resource type version.


    • If you can migrate the resource only when the resource is unmonitored, type the following command:
      # clresource monitor resource
    • If you can migrate the resource only when the resource is offline, type the following command:
      # clresource enable resource

      Note - If you disabled in Step 2 other resources that depend on the resource that you are migrating, enable the dependent resources also.


    • If you can migrate the resource only when the resource is disabled, type the following command:
      # clresource enable resource

      Note - If you disabled in Step 2 other resources that depend on the resource that you are migrating, enable the dependent resources also.


    • If you can migrate the resource only when the resource group is unmanaged, type the following commands:
      # clresource enable -g resource-group +
      # clresourcegroup manage resource-group
      # clresourcegroup online resource-group

Example 2-2 Migrating a Resource That Can Be Migrated Only When Offline

This example shows the migration of a resource that can be migrated only when the resource is offline. The new resource type package contains methods that are located in new paths. Because the methods are not overwritten during the installation, the resource does not need to be disabled until after the upgraded resource type is installed.

The characteristics of the resource in this example are as follows:

This example assumes that the upgrade package is already installed on all cluster nodes according to the supplier's directions.

# clresourcetype register -f /opt/XYZmyrt/etc/XYZ.myrt myrt
# clresource disable myresource
# clresource set -p Type_version=2.0 myresource
# clresource enable myresource

Example 2-3 Migrating a Resource That Can Be Migrated Only When Unmonitored

This example shows the migration of a resource that can be migrated only when the resource is unmonitored. The new resource type package contains only the monitor and RTR file. Because the monitor is overwritten during installation, monitoring of the resource must be disabled before the upgrade package is installed.

The characteristics of the resource in this example are as follows:

The following operations are performed in this example.

  1. Before the upgrade package is installed, the following command is run to disable monitoring of the resource:

    # clresource unmonitor  myresource
  2. The upgrade package is installed on all cluster nodes according to the supplier's directions.

  3. To register the new version of the resource type, the following command is run:

    # clresourcetype register -f /opt/XYZmyrt/etc/XYZ.myrt myrt
  4. To change the Type_version property to the new version, the following command is run:

    # clresource set -p Type_version=2.0 myresource
  5. To enable monitoring of the resource after its migration, the following command is run:

    # clresource monitor myresource

How to Unregister Older Unused Versions of the Resource Type

If you have migrated all existing resources to the newest version of the resource type and have no further need for the older version of that resource type, unregister the older versions.

  1. On a cluster member, assume the root role that provides solaris.cluster.modify RBAC authorization.
  2. Retrieve a list of the registered resource type versions and unregister the version you no longer wish to use.
    # clresourcetype list | grep myrt
    XYZ.myrt:1.0
    XYZ.myrt:2.0
    # clresourcetype unregister XYZ.myrt:1.0
  3. If the resource type has the RT_system property set to TRUE, you must set it to FALSE before you can remove the resource type.

    If the following text appears after you run clresourcetype unregister from Step 2, you must set the property to TRUE by typing the commands that appear below the output below.

    clrt: (C944871) Operation not allowed on system rescue type <XYZ.myrt:1.0>
    # clresourcetype set -p RT_system=FALSE XYZ.myrt:1.0
    # clresourcetype unregister XYZ.myrt:1.0

    By default, the RT_system property by default is set to TRUE on the pre-installed resource types LogicalHostname and SharedAddress. If you have upgraded to a newer version of one of these pre-installed resource types, you will have to set RT_system to FALSE before unregistering the older version. In this example, all of the existing LogicalHostname resources have been migrated to version 4.0 of LogicalHostname.

    # clresourcetype list
    ...
    SUNW.LogicalHostname.3
    SUNW.LogicalHostname:4
    ...
    # clresourcetype set -p RT_system=FALSE SUNW.LogicalHostname:3
    # clresourcetype unregister SUNW.LogicalHostname:3