Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

NVMe en RHEL7

Summary: NVM Express [NVMe] o especificación de interfaz de controladora de host de memoria no volátil (NVMHCI) es una especificación para acceder a unidades de estado sólido ...

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

¿Qué es NVMe?

NVM Express [NVMe] o especificación de interfaz de controladora de host de memoria no volátil (NVMHCI) es una especificación para acceder a unidades de estado sólido (SSDs) conectadas a través del bus PCI Express (PCIe). NVM es un acrónimo para memoria no volátil, como la que se utiliza en las SSD.  NVMe define la interfaz de registro optimizado, el conjunto de comandos y el conjunto de funciones para las SSD PCIe. NVMe se centra en estandarizar las SSD PCIe y mejorar el desempeño

Los dispositivos SSD PCIe diseñados según la especificación de NVMe son SSD PCIe basados en NVMe. Para obtener más detalles acerca de NVMe, consulte el enlace http://www.nvmexpress.org/. Los dispositivos NVMe utilizados actualmente son compatibles con NVMe 1.0c

A continuación, analizaremos el soporte para RHEL 7 para los dispositivos NVMe.

Cause

No hay información de causa disponible.

Resolution

NOTA: Actualmente, DELL admite los dispositivos NVMe con el controlador de RHEL 7 de uso inmediato [basado en el proveedor]

En la siguiente lista, se indican los temas cubiertos:


 

NVMe: características admitidas

El controlador de NVMe cuenta con las siguientes características

  • Operaciones básicas de E/S
  • Conexión activa
  • Soporte de arranque [UEFI y heredado]

En la siguiente tabla, se indican las características admitidas del controlador de RHEL 7 [uso inmediato] para NVMe en equipos de 12.ª y 13.ª generación

 
Generación IO básico Conexión activa Arranque de UEFI Inicio heredado
13.ª generación No
12.ª generación No No
Tabla 1: Soporte de la controladora de RHEL 7


Dispositivo NVMe Enumeración del dispositivo y sus capacidades

1) Enumere la información del sistema operativo RHEL 7

[root@localhost ~] # uname-a

Linux localhost. localdomain-3.10.0-123.El7.x86_64 #1 SMP Mon puede 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

2) obtenga los detalles del dispositivo mediante el uso de la utilidad lspci

a) que admite unidades NVMe basadas en Samsung. Primero, obtenga la identificación de la ranura PCI mediante el siguiente comando

[root@localhost ~] # lspci | grep-i Samsung

45:00.0 Non-Volatile Memory Controller: Unidad de disco SSD de Samsung Electronics Co Ltd 171X (Rev 03)

47:00.0 controladora de memoria no volátil: Unidad de disco SSD NVMe de Samsung Electronics Co Ltd 171X (Rev 03)

b) el ID de la ranura se mostrará como se muestra en la siguiente [Fig 1]. Aquí "45:00.0" y "47:00.0" son las ranuras en las que se conectan las unidades.  lspci enumerar el ID de ranura

a) Utilice el ID de la ranura y utilice las siguientes opciones de lspci para obtener los detalles del dispositivo, las funcionalidades y el controlador correspondiente

[root@localhost ~] # lspci-s 45:00.0-v

45:00.0 controladora de memoria no volátil: Subsistema de la controladora SSD NVMe 171X (Rev. 03) de Samsung Electronics Co Ltd

: Dell Express Flash NVMe XS1715 de la

ranura física 800 GB: 25

indicadores: bus maestro, Fast devsel, latencia 0, IRQ 76

memoria en d47fc000 (64 bits, no recuperable) [size = 16k]

capacidades: Capacidades: [c0] Administración de energía versión 3 C8 MSI Enable-count = 1/32 de capacidad enmascarable + 64 bits +

: E0 MSI-X: Enable + Count = 129 Masked-

Capabilities: Capacidades: [70] Express Endpoint, MSI 00 [40] información específica del proveedor: Longitud = 24 <? capacidades de >

: Capacidades: [100] Generación avanzada de informes de error [180] #19

funcionalidades: [150] información específica del proveedor: ID = 0001 Rev = 1 Len = 02C <? >

controlador de kernel en uso: nVMe


a continuación [fig 2] muestra el dispositivo nVMe Samsung y los detalles del dispositivo. También muestra el nombre de la controladora "nVMe" en este caso para este dispositivo

SLN312382_en_US__3i-2_png-550x0
. figura 2: lspci lista de detalles del dispositivo nVMe

Verificar MaxPayLoad

Verifique el valor de MaxPayload ejecutando los siguientes comandos. Debe configurarlo en 256 bytes [Fig. 3]

[root@localhost Home] # lspci | grep-i Samsung

45:00.0 Non-Volatile Memory Controller: 171X de la controladora de SSD NVMe de Samsung Electronics Co Ltd (Rev 03)

[root@localhost Home] # lspci-VVV-s 45:00.0

SLN312382_en_US__4i-4_png-550x0
figura 3: MaxPayload establecido en 256 bytes


Controlador de NVMe  Enumerar la información del controlador

1) Utilice el comando modinfo para enumerar los detalles del Diver

[root@localhost ~] # modinfo nVMe

filename:       nombre del archivo:     /lib/modules/3.10.0-123.el7.x86_64/extra/nvme/nvme.ko        0,8: licencia de Dell 1.17

:        Autor de GPL

:         Samsung Electronics Corporation

srcversion:     Alias de AB81DD9D63DD5DADDED9253

:          PCI: v0000144Dd0000A820sv * SD * BC * SC * i *

depende de lo siguiente:       

vermagic:       vermagic:     3.10.0-123.el7.x86_64 SMP mod_unload modversions           nvme_major: int

PARM:           use_threaded_interrupts: int

The [Fig 4] muestra detalles del nVMe del controlador nVMe. co

SLN312382_en_US__5i-5_png-550x0
figura 4: Modinfo enumerando información del controlador 
 

Nodo de dispositivo NVMe y convenciones de nomenclatura

1) cat/proc/partitions muestra el nodo de dispositivo de nVMe.

a) la siguiente ejecución del comando enumera el dispositivo nVMe como nvme0n1 y nvme1n1

[root@localhost ~] # cat/proc/partitions

major Minor #blocks name

259 0 781412184 nvme0n1

8 0 1952448512 SDA

8 1 512000 sda1

8 2 1951935488 sda2

11 0 1048575 sr0

253 0 52428800 DM-0

253 1 16523264 DM-1 253 2 1882980352.



259 3 390711384 nvme1n1

Partition el dispositivo mediante las herramientas de particionamiento (fdisk, parte)

b) se está ejecutando el siguiente comando de nuevo, se enumera el dispositivo nVMe junto con las particiones

[root@localhost ~] # cat/proc/partitions

major Minor #blocks name

259 0 781412184 nvme0n1

259 1 390705068 nvme0n1p1

259 2 390706008 nvme0n1p2

8 0 1952448512 SDA

8 1 512000 sda1

8 2 1951935488 sda2

11 0 1048575 sr0

253 0 52428800 DM-0

253 1 16523264 DM-1

253 2 1882980352 DM-2

259 3 390711384 nvme1n1

259 4 195354668 nvme1n1p1

259 5 195354712 nvme1n1p2 
 

Convenciones de nomenclatura:

En la siguiente figura [Fig. 5], se explica la convención de nomenclatura de los nodos del dispositivo 

El número inmediatamente después de la cadena "nvme" es el número de dispositivo

Ejemplo:

nvme0n1: aquí, el número de dispositivo es 0

Las particiones se anexan después del nombre del dispositivo con el prefijo "p" 

Ejemplo:

nvme0n1p1: partición 1

nvme1n1p2: partición 2 

Ejemplo:

nvme0n1p1: partición 1 del dispositivo 0

nvme0n1p2: partición 2 del dispositivo 0

nvme1n1p1: partición 1 del dispositivo 1

nvme1n1p2: partición 2 del dispositivo 1 Convenciones de nomenclatura del nodo de dispositivo


Formatear con xfs y montar el dispositivo

1) el siguiente comando formatea la partición nVMe 1 en el dispositivo 1 a XFS

[root@localhost ~] # mkfs. XFS/dev/nvme1n1p1

meta-data =/dev/nvme1n1p1 isize = 256 agcount = 4, agsize = 12209667 blks =

sectsz = 512 ATTR = 2, projid32bit = 1

= CRC = 0

Data = BSIZE = 4096 blocks = 48838667. imaxpct = 25

= Sunit = 0 swidth = 0 blks

naming = versión 2 BSIZE = 4096 ASCII-CI = 0 ftype = 0

log = Internal log BSIZE = 4096 blocks = 23847, version = 2

= sectsz = None Sunit = 0 blks, Lazy-count = 1

Realtime = None extsz = 4096 blocks = 0, rtextents = 0

2) Monte el dispositivo en un punto de montaje y enumere el mismo

[root@localhost ~] # mount/dev/nvme1n1p1/mnt/

[root@localhost ~] # Mount | grep-i nVMe

/dev/nvme1n1p1 en/mnt Type XFS (RW, relatime, seclabel, attr2, inode64, noquota)

mediante la utilidad ledmon para administrar los LED del plano posterior para el dispositivo nVMe

ledmon y ledctl son dos utilidades para Linux que pueden utilizarse para controlar el estado del LED en los planos posteriores de la unidad.  Normalmente, los LED del plano posterior de la unidad se controlan mediante una controladora RAID de hardware (PERC), pero cuando se usa el RAID de software en Linux (mdadm) para SSD PCIE NVMe, el demonio ledmon monitorea el estado de la matriz de unidades y actualiza el estado de los LED de la unidad.

Para obtener lecturas adicionales, compruebe el vínculo https://www.Dell.com/support/article/SLN310523/



Instalar y usar la utilidad ledmon/ledctl

1) instalación de las utilidades OpenIPMI y ledmon/ledctl:

ejecute los siguientes comandos para instalar OpenIPMI y ledmon

[root@localhost ~] # yum install OpenIPMI

[root@localhost ~] # yum install ledmon-0,79-3.EL7.x86_64. rpm

2) usar las utilidades de ledmod/ledctl

que ejecutan ledctl y ledmon de forma simultánea, ledmon reemplazará a la configuración

de ledctl a) para iniciar y verifique el estado de IPMI como se muestra en la [Fig. 6] mediante el siguiente comando

[root@localhost ~] # systemctl Start IPMI

SLN312382_en_US__7i-7_png-550x0
figura 6: Inicio y estado de IPMI
 

a)      Inicie el ledmod

[root@localhost ~]# ledmon

b)      En la [Fig. 7], se muestra el estado del LED después de ejecutar ledmon para el estado operativo del dispositivo


SLN312382_en_US__8i-8_png-550x0
Figura 7: Estado de LED después de la ejecución de ledmon para el estado de funcionamiento del dispositivo (verde)

a) el siguiente comando parpadeará el LED de la unidad [en el nodo de dispositivo/dev/nvme0n1]

[root@localhost ~] # ledctl Locate =/dev/nvme0n1

a continuación, parpadearán ambos los LED de la unidad [en el nodo de dispositivo/dev/nvme0n1 y/dev/nvme1n1]

[root@localhost ~] # ledctl Locate = {/dev/nvme0n1/dev/NVME1N1}

y el siguiente comando apagan el LED de la ubicación

[root@localhost ~] # ledctl locate_off =/dev/nvme0n1

Article Properties


Affected Product

Servers

Last Published Date

06 Apr 2021

Version

3

Article Type

Solution