vxcheckasl will display ERROR in the claim_device() output-
ex.
Device : /dev/sdaa
Vendor Identification : HUAWEI
Product Identification : XSG1
Revision : 4301
Serial Number : ^@^@^@^@^@^@^@^@^@^@^@^@
libvxhuawei.so:claim_device() : ERROR
If the array is sending RTPG (Report Target Port Group) data that exceeds the amount that the Dynamic Multi-Pathing (DMP) is capable of processing, it fails to read the data and claim the device with the ASL.
The output of
/etc/vx/diag.d/vxalua -d
shows the RTPG data size in hexidemical:
ex.
# /etc/vx/diag.d/vxalua -d /dev/sdayn<...>
----------- RTPG Response Data: Raw data size 0x1b4 -----------
Bytes 0 - 9 0x00 0x00 0x01 0xb0 0x01 0x0a 0x00 0x01 0x00 0x02
Bytes 10 - 19 0x20 0x10 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x02
<...>
Bytes 430 - 435 0x00 0x00 0x00 0x00 0x00 0x00
Bytes 0-435 = 436 total bytes of data, but we can use a shell command to quickly convert the HEX to a DECIMAL value:
ex.$ printf '%d\n' 0x1b4
436
If the version of VxVM that is installed on the server doesn't support a RTPG data size larger than 255 bytes, you may receive ASL errors or system panics may occur.
To address the issue, please install patches that increase the size of the RTPG buffer from 255 to 1024:
* 3961469 (Tracking ID: 3948140)
SYMPTOM:
System may panic if RTPG data returned by the array is greater than 255 with
below stack:
dmp_alua_get_owner_state()
dmp_alua_get_path_state()
dmp_get_path_state()
dmp_check_path_state()
dmp_restore_callback()
dmp_process_scsireq()
dmp_daemons_loop()
DESCRIPTION:
The size of the buffer given to RTPG SCSI command is currently 255 bytes. But the size of data returned by underlying array for RTPG can be greater than 255 bytes. As a result incomplete data is retrieved (only the first 255 bytes) and when trying to read the RTPG data, it causes invalid access of memory resulting in error while claiming the devices. This invalid access of memory may lead to system panic.
RESOLUTION:
The RTPG buffer size has been increased to 1024 bytes for handling this.
This has been fixed on Infoscale 7.4.1 and later. If the server has an earlier version of Infoscale or Storage Foundation, please refer to the below links for the available patches, which can be downloaded from support.veritas.com:
|
Patch Name |
SORT Link |
|---|---|
| infoscale-rhel6_x86_64-Patch-7.3.1.100 | |
| infoscale-rhel7_x86_64-Patch-7.3.1.200 | |
| sfha-rhel7_x86_64-Patch-6.2.1.700 | |
| infoscale-aix72-Patch-7.3.1.100 | |
| infoscale-rhel7_x86_64-Patch-7.3.1.300 | |
| infoscale-rhel7_x86_64-Patch-7.2.0.500 | |
| infoscale-sol11_sparc-Patch-7.3.1.200 | |
| infoscale-rhel7_x86_64-Patch-7.1.0.300 | |
| vm-rhel7_x86_64-Patch-7.4.0.1600 | |
| infoscale-sol11_sparc-Patch-7.1.0.1100 | |
| infoscale-sles12.4_x86_64-Patch-7.3.1.1100 | |
| infoscale-rhel7.7_x86_64-Patch-7.3.1.3100 | |
| sfha-rhel7.7_x86_64-Patch-6.2.1.7100 | |
| sfha-sles12.4_x86_64-Patch-6.2.1.4100 | |
| infoscale-rhel7_x86_64-Patch-7.4.0.1700 | |
| infoscale-sles12_x86_64-Patch-7.3.1.3200 | |
| infoscale-rhel7_x86_64-Patch-7.3.1.3300 | |
| infoscale-rhel7.9_x86_64-Patch-7.3.1.3600 | |
| sfha-rhel7_x86_64-Patch-6.2.1.7200 |
Note:
If your installed version is not in the table above, please contact a Support representative to check if there is a private hotfix for the specific version, referencing etrack incident ID 3948140.
Disks from ALUA array are not claimed by Array Support Library (ASL) if RTPG data is greater than 255 bytes.
ETrack: 3948140