Skip Navigation Links
Exit Print View
| Oracle Solaris Cluster Data Services Planning and Administration Guide Oracle Solaris Cluster 4.1

Search Scope:

- This Document
- Entire Library

## Synchronizing the Startups Between Resource Groups and Device Groups

After a cluster boots or services fail over to another node, global devices and local and cluster file systems might require time to become available. However, a data service can run its `START` method before global devices and local and cluster file systems come online. If the data service depends on global devices or local and cluster file systems that are not yet online, the `START` method times out. In this situation, you must reset the state of the resource groups that the data service uses and restart the data service manually.

To avoid these additional administrative tasks, use the `HAStoragePlus` resource type. Add an instance of `HAStoragePlus` to all resource groups whose data service resources depend on global devices or local and cluster file systems. Instances of these resource types perform the following operations:

- Forcing the `START` method of the other resources in the same resource group to wait until global devices and local and cluster file systems become available.

If an application resource is configured on top of an HAStoragePlus resource, the application resource must define the offline restart dependency on the underlying HAStoragePlus resource. This ensures that the application resource comes online after the dependent HAStoragePlus resource comes online, and goes offline before the HAStoragePlus resource goes offline.

The following command creates an offline restart dependency from an application resource to a HASP resource:

    # clrs set -p Resource_dependencies_offline_restart=hasp_rs applicaton_rs

To create an `HAStoragePlus` resource, see How to Set Up the `HAStoragePlus` Resource Type for New Resources.

### Managed Entity Monitoring by HAStoragePlus

All entities that are managed by the HAStoragePlus resource type are monitored. The `SUNWHAStoragePlus` resource type provides a fault monitor to monitor the health of the entities managed by the HASP resource, including global devices, file systems, and ZFS storage pools. The fault monitor runs fault probes on a regular basis. If one of the entities becomes unavailable, the resource is restarted or a failover to another node is performed. If more than one entity is monitored, the fault monitor probes them all at the same time. Ensure that all configuration changes to the managed entities are completed before you enable monitoring.

Note - Version 9 of the HAStoragePlus resource fault monitor probes the devices and file systems it manages by reading and writing to the file systems. If a read operation is blocked by any software on the I/O stack and the `HAStoragePlus` resource is required to be online, the user must disable the fault monitor. For example, you must unmonitor the `HAStoragePlus` resource managing the Availability Suite Remote Replication volumes because Availability Suite from Oracle blocks reading from any bitmap volume or any data volume in the `NEED SYNC` state. The `HAStoragePlus` resource managing the Availability Suite volumes must be online at all times.

For more information on the properties that enable monitoring for managed entities, see the `SUNW.HAStoragePlus`(5) man page.

For instructions on enabling and disabling monitoring for managed entities, see How to Enable a Resource Fault Monitor.

Depending on the type of managed entity, the fault monitor probes the target by reading or writing to it. If more than one entity is monitored, the fault monitor probes them all at the same time.

Table 2-2 What the Fault Monitor Verifies

Monitored Entity | What the Fault Monitor Verifies
--- | ---
Global device | The device group is online or degraded. The device is readable.
Raw device group | The device group is online or degraded. For each device of the device group, its path (`/dev/global/rdsk/device`) is available. Partitions of every device are readable.
Solaris Volume Manager device group | The device group is online or degraded. The path of the metaset (`/dev/md/metaset`) is valid. The Solaris Volume Manager reported status from the primary of the device group: The unmirrored metadevice is not in any of the following error states: Needs Maintenance, Last Erred, or Unavailable. At least one submirror of a mirror is not in an error state. An error with some, but not all submirrors, is treated as partial error. The unmirrored metadevice is readable from the primary. Some submirrors of a mirror are readable. An error with some, but not all, submirrors is treated as partial error.
File systems (including UFS and PxFS) | The file system is mounted. Every device under the file system is readable. The file system is readable, if the `IOOption` property is set to `ReadOnly`. The file system is writable, if the `IOOption` property is set to `ReadWrite`. If the file system is mounted read-only but the `IOOption` property is set to `ReadWrite`, the fault monitor issues a warning and then tries to read it (rather than write to it). To avoid having the `HAStoragePlus` resource go offline when a file system hits its quota, set the `IOOption` to `ReadOnly`. The `ReadOnly` option ensures that the fault monitor will not attempt to write to the file system.
ZFS storage pool | The pool status is OK or Degraded. Each non-legacy file system is mounted. Each non-legacy file system is readable, if the `IOOption` property is set to `ReadOnly`. Each non-legacy file system is writable, if the `IOOption` property is set to `ReadWrite`. If a non-legacy file system is mounted read-only but the `IOOption` property is set to `ReadWrite`, the fault monitor issues a warning and then tries to read it (rather than write to it). To avoid having the `HAStoragePlus` resource go offline when a file system hits its quota, set the `IOOption` to `ReadOnly`. The `ReadOnly` option ensures that the fault monitor will not attempt to write to the file system. Note - When all connections to a top-level ZFS storage device are lost, queries about the ZFS storage pool or associated file system will hang. To prevent the fault monitor from hanging, you must set the `fail_mode` property of the ZFS storage pool to `panic`.

For instructions on enabling a resource fault monitor, see How to Enable a Resource Fault Monitor.

#### Troubleshooting Monitoring for Managed Entities

If monitoring is not enabled on the managed entities, perform the following troubleshooting steps:

1. Ensure that the `hastorageplus_probe` process is running.

2. Look for error messages on the console.

3. Enable debug messages to the `syslog` file.

       # mkdir -p /var/cluster/rgm/rt/SUNW.HAStoragePlus:9

       # echo 9 > /var/cluster/rgm/rt/SUNW.HAStoragePlus:9/loglevel

   You should also check the `/etc/syslog.conf` file to ensure that messages with the `daemon.debug` facility level are logged to the `/var/adm/messages` file. Add the `daemon.debug` entry to the `/var/adm/messages` action if it is not already present.

### Additional Administrative Tasks to Configure HAStoragePlus Resources for a Zone Cluster

When you configure HAStoragePlus resources for a zone cluster, you need to perform the following additional tasks before performing the steps for global cluster:

- While configuring file systems like UFS in file system mount points, the file systems need to be configured to the zone cluster. For more information about configuring a file system to a zone cluster, see How to Add a Local File System to a Specific Zone-Cluster Node in Oracle Solaris Cluster Software Installation Guide.

- While configuring global devices in global device paths, the devices need to be configured to the zone cluster. For more information about configuring global devices to a zone cluster, see Adding Storage Devices to a Zone Cluster in Oracle Solaris Cluster Software Installation Guide.

- While configuring the ZFS file systems using Zpools, the ZFS pool needs to be configured to the zone cluster. For more information about configuring a ZFS file system to a zone cluster, see How to Add a ZFS Storage Pool to a Zone Cluster in Oracle Solaris Cluster Software Installation Guide.

## How to Set Up the `HAStoragePlus` Resource Type for New Resources

In the following example, the resource group `resource-group-1` contains the following data services.

- HA for Oracle iPlanet Web Server (formerly Sun Java System Web Server), which depends on `/global/resource-group-1`

- HA for Oracle, which depends on `/dev/global/dsk/d5s2`

- HA for NFS, which depends on `dsk/d6`

Note - To create an `HAStoragePlus` resource with Oracle Solaris ZFS as a highly available local file system seeHow to Set Up the `HAStoragePlus` Resource Type to Make a Local Solaris ZFS File System Highly Available section.

To create an `HAStoragePlus` resource `hastorageplus-1` for new resources in `resource-group-1`, read Synchronizing the Startups Between Resource Groups and Device Groups and then perform the following steps.

To create an `HAStoragePlus` resource, see Enabling Highly Available Local File Systems.

1. On a cluster member, assume the `root` role that provides `solaris.cluster.modify` and `solaris.cluster.admin` RBAC authorizations.
2. Create the resource group `resource-group-1`.

       # clresourcegroup create resource-group-1

3. Determine whether the resource type is registered.

   The following command prints a list of registered resource types.

       # clresourcetype show | egrep Type

4. If you need to, register the resource type.

       # clresourcetype register SUNW.HAStoragePlus

5. Create the `HAStoragePlus` resource `hastorageplus-1`, and define the filesystem mount points and global device paths.

       # clresource create -g resource-group-1 -t SUNW.HAStoragePlus \
       -p GlobalDevicePaths=/dev/global/dsk/d5s2,dsk/d6 \
       -p FilesystemMountPoints=/global/resource-group-1 hastorageplus-1

   `GlobalDevicePaths` can contain the following values.

   - Global device group names, such as `nfs-dg`, `dsk/d5`

   - Paths to global devices, such as `/dev/global/dsk/d1s2`, `/dev/md/nfsdg/dsk/d10`

   `FilesystemMountPoints` can contain the following values.

   - Mount points of local or cluster file systems, such as `/local-fs/nfs`, `/global/nfs`

   Note - `HAStoragePlus` has a `Zpools` extension property that is used to configure ZFS file system storage pools and a `ZpoolsSearchDir` extension property that is used to specify the location to search for the devices of ZFS file system storage pools. The default value for the `ZpoolsSearchDir` extension property is `/dev/dsk`. The `ZpoolsSearchDir` extension property is similar to the -d option of the `zpool(1M)` command.

   The resource is created in the enabled state.

6. Add the resources (Oracle iPlanet Web Server (formerly Sun Java System Web Server), Oracle, and NFS) to `resource-group-1`, and set their dependency to `hastorageplus-1`.

   For example, for Oracle iPlanet Web Server (formerly Sun Java System Web Server), run the following command.

       # clresource create  -g resource-group-1 -t SUNW.iws \
       -p Confdir_list=/global/iws/schost-1 -p Scalable=False \
       -p Resource_dependencies=schost-1 -p Port_list=80/tcp \
       -p Resource_dependencies_offline_restart=hastorageplus-1 resource

   The resource is created in the enabled state.

7. Verify that you have correctly configured the resource dependencies.

       # clresource show -v resource | egrep Resource_dependencies_offline_restart

8. Set `resource-group-1` to the `MANAGED` state, and bring `resource-group-1` online.

       # clresourcegroup online -M resource-group-1

##### Affinity Switchovers

The `HAStoragePlus` resource type contains another extension property, `AffinityOn`, which is a Boolean that specifies whether `HAStoragePlus` must perform an affinity switchover for the global devices that are defined in `GLobalDevicePaths` and `FileSystemMountPoints` extension properties. For details, see the `SUNW.HAStoragePlus`(5) man page.

Note - The setting of the `AffinityOn` flag is ignored for scalable services. Affinity switchovers are not possible with scalable resource groups.

## How to Set Up the `HAStoragePlus` Resource Type for Existing Resources

Before You Begin

Read Synchronizing the Startups Between Resource Groups and Device Groups.

1. Determine whether the resource type is registered.

   The following command prints a list of registered resource types.

       # clresourcetype show | egrep Type

2. If you need to, register the resource type.

       # clresourcetype register SUNW.HAStoragePlus

3. Create the `HAStoragePlus` resource `hastorageplus-1`.

       # clresource create -g resource-group \
       -t SUNW.HAStoragePlus -p GlobalDevicePaths= … \
       -p FileSystemMountPoints=... -p AffinityOn=True hastorageplus-1

   The resource is created in the enabled state.

4. Set up the dependency for each of the existing resources, as required.

       # clresource set -p Resource_Dependencies_offline_restart=hastorageplus-1 resource

5. Verify that you have correctly configured the resource dependencies.

       # clresource show -v resource | egrep Resource_dependencies_offline_restart

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