Veritas Cluster Server (VCS) ZPOOL Agent is failing to detect ZFS Zpool as online due to AltRootPath

book

Article ID: 100050594

calendar_today

Updated On:

Description

Error Message

 


Zpool Agent Log shows:
 

2021/05/20 07:17:38 VCS ERROR V-16-10001-20014 Zpool:ZPOOL-RESOURCE-NAME:monitor:The value altroot for zpool ZPOOL-RESOURCE-NAME is not set. Resource state is UNKNOWN
2021/05/20 07:17:39 VCS DBG_FFDC Generating FFDC for resource (ZPOOL-RESOURCE-NAME) as monitor entry point reported UNKNOWN

 

Sample Engine_A.log error messages:



2021/05/19 09:15:13 VCS ERROR V-16-2-13066 (host) Agent is calling clean for resource(ZPOOL-RESOURCE-NAME) because the resource is not up even after online completed.
2021/05/19 09:15:14 VCS INFO V-16-2-13068 (host) Resource(ZPOOL-RESOURCE-NAME) - clean completed successfully.
2021/05/19 09:15:14 VCS INFO V-16-2-13071 (host) Resource(ZPOOL-RESOURCE-NAME): reached OnlineRetryLimit(0).
2021/05/19 09:15:16 VCS ERROR V-16-1-54031 Resource ZPOOL-RESOURCE-NAME (Owner: Unspecified, Group: ZPOOLSG) is FAULTED on sys host
2021/05/19 09:15:16 VCS NOTICE V-16-1-10446 Group ZPOOLSG is offline on system host
2021/05/19 09:15:16 VCS NOTICE V-16-1-10301 Initiating Online of Resource ZPOOL-RESOURCE-NAME (Owner: Unspecified, Group: ZPOOLSG) on System fred
2021/05/19 09:15:16 VCS INFO V-16-6-15015 (host) hatrigger:/opt/VRTSvcs/bin/triggers/resfault is not a trigger scripts directory or can not be executed
2021/05/19 09:17:26 VCS INFO V-16-1-50135 User root fired command: hares -clear ZPOOL-RESOURCE-NAME from localhost
2021/05/19 09:17:32 VCS ERROR V-16-2-13066 (vms133) Agent is calling clean for resource(ZPOOL-RESOURCE-NAME) because the resource is not up even after online completed.


Cause

 

Working correctly
 

VCS expects the AltRootPath to state "/" when the ZFS Zpool is imported:


2019/01/11 21:46:32 VCS DBG_1 Zpool:ZPOOL-RESOUCE-NAME:monitor:Attributes: PoolName=ZPOOL-NAME, AltRootPath=, ChkZFSMounts=0, ZoneState=, FailMode=continue.
2019/01/11 21:46:32 VCS DBG_2 Zpool:ZPOOL-RESOURCE-NAME:monitor:Output of the command [/usr/sbin/zpool list -H -o health ZPOOL-NAME 2>/dev/null] is
2019/01/11 21:46:32 VCS DBG_2 Zpool:ZPOOL-RESOURCE-NAME:monitor:Output of the command [/usr/sbin/zpool list -H -o altroot ZPOOL-NAME 2>/dev/null] is   --------------getting altroot as expected value "/"
2019/01/11 21:46:32 VCS DBG_2 Zpool:ZPOOL-RESOURCE-NAME:monitor:Output of the command [/usr/sbin/zpool list -H -o failmode ZPOOL-NAME 2>/dev/null] is
2019/01/11 21:46:33 VCS DBG_AGDEBUG script (/opt/VRTSvcs/bin/Zpool/monitor) exited with status (110)

 

Issue reported when AltRootPath is "-"

 

When the ZFS Zpool is imported not specifying the AltRootPath, VCS will report the following errors:

2021/05/20 07:22:38 VCS DBG_1 Zpool:ZPOOL-POOL-NAME:monitor:Attributes: PoolName=ZPOOL-POOL-NAME, AltRootPath=, ChkZFSMounts=0, ZoneState=, FailMode=continue.
2021/05/20 07:22:38 VCS DBG_2 Zpool:ZPOOL-POOL-NAME:monitor:Output of the command [/usr/sbin/zpool list -H -o health ZPOOL-POOL-NAME 2>/dev/null] is
2021/05/20 07:22:38 VCS DBG_2 Zpool:ZPOOL-POOL-NAME:monitor:Output of the command [/usr/sbin/zpool list -H -o altroot ZPOOL-POOL-NAME 2>/dev/null] is <->   ----------------getting value as "-" which is unexpected
2021/05/20 07:22:39 VCS DBG_AGDEBUG script (/opt/VRTSvcs/bin/Zpool/monitor) exited with status (99)
    VCSAgProcess.C:exec_script[2197]

 

 

Resolution


The VCS Zpool agent expects the AltRootPath to show "/" instead of "-".

To correct the zpool list reporting for the impacted ZFS zpool, perform the below steps

 

  1. Export the Solaris ZFS zpool

    # zpool export PoolName

 

  1. Import the ZFS zpool with altroot set to the desired path

    # zpool import -R AltRootPath PoolName

 

  1. Bring the ServiceGroup or zpool resource online through VCS

    # hares -online poolres -sys sys1

 

 

Issue/Introduction

Veritas Cluster Server (VCS) expects the AltRootPath to state "/" when the ZFS Zpool is imported.

VCS will fail to monitor and report the ZFS Zpool resource as online unless the AltRootPath is specified.

Solaris will import a ZFS Zpool without the AltRootPath by default.


Sample VCS Zpool Resource
Zpool <ZPOOL-RESOURCE-NAME> (
Critical = 0
PoolName = <ZPOOL-NAME>
ChkZFSMounts = 0
)

NOTE: There is an additional attribute called AltRootPath , if you user does not specify it, VCS will set it to "/" as default.