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

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

Article: 100046278
Last Published: 2019-09-13
Ratings: 2 0
Product(s): InfoScale & Storage Foundation

Description

Red Hat 7.7 (kernel version 3.10.0-1062) and later 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

Red Hat is aware of the issue and will release an official kernel patch soon.  This issue is not caused by Infoscale's software, but NVMe devices are not usable under the RHEL 7.7 kernel currently.

 

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


Current workaround:

There is no workaround for systems with the RH 7.7 kernel (3.10.0-1062).  

The affected systems must be rolled back to RHEL 7.6's kernel (3.10.0-957) or earlier to support NVMe devices.

Was this content helpful?