Veritas vxdmpadm getportids not displaying PWWN (Port World Wide Name) due to /usr/lib/udev/rules.d/63-fc-wwpn-id.rules changes

book

Article ID: 100049988

calendar_today

Updated On:

Description

Error Message

 

Cause

 

The duplicate “fc-” path is created by /usr/lib/udev/rules.d/63-fc-wwpn-id.rules and not /usr/lib/udev/rules.d/60-persistent-storage.rules.

 

The /usr/lib/udev/rules.d/63-fc-wwpn-id.rules is installed with rpm sg3_utils-1.37-19.el7.x86_64

With the earlier sg3_utils rpms, the 63-fc-wwpn-id.rules did not exist.

rhel 7.5:

# grep "/fc\-" /usr/lib/udev/rules.d/*

# rpm -qa | grep sg3
sg3_utils-1.37-12.el7.x86_64
sg3_utils-libs-1.37-12.el7.x86_64

# rpm -ql sg3_utils-1.37-12.el7.x86_64 | grep wwpn

rhel7.8:

# grep "/fc\-" /usr/lib/udev/rules.d/*

/usr/lib/udev/rules.d/63-fc-wwpn-id.rules:ENV{DEVTYPE}=="disk", SYMLINK+="disk/by-path/fc-$env{FC_INITIATOR_WWPN}-$env{FC_TARGET_WWPN}-lun-$env{FC_TARGET_LUN}"

/usr/lib/udev/rules.d/63-fc-wwpn-id.rules:ENV{DEVTYPE}=="partition", SYMLINK+="disk/by-path/fc-$env{FC_INITIATOR_WWPN}-$env{FC_TARGET_WWPN}-lun-$env{FC_TARGET_LUN}-part%n"

 

# rpm -qa | grep sg3
sg3_utils-libs-1.37-19.el7.x86_64
sg3_utils-1.37-19.el7.x86_64

# rpm -ql sg3_utils-1.37-19.el7.x86_64 | grep wwpn
/usr/lib/udev/fc_wwpn_id
/usr/lib/udev/rules.d/63-fc-wwpn-id.rules

 

 

Resolution

 

vxpath_links script

 

The /lib/udev/vxpath_links script is processed during the boot process and parses the device names to create the /dev/vx/.dmp/devname symlinks pointing to /dev/disk/by-path/physname.

The /etc/vx/vxpath_links script is used to generate WWN & PWWN information whenever devices are discovered in the /dev/vx/.dmp directory.

Whenever vxesd (eventsource) starts, it reads the /dev/vx/.dmp contents and populates the WWN & PWWN information in /etc/vx/ddlconfig.info file.

VxVM tracks the hardware physical path by referencing the "/dev/vx/.dmp/" directory contents, which contains symbolic links between sd names and hardware paths.

DMP reads the /dev/vx/.dmp/devname symlink to get the physical path name for saving the path-specific configuration changes.

 

Modify

The /etc/vx/vxpath_links and /lib/udev/vxpath_links script needs to include the following hwpath attribute updates shown in red.

 

grep hwpath vxpath_links

generate_hwpath_info()

                #hwpath=`find -L $BYPATH_DIR -samefile /dev/$pathname 2>/dev/null | xargs basename 2>/dev/nul

                hwpath=`find -L $BYPATH_DIR -samefile /dev/$pathname 2>/dev/null | grep -v "/fc-" | xargs basename 2>/dev/null`

                #hwpath=`$PATH_ID /block/$pathname | awk -F'=' '{print $2}'`

                hwpath=`$PATH_ID /block/$pathname | grep -v "/fc-" | awk -F'=' '{print $2}'`

        if [ -z $hwpath ]

        target=$BYPATH_DIR/$hwpath

        gather_ddlconfig $pathname $hwpath

# Generate hwpath information for already discovered OS devices

                generate_hwpath_info $1

        generate_hwpath_info $1

Issue/Introduction

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 /etc/vx/ddlconfig.info file is created by the vxesd (eventsource) daemon and is used by vxconfigd to obtain the topology information

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 changes introduced by RedHat with the /usr/lib/udev/rules.d/63-fc-wwpn-id.rules script.