IO Fencing fails to function correctly in customized mode when ksh shell other than ksh93 is used on Linux

book

Article ID: 100009700

calendar_today

Updated On:

Description

Error Message

 In the case of vxfenswap a typical error might be:

# vxfenswap

Veritas vxfenswap version 6.0.300.000-GA Linux
The logfile generated for vxfenswap is /var/VRTSvcs/log/vxfen/vxfenswap.log.8407
Plase Wait...
Failed to validate the new set of coordination points.

 

Cause

 mksh and pdksh behave differently compared to the Original ATT Korn shell. In particular, variable scoping wthin loops is handled differently. This difference means that scripts used by customized fencing will not behave correctly when these ksh shells are used.

The difference when these 2 shells are in use can be seen in the logfile  '/var/VRTSvcs/log/vxfen/vxfend_A.log'

When 'pdksh' is in use the following might be observed in the log. These all show that customzed fencing was unable to determine who is in membership:

Coord point 1 membership:
Coord point 2 membership:
Coord point 3 membership:

checking membership for /dev/vx/rdmp/disk_0:  and my_cluster: 0 1 2
 
Comparing the same output when the Original ATT Korn Shell is used, we can see that membership information was correctly determined:
 
Coord point 1 membership: 0 1 1 2 0 2
Coord point 2 membership: 0 1 1 2 0 2
Coord point 3 membership: 0 1 1 2 0 2
 
 
checking membership for /dev/vx/rdmp/disk_0: 0 1 1 2 0 2 and my_cluster: 0 1 2
 

Resolution

 Use the Original ATT Korn shell. 

When the Original ATT korn shell is in use, the following will be linked:

 ls -l /etc/alternatives/ksh

 lrwxrwxrwx 1 root root 10 Jun 10 08:30 /etc/alternatives/ksh -> /bin/ksh93

 

When pdksh is in use, the following will be linked:

 ls -l /etc/alternatives/ksh

lrwxrwxrwx 1 root root 10 Jun 10 08:32 /etc/alternatives/ksh -> /bin/pdksh

 

 

Applies To

 This issue is seen when ksh shell other than ' ksh.x86_64 : The Original ATT Korn Shell' are used.

Other ksh shells available to RHEL for example are:

mksh.x86_64 : MirBSD enhanced version of the Korn Shell
pdksh.x86_64 : A public domain shell implementing ksh-88

 
Please note: Infoscale now supports the use of mksh as of 7.4.2.
 
 

Issue/Introduction

The issue can manifest in various different ways where Fencing in customized mode does not function in the expected way. For example, if the vxfen group goes offline, it may not go online when the underlying issue is corrected. Or vxfenswap may be unable to complete the swap when customized mode is in use (either swapping to, between or from customized).