There are a number of requirements to enable the NFSRestart resource. Some of these requirements are documented in the VCS Bundled Agents Guide, and some are mentioned in the SFHA 5.0MP3RP release notes. The requirements are consolidated in this document.
From the Bundled agents guide:
Service Management Facility—Solaris 10
You must disable the Service Management Facility (SMF) for NFS daemons for the NFSRestart agent to work on Solaris 10. SMF is the new service framework for Solaris 10 starting from build 64. SMF provides an infrastructure to automatically start and restart services. Previously, UNIX start-up scripts and configuration files performed these functions.
SMF maintains the Service Configuration Repository, which stores persistent configuration information and runtime data for all the services. Thus, SMF now controls all NFS locking daemons (lockd, statd, etc.) To keep these daemons under VCS control, you need to modify the configuration repository to disable the SMF framework for NFS daemons.
You must invoke the following commands before bringing the NFSRestart agent online or the agents returns an UNKNOWN state.
To keep the statd daemon under VCS control 1 Set the auto_enable property to false.
# svccfg -s nfs/status setprop "application/auto_enable = false"
2 Refresh the SMF configuration repository.
# svcadm refresh nfs/status
3 Disable SMF.
# svcadm disable svc:/network/nfs/status:default
4 Run svcs -a | grep -i nfs command and review its output to make sure that SMF for statd is disabled.
# svcs -a | grep -i nfsdisabled May_29 svc:/network/nfs/status:default
To keep lockd daemon under VCS control 1 Set the auto_enable property to false.
# svccfg -s nfs/nlockmgr setprop "application/auto_enable =false"
2 Refresh the SMF configuration repository.
# svcadm refresh nfs/nlockmgr
3 Disable SMF.
# svcadm disable svc:/network/nfs/nlockmgr:default
4 Run svcs -a | grep -i nfs command and review its output to make sure that SMF for nlockmgr is disabled.
# svcs -a | grep -i nlockmgrdisabled May_29 svc:/network/nfs/nlockmgr:default
You must provide a fully qualified host name for the NFS server while mounting the file system on a NFS client. If you do not use a fully qualified host name, or of you do use a virtual IP address or a partial hostname, NFS lock recovery fails.
If you need to use a virtual IP address or partial hostname, the VCS Bundled agent guide explains how to do this.
From the 5.0MP3 RP Read this First notes:
Mandatory configuration change for the NFS and NFSRestart
resources
You must perform the following instructions for VCS configurations that have
NFSRestart resources. Failure to perform these instructions can result in
NFS/NFSRestart resources not functioning correctly.
Veritas implemented this change to prevent the invocation of
NFSRestart-related triggers when no NFSRestart resources in the VCS
configuration.
To copy the nfs_preonline and nfs_postoffline files
Copy the nfs_preonline and nfs_postoffline files to the
/opt/VRTSvcs/bin/triggers directory.
# cp /opt/VRTSvcs/bin/sample_triggers/nfs_preonline \
/opt/VRTSvcs/bin/triggers
# cp /opt/VRTSvcs/bin/sample_triggers/nfs_postoffline \
/opt/VRTSvcs/bin/trigger s
You must set the value of the PreOnline attribute to 1 for all service groups
that contain NFSRestart resources. Failure to set the service group's
PreOnline attribute to a value of 1 results in broken NFSRestart resource
configurations.The reason being is nfs_preonline script is called when PreOnline=1.
The ha commands to change this attribute are:
# haconf -makerw
# hagrp -modify servicegroup_name PreOnline 1
# haconf -dump -makero