Veritas Volume Manager (VxVM) 5.1 may not always report the PWWN related content with the “vxdmpadm getportids enclosure=<enclosure-name>” CLI command due to HBA firmware/configuration settings

book

Article ID: 100008994

calendar_today

Updated On:

Description

Error Message


The PortAttrs returned by the HBA_GetAdapterPortAttributes() function in some cases will return a NULL PWWN (ARRAY_PORT_PWWN_value, which causes the later call HBA_GetFcpTargetMappingV2() function to return the "failed 1", i.e, HBA_STATUS_ERROR response.


The following vxddladm print_property_list CLI snippet displays an example of a device path NOT reporting a PWWN value for EMC lun "/dev/sdbk".

****************** Property list for DISK ******************  (not working)

DISK                 : has 9 associated values
        /dev/sdbk                                      : has 22 associate value pairs
                associate : VID value : EMC
                associate : UDID value : EMC%5FSYMMETRIX%5F000290301188%5F880004B000
                associate : TRANSPORT value : SCSI
                associate : SCSI_VERSION value : 4
                associate : REVISION value : 5773
                associate : PORT_SERIAL_NO value : 16d-b
                associate : PID value : SYMMETRIX
                associate : PHYS_CTLR_NAME value : c0
                associate : MEDIA_TYPE value : hdd
                associate : LUN_SNO_ORDER value : 1
                associate : LUN_SERIAL_NO value : 880004B000
                associate : LIBNAME value : libvxemc.so
                associate : HARDWARE_MIRROR value : no
                associate : DYNAMIC value : DISK_GEOMETRY
                associate : DMP_DEVICE value : emc0_004b
                associate : DISK_GEOMETRY value : 20000000000400008000000000020000100E000001000000800340000000000000020000000000000000000000000000
                associate : DDL_DEVICE_ATTR value : std
                associate : CAB_SERIAL_NO value : 000290301188
                associate : ATYPE value : A/A
                associate : ARRAY_VOLUME_ID value : 004B
                associate : ARRAY_PORT_PWWN value :            <<<<< nothing reported
                associate : ANAME value : EMC

 

 

The following vxddladm print_property_list CLI snippet displays an example for the same device path (dev/sdbk) reporting the expected PWWN content now 5.1 SP1 RP2 P3 HF6 has been applied.

****************** Property list for DISK ******************
 

DISK                 : has 9 associated values
        /dev/sdbk                                      : has 22 associate value pairs
                associate : VID value : EMC
                associate : UDID value : EMC%5FSYMMETRIX%5F000290301188%5F880004B000
                associate : TRANSPORT value : FC
                associate : SCSI_VERSION value : 4
                associate : REVISION value : 5773
                associate : PORT_SERIAL_NO value : 16d-b
                associate : PID value : SYMMETRIX
                associate : PHYS_CTLR_NAME value : c0
                associate : MEDIA_TYPE value : hdd
                associate : LUN_SNO_ORDER value : 1
                associate : LUN_SERIAL_NO value : 880004B000
                associate : LIBNAME value : libvxemc.so
                associate : HARDWARE_MIRROR value : no
                associate : DYNAMIC value : DISK_GEOMETRY
                associate : DMP_DEVICE value : emc0_004b
                associate : DISK_GEOMETRY value : 20000000000400008000000000020000100E000001000000800340000000000000020000000000000000000000000000
                associate : DDL_DEVICE_ATTR value : std
                associate : CAB_SERIAL_NO value : 000290301188
                associate : ATYPE value : A/A
                associate : ARRAY_VOLUME_ID value : 004B
                associate : ARRAY_PORT_PWWN value : 50:06:04:8c:53:69:41:3f
                associate : ANAME value : EMC

 

Cause


How to enable debugging
 

-    Uncomment the "#debuglevel 3" line to reflect "debuglevel 3" in the /etc/hba.conf file.

This will enable the debug flag to troubleshoot the issue on the impacted node.

-    Restart vxesd with debugging enabled

 

# more /etc/hba.conf
#
# This file contains names and references to HBA libraries
#
# Format:
#
#  
#
# The library name should be prepended with the domain of
# the manufacturer or driver author.
#
# 32bit/64bit implementation note:
#   If a 32bit implementation tries to load a 64 bit library,
#   the load will fail with the result that the 64 bit vendor
#   library is ignored.
#   Likewise, if a 64bit implementation tries to load a 32 bit library,
#   the load will fail with the result that the 32 bit vendor
#   library is ignored.




# Set a debug level (depends on compilation switches)
#
# Format:
#
# "debuglevel"   
#
# 0 is default, 1 show vendor library opens,
# 2 shows function calls, 3 shows callback events
#
# Uncomment the next line to specify a level
debuglevel 3



org.open-fcoe.libhbalinux /usr/lib64/libhbalinux.so.2.0.2
qla2xxx        /usr/lib/libqlsdm.so
 

Stop and restart the vxesd (eventsource) daemon
 

# vxddladm stop eventsource

# vxesd -d -f /tmp/vxesd.debug

 

The esd_fill_iscsitab:Error in opening file /etc/vx/ddlconfig.info error from the non-working server indicates a problem with populating the /etc/vx/ddlconfig.info file.

In such cases, the /etc/vx/diag.d/vxcheckhbaapi print_details can also be obtained from the impacted server to validate the HBA details extracted by the Device Discovery Layer (DDL).
The message esd_write_fc:HBA_GetFcpTargetMappingv2 from the non-working server fails to populate the PWWN related content in the file /etc/vx/ddlconfig.info, thus the PWWN content is not populated.

 

 

Resolution


With the product enhancement introduced in 5.1 SP1 RP2 P3 HF6 (Linux only) to the vxesd binary, the vxdmpadm CLI command is now capable of reporting the required PWWN related content.

# rpm -qa | grep -i VRTSvxvm
VRTSvxvm-5.1.132.306-SP1RP2P3HF6_RHEL6.x86_64
 

# vxdmpadm listenclosure all
ENCLR_NAME        ENCLR_TYPE     ENCLR_SNO      STATUS       ARRAY_TYPE     LUN_COUNT
=======================================================================================
disk              Disk           DISKS                CONNECTED    Disk        1
emc0              EMC            000290301188         CONNECTED    A/A         2


# vxdmpadm getportids enclosure=emc0
NAME                 ENCLR-NAME     ARRAY-PORT-ID                   pWWN
====================================================================================
sdbj                 emc0                 16d-b            50:06:04:8c:53:69:41:3f
sdbk                 emc0                 16d-b            50:06:04:8c:53:69:41:3f
sdbd                 emc0                 16d-a            50:06:04:8c:53:69:41:1f
sdbe                 emc0                 16d-a            50:06:04:8c:53:69:41:1f
sdas                 emc0                 16d-a            50:06:04:8c:53:69:41:1f
sdat                 emc0                 16d-a            50:06:04:8c:53:69:41:1f
sday                 emc0                 16d-b            50:06:04:8c:53:69:41:3f
sdaz                 emc0                 16d-b            50:06:04:8c:53:69:41:3f

 

Sample /etc/vx/ddlconfig.info

# cat /etc/vx/ddlconfig.info | egrep 'HBA|PORT|TARGET'
HBA c0,8.03.07.05.06.2-k,5.06.02 (90d5),Qlogic-Corp.,RFD1118P27047,fabric,21:00:00:24:ff:2f:09:dc
        PORT 50:06:0e:80:06:d4:3c:00
                TARGET 50:06:0e:80:06:d4:3c:00
        PORT 50:06:04:8c:53:69:41:1f
                TARGET 50:06:04:8c:53:69:41:1f
        PORT 50:06:04:8c:53:69:41:3f
                TARGET 50:06:04:8c:53:69:41:3f
HBA c1,8.03.07.05.06.2-k,5.06.02 (90d5),Qlogic-Corp.,RFD1118P27047,fabric,21:00:00:24:ff:2f:09:dd
        PORT 50:06:0e:80:06:d4:3c:00
                TARGET 50:06:0e:80:06:d4:3c:00
        PORT 50:06:04:8c:53:69:41:1f
                TARGET 50:06:04:8c:53:69:41:1f
        PORT 50:06:04:8c:53:69:41:3f
                TARGET 50:06:04:8c:53:69:41:3f

 

 

PWWN CHANGES

If the pWWN related content changes, the vxesd daemon needs to be restarted to reflect the required changes to the /etc/vx/ddlconfig.info file contents. The revised /etc/vx/ddlconfig.info file contents are NOT automatically synced with the vxdmpadm getportids CLI command output as such details are retrieved from memory. The vxdisk scandisks command needs to be issued to update the memory contents with the updated /etc/vx/ddlconfig.info amendments, otherwise the vxdmpadm getportids CLI command will continue to report the old PWWN related details.

6.0 RP1 contains the vxddladm restart eventsource command.

 

Applies To


Linux RedHat 6.x with Veritas Volume Manager 5.1 SP1 RP2.
 

To validate whether the issue is related to the HBA firmware versioning and the Veritas DDL (device discovery design) design, the EMC inq.linux utility can be used to to return the PWWN content:

# ./inq.linux -sym_wwn -no_dots |grep 004B
/dev/sdat               000290301188   0004B     60060480000290301188533030303442
/dev/sdaz               000290301188   0004B     60060480000290301188533030303442
/dev/sdbe               000290301188   0004B     60060480000290301188533030303442
/dev/sdbk               000290301188   0004B     60060480000290301188533030303442
/dev/vx/rdmp/emc0_004b  000290301188   0004B     60060480000290301188533030303442


Note: The free EMC inq utility can be obtained using the following ftp link (ftp://ftp.emc.com/pub/symm3000/inquiry/)

 

Issue/Introduction

Veritas Volume Manager (VxVM) 5.1 may not always report the PWWN related content with the vxdmpadm getportids enclosure=<enclosure-name> CLI command due to HBA firmware/configuration settings. The /etc/vx/ddlconfig.info may not be generated as a result.
The /etc/vx/ddlconfig.info contains the topology connection information, such as port and target WWN details for a given HBA card, along with LUN details attached to a given port.


The ARRAY_PORT_PWWN (PWWN) info is retrieved from the array via the HBA. In some cases the PWWN content may not be displayed due to different firmware versions at the HBA level.


# vxdmpadm getportids enclosure=emc0
NAME ENCLR-NAME ARRAY-PORT-ID pWWN
====================================================================================
sdbj emc0 16d-b -
sdbk emc0 16d-b -
sdbd emc0 16d-a -
sdbe emc0 16d-a -
sdas emc0 16d-a -
sdat emc0 16d-a -
sday emc0 16d-b -
sdaz emc0 16d-b -
The /etc/vx/ddlconfig.info file is created by the vxesd (eventsource) daemon and is used by vxconfigd to obtain the topology information. There is a SNIA standard used by the HBA API for which each card vendor should follow to report the topology information. The vxesd daemon will call the related API to collect such information. In some situations the HBA library does not work as expected, so the vxesd daemon will try and collect the topology information via the platform specific method. For example, on Linux, vxesd will try to collect the information through sysfs and procfs when the HBA library fails to work. Note: Due to the sys directory change in RHEL 6 the HBA library and sysfs checks may both fail to work.

Additional Information

ETrack: 2792505