SUNW.HAStoragePlus describes a resource type which allows for specifying dependencies between data service resources and device groups, cluster (global) and local file systems. This enables data services to be brought online only after their dependent device groups and file systems are guaranteed to be available. HAStoragePlus also provides support for mounting, unmounting and checks of file systems.
Resource groups by themselves do not provide for direct synchronization with disk device groups, cluster 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 timeout resulting in data service failure.
SUNW.HAStoragePlus represents the device groups, cluster and local file systems which are to be used by one or more data service resources. One adds a resource of type SUNW.HAStoragePlus to a resource group and sets up dependencies between other resources and the SUNW.HAStoragePlus resource. These dependencies ensure that the data service resources are brought online after:
All specified device services are available (and collocated if necessary)
All specified file systems are mounted following their checks
The FilesystemMountPoints extension property allow for the specification of either global or local file systems, that is, file systems that are either accessible from all nodes of a cluster or from a single cluster node. Local file systems managed by a SUNW.HAStoragePlus resource are mounted on a single cluster node and require the underlying devices to be Sun Cluster global devices. SUNW.HAStoragePlus resources specifying 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. Both local and global file system mount points can be specified together.
Non global mount option
Mount at boot flag is set to no
Instances of the SUNW.HAStoragePlus resource type ignore the mount at boot flag for global file systems.
Four extension properties are associated with the SUNW.HAStoragePlus resource type:
Contains a list of valid global device group names or global device paths. They are defined in the format of paths[,...]. Default is an empty list.
Contains a list of valid file system mount points. They are defined in the format of paths[,...]. Default is an empty list. Each file system mount point should have an equivalent /etc/vfstab entry across all cluster nodes.
A Boolean flag that specifies whether the SUNW.HAStoragePlus resource needs to do an affinity switchover for all global devices defined in the GlobalDevicePaths and FilesystemMountPoints extension properties. Affinity switchover is set by default, that is, AffinityOn is set to TRUE.
When AffinityOn is set to FALSE, the SUNW.HAStoragePlus resource passively waits for the specified global services to become available. In this case, the primary of each online global device service might not be the same node which is the primary of the resource group.
The purpose of an affinity switchover is to enhance performance by ensuring the colocation of the device and resource groups on a specific node. Data reads and writes therefore will always occur over the device primary paths. Affinity switchovers require the potential primary list for the resource group and the node list for the device groups to be equivalent. The SUNW.HAStoragePlus resource performs an affinity switchover for each device service only once, that is, when the 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.
SUNW.HAStoragePlus conducts a file system check on each unmounted file system before attempting to mount it. The default file system check command is /usr/sbin/fsck -o p for UFS and VxFS filesystems, and /usr/sbin/fsck for other file systems. The FilesystemCheckCommand extension property can be used to override this default file system check specification and instead specify an alternate command string/executable. This command string/executable will then be invoked on all unmounted file systems.
The default FilesystemCheckCommand extension property value is NULL. When the FilesystemCheckCommand is set to NULL the command will be assumed to be /usr/sbin/fsck -o p for UFS/VxFS filesystems and /usr/sbin/fsck for other file systems. When the FilesystemCheckCommand is set to a user specified command string, SUNW.HAStoragePlus will elect to invoke this command string with the file system mount point as an argument. Any arbitrary executable can be specified in this manner. A non-zero return value will be treated as a error which occured during the file system check operation, causing the start method to fail. Any arbitrary executable can be specified in this manner. When the FilesystemCheckCommand is set to /bin/true, file system checks will altogether be avoided.
The HAStoragePlus RT is a part of the SUNWscu package.
Data service resources within a given resource group should be made dependent on a SUNW.HAStoragePlus resource. Otherwise, no synchronization is possible between the data services and the global devices/file systems. Strong resource dependencies ensure that the SUNW.HAStoragePlus resource is brought online before other resources are brought online. Local file systems managed by SUNW.HAStorage resource are mounted only when the resource is brought online.
Although unlikely, the SUNW.HAStoragePlus resource is capable of mounting any global file system found to be in a un mounted state. It is recommended that UFS file systems have logging enabled.. All file systems are mounted in the overlay mode. Local file systems will be forcibly unmounted.
Avoid configuring multiple SUNW.HAStoragePlus resources in different resource groups referring to the same device group(s) and with AffinityOn flags set to TRUE. Redundant device switchovers could occur resulting in the dislocation of resource and device groups.
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 parameter.