RHEL 7.7 (3.10.0-1062) does not support NVMe devices, SCSI VPD inquiry is invalid

Article: 100046278
Last Published: 2020-01-06
Ratings: 3 1
Product(s): InfoScale & Storage Foundation

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.

Was this content helpful?