跳转至主要内容
  • 快速、轻松地下订单
  • 查看订单并跟踪您的发货状态
  • 创建并访问您的产品列表
  • 使用“Company Administration”(公司管理),管理Dell EMC站点、产品和产品级联系人。

NVMe no RHEL7

摘要: A especificação de interface do controlador de host de memória não volátil (NVMHCI) ou NVM Express [NVMe] é uma especificação para acessar unidades de estado sólido ...

本文可能已自动翻译。如果您对其质量有任何反馈,请使用此页面底部的表单告知我们。

文章内容


症状

O que é NVMe?

A especificação de interface do controlador de host de memória não volátil (NVMHCI) ou NVM Express [NVMe], é uma especificação para acessar as unidades estado sólido (SSDs) conectadas por meio do barramento PCI Express (PCIe). NVM é um acrônimo para memória não volátil, como usado em SSDs.  O NVMe define a interface de registro otimizada, o conjunto de comandos e o conjunto de recursos para SSDs PCIe. O NVMe concentra-se em padronizar as SSDs PCIe e melhorar o desempenho

Os dispositivos SSD PCIe projetados com base na especificação NVMe são PCIeSSD baseados em NVMe. Para obter mais detalhes sobre o NVMe, consulte o link http://www.nvmexpress.org/. Os dispositivos NVMe utilizados atualmente são compatíveis com NVMe 1.0c

A seguir, analisaremos a compatibilidade do RHEL 7 com os dispositivos NVMe.

原因

Nenhuma informação sobre a causa está disponível.

解决方案

NOTA: Atualmente, a DELL oferece compatibilidade com os dispositivos NVMe com driver out of box RHEL 7 (baseados em fornecedor)

Veja a seguir a lista do que está sendo abordado:


 

NVMe - recursos compatíveis

O driver do NVMe expõe os seguintes recursos

  • Operações básicas de E/S
  • Hot-plug
  • Compatibilidade com inicialização [UEFI e preexistente]

A tabela a seguir lista os recursos compatíveis do driver RHEL 7 [out of Box] para NVMe em máquinas 12 G e 13 G

 
Geração E/S básica Hot-plug Inicialização do UEFI Inicialização de preexistente
13 G Sim Sim Sim Não
12 G Sim Sim Não Não
Tabela 1: Suporte a driver RHEL 7


NVMe device Listando o dispositivo e seus recursos

1) liste as informações do sistema operacional RHEL 7

[root@localhost ~] # uname-a

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

2) obter os detalhes do dispositivo usando o utilitário lspci

a) damos suporte a unidades NVMe baseadas em Samsung. Primeiro, obtenha o ID do slot PCI usando o seguinte comando

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

45:00.0 Non-Volatile Memory Controller: Samsung Electronics Co Ltd NVMe SSDs Controller 171X (Rev 03)

47:00.0 Non-Volatile Memory Controller: Samsung Electronics Co Ltd NVMe SSDs Controller 171X (Rev 03)

b) o ID do slot será listado como mostrado na seção abaixo [Figura 1]. Aqui "45:00.0" e "47:00.0" são os slots em que as unidades estão conectadas.  lspci listando o ID a do slot a

) Use o ID do slot e use as seguintes opções de lspci para obter os detalhes do dispositivo, as capacidades e o driver correspondente

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

45:00.0 não-volátil Memory Controller: Subsistema do Samsung Electronics Co Ltd NVMe SSDs Controller 171X (Rev 03) (PROG-se 02)

:
Slot físico 800 GB XS1715io de SSD flash NVMe Dell
25

indicadores: Bus Master, Fast devsel, latência 0, irq 76

Memory at d47fc000 (64 bits, non-prefetch) [size = 16K]

recursos: Recursos: [c0] Power Management versão 3 C8 MSI Enable — Count = 1/32 Mascarable + 64 bits +

recursos: E0 MSI-X: Habilitar + Count = 129 mascarados-

recursos: Recursos: [70] Express Endpoint, MSI 00 [40] informações específicas do fornecedor: Len = 24 <? >

recursos: Recursos: [100] Geração de relatórios de erros avançados [180] recursos de #19

: [150] informações específicas do fornecedor: ID = 0001 Rev = 1 Len = 02C <? >

Driver do kernel em uso: nvme


a seguir [Figura 2] mostra o dispositivo Samsung nvme e os detalhes do dispositivo listados. Ele mostra também o nome do driver ' nvme ' neste caso para este dispositivo

SLN312382_en_US__3i-2_png-550x0
Figura 2: lspci listando os detalhes do dispositivo nvme

Verificação do MaxPayLoad

Verifique o valor de MaxPayload executando os seguintes comandos. Ele deve defini-lo como 256 bytes [figura. 3]

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

45:00.0 Non-Volatile Memory Controller: Samsung Electronics Co Ltd NVMe SSDs Controller 171X (Rev 03)

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

SLN312382_en_US__4i-4_png-550x0
Figura 3: MaxPayload definido para 256 bytes


Driver do NVMe  Listar as informações do driver

1) Use o comando modinfo para listar os detalhes do Diver

[root@localhost ~] # modinfo nvme

filename:       nome do arquivo:     /lib/modules/3.10.0-123.el7.x86_64/extra/nvme/nvme.ko        0,8-licença do Dell 1,17

:        Autor da GPL

:         Samsung Electronics Corporation

srcVersion:     Alias do AB81DD9D63DD5DADDED9253

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

depende:       

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

Parm:           use_threaded_interrupts: int

a seção abaixo [Figura 4] mostra detalhes do driver nvme nvme. ko

SLN312382_en_US__5i-5_png-550x0
Figura 4: Informações do driver de listagem do modinfo 
 

Convenções de nomenclatura e nó de dispositivo NVMe

1) o cat/proc/partitions exibe o nó do dispositivo de nvme.

a) a execução do comando a seguir lista o dispositivo nvme como nvme0n1 e nvme1n1

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

principal menor #blocks nome

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 DM-2

259 3 390711384 nvme1n1

particionar o dispositivo usando as ferramentas de particionamento (fdisk, parte)

b) executando o comando a seguir novamente, lista o dispositivo nvme juntamente com as partições

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

maior secundário #blocks nome

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 
 

Convenções de nomenclatura:

A figura abaixo [Fig. 5] explica a convenção de nomenclatura dos nós de dispositivo 

O número logo após a cadeia de caracteres "nvme" é o número do dispositivo

Exemplo:

nvme0n1 – Aqui o número do dispositivo é 0

As partições são anexadas após o nome do dispositivo com o prefixo "p" 

Exemplo:

nvme0n1p1 – partição 1

nvme1n1p2 – partição 2 

Exemplo:

nvme0n1p1 – partição 1 do dispositivo 0

nvme0n1p2 – partição 2 do dispositivo 0

nvme1n1p1 – partição 1 do dispositivo 1

nvme1n1p2 – partição 2 do dispositivo 1 Convenções de nomenclatura de nó de dispositivo


Formatação com xfs e montagem do dispositivo

1) o comando a seguir formata a partição nvme 1 no dispositivo 1 para 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 = Version 2 bsize = 4096 ASCII-CI = 0 fType = 0

log = log interno bsize = 4096 Blocks = 23847, Version = 2

= sectsz = 512 Sunit = 0 blks, Lazy-Count = 1

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

2) monte o dispositivo em um ponto de montagem e liste o mesmo

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

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

/dev/nvme1n1p1 no/mnt Type XFS (RW, relatime, seclabel, attr2, inode64, NoQuota)

usando o utilitário ledmon para gerenciar os LEDs do backplane para o dispositivo nvme

ledmon e ledctl são dois utilitários para Linux que podem ser usados para controlar o status do LED nos backplanes da unidade.  Normalmente, os LEDs de backplane de unidade são controlados por uma controladora de RAID de hardware (PERC), mas ao usar RAID de software no Linux (mdadm) para SSD PCIE NVMe, o daemon ledmon monitorará o status do array de unidade e atualizará o status dos LEDs da unidade.

Para leitura adicional, verifique o link https://www.Dell.com/support/article/SLN310523/



Instalar e usar o utilitário ledmon/ledctl

1) instalando utilitários OpenIPMI e ledmon/ledctl:

Execute os seguintes comandos para instalar OpenIPMI e ledmon

[root@localhost ~] # yum instalar OpenIPMI

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

2) usar os utilitários do ledmod/ledctl

que executam o ledctl e o ledmon simultaneamente, o ledmon eventualmente sobregravará as configurações de ledctl

a) iniciará e verificará o status do IPMI, conforme mostrado no [figura. 6] usando o seguinte comando

[root@localhost ~] # systemctl Start IPMI

SLN312382_en_US__7i-7_png-550x0
Figura 6: Início e status do IPMI
 

a)      Inicie o ledmod

[root@localhost ~]# ledmon

b)      [Fig. 7] mostra o status do LED após a execução do ledmon para o estado de funcionamento do dispositivo


SLN312382_en_US__8i-8_png-550x0
Figura 7: Status de LED após a execução do ledmon para o estado de funcionamento do dispositivo (verde)

a) o comando abaixo piscará o LED da unidade [no nó do dispositivo/dev/nvme0n1]

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

abaixo os LEDs da unidade [no nó do dispositivo/dev/nvme0n1 e/dev/nvme1n1]

[root@localhost ~] # ledctl Localize = {/dev/nvme0n1/dev/nvme1n1}

e o comando a seguir desligará o LED de localização

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

文章属性


受影响的产品

Servers

上次发布日期

06 4月 2021

版本

3

文章类型

Solution