SUNW.HAStoragePlus describes a resource type that enables you to specify dependencies between data service resources and device groups, cluster file systems, and local file systems.
This resource type enables you to bring data services online only after their dependent device groups and file systems are guaranteed to be available. The SUNW.HAStoragePlus resource type provides support for mounting, unmounting, and checking file systems.
Resource groups by themselves do not provide for direct synchronization with disk device groups, cluster file systems, or local file systems. As a result, during a cluster reboot or failover, an attempt to start a data service can occur while its dependent global devices and file systems are still unavailable. Consequently, the data service's START method might time out, and your data service might fail.
The SUNW.HAStoragePlus resource type represents the device groups, cluster, and local file systems that are to be used by one or more data service resources. You add a resource of type SUNW.HAStoragePlus to a resource group and set up dependencies between other resources and the SUNW.HAStoragePlus resource.
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 the application resource comes online after the dependent HAStoragePlus resource comes online, and goes offline before the HAStoragePlus resource goes offline. For example:
# clresource set \ -p Resource_dependencies_offline_restart=hasp_rs \ applicaton_rs
These dependencies ensure that the data service resources are brought online after the following situations occur:
All specified device services are available (and collocated, if necessary).
All specified file systems are checked and mounted.
The SUNW.HAStoragePlus resource type also provides a fault monitor to monitor the health of the entities managed by the HAStoragePlus 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. To see a list of what is monitored on global devices, raw device groups, Solaris Volume Manager device groups, file systems, and ZFS storage pools, see Chapter 2, Administering Data Service Resources, in Oracle Solaris Cluster 4.3 Data Services Planning and Administration Guide .
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 feature of Oracle Solaris because Availability Suite 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.
An HAStoragePlus resource does not monitor a ZFS file system if the file system has its mountpoint property set to none or legacy, or its canmount property set to off. For all other ZFS file systems, the HAStoragePlus resource fault monitor checks if the file system is mounted. If the file system is mounted, the HAStoragePlus resource then probes the file system's accessibility by reading and writing to it, depending on the value of the IOOption property called ReadOnly/ReadWrite.
If the ZFS file system is not mounted or the probe of the file system fails, the resource fault monitor fails and the resource is set to Faulted. The RGM will attempt to restart it, determined by the retry_count and retry_interval properties of the resource. This action results in remounting the file system if the specific mountpoint and canmount property settings described above are not in play. If the fault monitor continues to fail and exceeds the retry_count within the retry_interval, the RGM fails the resource over to another node.
The following standard property is associated with the SUNW.HAStoragePlus resource type:
Defines the time window (in seconds) between the invocations of the fault probe and the resource.
The following extension properties are associated with the SUNW.HAStoragePlus resource type:
Specifies whether a SUNW.HAStoragePlus resource needs to perform an affinity switchover for all global devices that are defined in the GlobalDevicePaths and FileSystemMountPoints extension properties. You can specify TRUE or FALSE.
The Zpools extension property ignores the AffinityOn extension property. The AffinityOn extension property is intended for use with the GlobalDevicePaths and FileSystemMountPoints extension properties only.
When you set the AffinityOn extension property to FALSE, the SUNW.HAStoragePlus resource passively waits for the specified global services to become available. In this case, the primary node of each online global device service might not be the same node that is the primary node for the resource group.
The purpose of an affinity switchover is to enhance performance by ensuring the co-location of the device groups and the resource groups on a specific node. Data reads and writes always occur over the device primary paths. Affinity switchovers require the potential primary node list for the resource group and the node list for the device group to be equivalent. The SUNW.HAStoragePlus resource performs an affinity switchover for each device service only once, that is, when the SUNW.HAStoragePlus resource is brought online.
The setting of the AffinityOn flag is ignored for scalable services. Affinity switchovers are not possible with scalable resource groups.
Overrides the check that SUNW.HAStoragePlus conducts on each unmounted file system before attempting to mount it. You can specify an alternate command string or executable, which is invoked on all unmounted file systems.
When a SUNW.HAStoragePlus resource is configured in a scalable resource group, the file-system check on each unmounted cluster file system is omitted. When you set this extension property to NULL, Oracle Solaris Cluster checks UFS by issuing the /usr/sbin/fsck -o p command. Oracle Solaris Cluster checks other file systems by issuing the /usr/sbin/fsck command.
When you set the FileSystemCheckCommand extension property to another command string, SUNW.HAStoragePlus invokes this command string with the file system mount point as an argument. You can specify any arbitrary executable in this manner. A nonzero return value is treated as an error that occurred during the file system check operation. This error causes the START method to fail.
When you do not require a file system check operation, set the FileSystemCheckCommand extension property to /bin/true.
Specifies a list of valid file system mount points. You can specify global or local file systems. Global file systems are accessible from all nodes in a cluster. Local file systems are accessible from a single cluster node. Local file systems that are managed by a SUNW.HAStoragePlus resource are mounted on a single cluster node. These local file systems require the underlying devices to be Oracle Solaris Cluster global devices.
These file system mount points are defined in the format paths[,…].
Each file system mount point should have an equivalent entry in /etc/vfstab on all cluster nodes and in all global zones. The SUNW.HAStoragePlus resource type does not check /etc/vfstab in non-global zones.
SUNW.HAStoragePlus resources that specify local file systems can only belong in a failover resource group with affinity switchovers enabled. These local file systems can therefore be termed failover file systems. You can specify both local and global file system mount points at the same time.
Any file system whose mount point is present in the FileSystemMountPoints extension property is assumed to be local if its /etc/vfstab entry satisfies both of the following conditions:
The non-global mount option is specified.
The “mount at boot” field for the entry is set to “no.”
An Oracle Solaris ZFS file system is always a local file system. Do not list a ZFS file system in /etc/vfstab. Also, do not include ZFS mount points in the FileSystemMountPoints property.
Specifies a list of valid global device group names or global device paths. The paths are defined in the format paths[,…].
Defines the type of I/O performed to probe file systems. The only supported values are ReadOnly and ReadWrite. The ReadOnly value indicates that the fault monitor is allowed to perform read-only I/O on the managed file systems, including the file systems specified in the FileSystemMountPoints property and the ZFS file systems that belong to ZFS storage pools specified in the Zpools property. The ReadWrite value indicates that the fault monitor is allowed to perform both read and write I/O on the managed file systems.
Defines the time out value (in seconds) for I/O probing.
Controls the number of Process Monitor Facility (PMF) restarts allowed for the fault monitor.
Defines the time interval (in minutes) for fault monitor restarts.
Specifies whether to reboot the local system when a failure is detected by a probe. When set to TRUE, all devices that are used by the resource, directly or indirectly, must be monitored by disk-path monitoring.
If RebootOnFailure is set to TRUE and at least one device is found available for each entity specified in the GlobalDevicePaths, FileSystemMountPoints, or Zpools property, the local system is rebooted. The local system refers to the global-cluster node or the zone-cluster node where the resource is online.
Specifies a list of valid ZFS storage pools, each of which contains at least one ZFS. These ZFS storage pools are defined in the format paths[,…]. All file systems in a ZFS storage pool are mounted and unmounted together.
The Zpools extension property enables you to specify ZFS storage pools. The devices that make up a ZFS storage pool must be accessible from all the nodes that are configured in the node list of the resource group to which a SUNW.HAStoragePlus resource belongs. A SUNW.HAStoragePlus resource that manages a ZFS storage pool can only belong to a failover resource group.
When a SUNW.HAStoragePlus resource that manages a ZFS storage pool is brought online, the ZFS storage pool is imported, and every file system that the ZFS storage pool contains is mounted.
When the resource is taken offline on a node, for each managed ZFS storage pool, all file systems are unmounted and the ZFS storage pool is exported.
Specifies the location to search for the devices of Zpools. The ZpoolsSearchDir extension property is similar to the -d option of the zpool command.
See attributes (5) for descriptions of the following attributes:
Make data service resources within a given resource group dependent on a SUNW.HAStoragePlus resource. Otherwise, no synchronization is possible between the data services and the global devices or file systems. Offline restart resource dependencies ensure that the SUNW.HAStoragePlus resource is brought online before other resources. Local file systems that are managed by a SUNW.HAStoragePlus resource are mounted only when the resource is brought online.
Enable logging on UFS systems.
Avoid configuring multiple SUNW.HAStoragePlus resources in different resource groups that refer to the same device group and with AffinityOn flags set to TRUE. Redundant device switchovers can occur. As a result, resource and device groups might be dislocated.
Avoid configuring a ZFS storage pool under multiple SUNW.HAStoragePlus resources in different resource groups.
The fault monitor monitors the entities managed by the HAStoragePlus resource, including global devices, file systems, and ZFS storage pools. The status of a monitored entity is one of the following:
Online - No partial errors or severe errors.
Degraded - Partial error.
Faulted - Severe error. The Resource Group Manager (RGM) attempts to restart the resource and fail over to another cluster node.
If more than one entity is monitored, the resource's status is determined by the aggregated status of all monitored entities.
The SUNW.HAStoragePlus resource is capable of mounting any cluster file system that is found in an unmounted state.
All file systems are mounted in the overlay mode.
Local file systems are forcibly unmounted.
The waiting time for all device services and file systems to become available is specified by the Prenet_start_timeout property in SUNW.HAStoragePlus. This is a tunable property.