Description
Red Hat 7.7 (kernel version 3.10.0-1062) doesn't read SCSI VPD information from NVMe disks, preventing Veritas Infoscale from reading the devices successfully.
This issue is not present on RHEL 7.6 (3.10.0-957) and earlier.
Red Hat Bugzilla incident: 1749524 and 1752423
Red Hat is aware of the issue has released an official kernel patch. This issue is not caused by Infoscale's software, but NVMe devices are not usable under the RHEL 7.7 .1062 kernel.
Errata RHSA-2019:3979 addresses the issue with kernel update kernel-3.10.0-1062.7.1.
https://access.redhat.com/errata/RHSA-2019:3979
Bug Fix: On RHEL 7.7 kernel SCSI VPD information for NVMe drives is missing (breaks InfoScale) (BZ#1752423)
Using "sg_inq" to return SCSI VPN information the device reveals the errors. Note the blank results for Product ID, Revision level, and Serial number:
On 3.10.0-957.27.2.el7 (RHEL 7.6.z kernel):
# sg_inq /dev/nvme0n1
standard INQUIRY:
PQual=0 Device_type=0 RMB=0 version=0x06 [SPC-4]
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=0 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 [BQue=0]
EncServ=0 MultiP=0 [MChngr=0] [ACKREQQ=0] Addr16=0
[RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=1
length=36 (0x24) Peripheral device type: disk
Vendor identification: NVMe
Product identification: Samsung SSD 970 <==================================
Product revision level: EXE7 <==================================
Unit serial number: S464NB0M400753T <==================================
On 3.10.0-1062.1.1.el7 (RHEL 7.7.z kernel):# sg_inq /dev/nvme0n1
standard INQUIRY:
PQual=0 Device_type=0 RMB=0 version=0x06 [SPC-4]
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=0 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 [BQue=0]
EncServ=0 MultiP=0 [MChngr=0] [ACKREQQ=0] Addr16=0
[RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=1
length=36 (0x24) Peripheral device type: disk
Vendor identification: NVMe
Product identification:
Product revision level:
Unit serial number:
From vxddladm (Device Discovery Layer), you can see that the device is failing to be claimed by the ASL (Array Support Library) for NVMe disks:
Both servers running the same ASL package of VRTSaslapm-7.4.1.1200-RHEL7.x86_64.
RHEL 7.6:
# vxddladm list devices
DEVICE TARGET-ID STATE DDL-STATUS (ASL)
===============================================================
nvme0n1 - Online CLAIMED (libvxnvme.so)
sdc - Online CLAIMED (Disk)
sdb - Online CLAIMED (Disk)
sda - Online CLAIMED (Disk)
RHEL 7.7:
# vxddladm list devices
DEVICE TARGET-ID STATE DDL-STATUS (ASL)
===============================================================
nvme0n1 - Online ERROR (libvxnvme.so) <=============
sdc - Online CLAIMED (Disk)
sdb - Online CLAIMED (Disk)
sda - Online CLAIMED (Disk)
Reviewing the devices from the DMP layer shows the issue as well - the /dev/vx/rdmp/ path does not exist for the NVMe disk on RHEL 7.7:
RHEL 7.6 kernel:# ls -al /dev/vx/rdmp/nvme0n1 /dev/nvme0n1
brw-rw----. 1 root disk 259, 0 Sep 5 01:30 /dev/nvme0n1
brw-------. 1 root root 201, 64 Aug 9 23:19 /dev/vx/rdmp/nvme0n1
RHEL 7.7 kernel:# ls -al /dev/vx/rdmp/nvme0n1 /dev/nvme0n1
ls: cannot access /dev/vx/rdmp/nvme0n1: No such file or directory
brw-rw----. 1 root disk 259, 0 Sep 5 01:30 /dev/nvme0n1
Action Required
Update the RHEL 7.7 kernel to kernel-3.10.0-1062.7.1. Per the linked Errata and BugZilla posts, this resolves the NVME VPD information required by Infoscale.