Sun Cluster Data Services Planning and Administration Guide for Solaris OS

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:

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

ProcedureHow 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.


Note –

To create a HAStoragePlus resource with Solaris ZFS (Zettabyte File System) as a highly available local file system seeHow to Set Up the HAStoragePlus Resource Type to Make a Local Solaris ZFS 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, become superuser or assume a 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 zpools.


    The resource is created in the enabled state.

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

    For example, for 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 Network_resources_used=schost-1 -p Port_list=80/tcp \
    -p Resource_dependencies=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
    
  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.


ProcedureHow 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=hastorageplus-1 resource
    
  5. Verify that you have correctly configured the resource dependencies.


    # clresource show -v resource | egrep Resource_dependencies