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 auf RHEL7

Summary: NVM Express [NVMe] oder Non-volatile Memory Host Controller Interface Specification (NVMHCI) ist eine Spezifikation für den Zugriff auf Solid-State-Laufwerke.

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

Was ist NVMe?

NVM Express [NVMe] oder Non-Volatile Memory Host Controller Interface Specification (NVMHCI) ist eine Spezifikation für den Zugriff auf Solid-State-Laufwerke (SSDs), die über den PCI Express (PCIe)-Bus angeschlossen sind. NVM ist ein Akronym für non-volatile memory (nicht flüchtigen Speicher), wie er in SSDs verwendet wird.  NVMe definiert die optimierte Registerschnittstelle, den Befehlssatz und den Funktionssatz für PCIe-SSD-Laufwerke. NVMe konzentriert sich darauf, die PCIe-SSD zu standardisieren und die Leistung zu verbessern.

PCIe-SSD-Geräte, die auf der NVMe-Spezifikation basieren, sind NVMe-basierte PCIe. Weitere Informationen zu NVMe finden Sie unter dem Link http://www.nvmexpress.org/. Die derzeit verwendeten NVMe-Geräte sind NVMe 1.0c-konform.

Nachfolgend schauen wir uns den RHEL 7-Support für die NVMe Geräte an.

Cause

Es sind keine Informationen zur Ursache verfügbar.

Resolution

HINWEIS: Derzeit unterstützt Dell die NVMe Geräte mit RHEL 7-Treiber im Lieferzustand [abhängig vom Lieferanten]

Im folgenden finden Sie eine Liste der Punkte, die besprochen werden:


 

NVMe – Unterstützte Funktionen

Der NVMe-Treiber macht die folgenden Funktionen verfügbar

  • Grundlegende E/A-Vorgänge
  • Hot-Plug
  • Startunterstützung [UEFI und Legacy]

In der folgenden Tabelle sind die unterstützten Funktionen des RHEL 7-Treibers [Lieferzustand] für NVMe auf 12G- und 13-G-Rechnern aufgeführt.

 
Generation Grundlegender E/A Hot-Plug UEFI-Start Legacy-Start
13 G Ja Ja Ja Nein
12 G Ja Ja Nein Nein
Tabelle 1: RHEL 7 Treiberunterstützung


NVMe device Auflisten des Geräts und seiner Funktionen

1) führen Sie die RHEL 7 BS

-Informationen [root@localhost ~] # uname-a

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

2) rufen Sie die Gerätedetails über das lspci-Dienstprogramm

a auf. Wir unterstützen Samsung-basierte NVMe-Laufwerke. Rufen Sie zunächst die PCI-Steckplatz-ID mit dem folgenden Befehl auf

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

45:00.0 nicht-flüchtiger Speicher-Controller: Samsung Electronics Co Ltd NVMe SSD Controller 171X (Rev 03)

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

b) die Steckplatz-ID wird wie in der unten stehenden Abbildung aufgeführt [Abb. 1]. Hier sind "45:00.0" und "47:00.0" die Steckplätze, an denen die Laufwerke angeschlossen sind.  lspci Auflisten der Steckplatz-ID

a) verwenden Sie die Steckplatz-ID und verwenden Sie die folgenden lspci-Optionen, um die Gerätedetails, Funktionen und den entsprechenden Treiber zu erhalten

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

45:00.0 nicht-flüchtiger Speicher-Controller: Samsung Electronics Co Ltd NVMe SSD Controller 171X (Rev 03) (PROG-if 02)

Subsystem: Dell Express Flash NVMe XS1715 SSD 800 GB

Physical Slot: 25

Flags: Bus Master, fast devsel, Latenz 0, IRQ 76

Speicher bei d47fc000 (64-Bit, nicht vorabrufbar) [size = 16 KB]

Funktionen: Funktionen: [C0] Energieverwaltung Version 3 C8 MSI Enable-count = 1/32 MASKABLE + 64bit +

Capabilities: E0 MSI-X: Enable + count = 129 Masked-

Capabilities: Funktionen: [70] Express-Endpunkt, MSI 00 [40] anbieterspezifische Informationen: Len = 24 <? >

Funktionen: Funktionen: [100] Erweiterte Fehlerberichterstattung [180] #19

Funktionen: [150] anbieterspezifische Informationen: ID = 0001 REV = 1 len = 02C <? >

Kernel-Treiber in Verwendung: nvme


im folgenden [Fig 2] werden die Samsung nvme-Geräte und die aufgelisteten Gerätedetails angezeigt. Außerdem wird in diesem Fall der Name des Treibers "nvme" für dieses Gerät angezeigt

SLN312382_en_US__3i-2_png-550x0
. Abbildung 2: lspci Listing nvme-Gerätedetails

MaxPayLoad überprüfen

Überprüfen Sie den MaxPayload-Wert, indem Sie die folgenden Befehle ausführen. Er sollte es auf 256 Byte [Abb. 3]

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

45:00.0 Non-volatile Memory Controller einstellen: Samsung Electronics Co Ltd NVMe SSD Controller 171X (Rev 03)

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

SLN312382_en_US__4i-4_png-550x0
Abbildung 3: MaxPayload auf 256 Byte eingestellt


NVMe Treiber  Auflisten der Treiberinformationen

1) verwenden Sie den modinfo-Befehl, um die Details der Taucher

[root@localhost ~] # modinfo nvme Dateiname aufzulisten

:       Dateiname: /lib/modules/3.10.0-123.el7.x86_64/extra/nvme/nvme.ko        0,8 – Dell 1.17

Lizenz:        GPL-

Autor:         Samsung Electronics Corporation

srcversion:     AB81DD9D63DD5DADDED9253-

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

hängt:       

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

parm:           use_threaded_interrupts: int

die unten [Fig 4] zeigt Details des NVMe-Treibers NVMe. Ko

SLN312382_en_US__5i-5_png-550x0
Abbildung 4: Modinfo listet die Treiberinformationen auf 
 

NVMe Geräteknoten und Namenskonventionen

1) cat/proc/Partitions zeigt den Geräte-Node von nvme an.

a) die folgende Befehlsausführung listet das nvme-Gerät als nvme0n1 und 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 DM-2

259 3 390711384 nvme1n1

partitionieren Sie das Gerät unter Verwendung der any Partitionierung Tools (fdisk, parted)

b) mit dem folgenden Befehl werden die nvme-Geräte zusammen mit Partitionen

[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 
 

Namenskonventionen:

Im Folgenden [Abb. 5] wird die Namenskonvention der Geräteknoten erläutert 

Die Nummer unmittelbar nach der Zeichenfolge "nvme" ist die Gerätenummer

Beispiel:

nvme0n1 – In diesem Fall ist die Gerätenummer 0.

Die Partitionen werden nach dem Gerätenamen mit dem Präfix "p" angehängt 

Beispiel:

nvme0n1p1 – Partition 1

nvme1n1p2 – Partition 2 

Beispiel:

nvme0n1p1 – Partition 1 von Gerät 0

nvme0n1p2 – Partition 2 von Gerät 0

nvme1n1p1 – Partition 1 von Gerät 1

nvme1n1p2 – Partition 2 von Gerät 1 Namenskonventionen für Geräteknoten


Mit xfs formatieren und das Gerät mounten

1) der folgende Befehl formatiert die nvme-Partition 1 auf Gerät 1 zu 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 = Internal Log BSIZE = 4096 Blocks = 23847, Version = 2

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

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

2) mounten Sie das Gerät auf einen Mount-Punkt und führen Sie die gleiche

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

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

/dev/nvme1n1p1 auf/mnt Type xfs (RW, relatime, seclabel, attr2, inode64, noquota)

unter Verwendung des Dienstprogramms ledmon zur Verwaltung der Rückwandplatinen-LEDs für nvme

-Geräte ledmon und-ledctl sind zwei Dienstprogramme für Linux, die verwendet werden können, um den LED-Status auf Laufwerks Rückwandplatinen zu steuern.  Normalerweise werden die LEDs für die Laufwerk Rückwandplatine von einem Hardware-RAID-Controller (PERC) gesteuert. bei Verwendung von Software-RAID auf Linux (mdadm) für NVMe PCIe SSD überwacht der ledmon-Daemon den Status des Laufwerks-Arrays und aktualisiert den Status der Laufwerk-LEDs.

Überprüfen Sie den Link https://www.Dell.com/support/article/SLN310523/



Das Dienstprogramm ledmon/ledctl installieren und verwenden

1) Installieren von openipmi und ledmon/ledctl Utilities:

führen Sie die folgenden Befehle aus, um openipmi und ledmon

[root@localhost ~] # yum install openipmi

[root@localhost ~] # yum install ledmon-0.79-3.el7.x86_64 zu installieren. rpm

2) verwenden Sie die ledmod/ledctl-Dienstprogramme

, die ledctl und ledmon gleichzeitig ausführen, ledmon schließlich die ledctl-Einstellungen

a) starten und überprüfen Sie den Status von IPMI (siehe [Abb. 6] mithilfe des folgenden Befehls

[root@localhost ~] # systemctl Start IPMI

SLN312382_en_US__7i-7_png-550x0
Abbildung 6: IPMI-Start und -Status
 

a) Starten Sie ledmod

[root@localhost ~]# ledmon

b) [Abb. 7] zeigt den LED-Status, nachdem ledmon für den Betriebszustand des Geräts ausgeführt wurde


SLN312382_en_US__8i-8_png-550x0
Abbildung 7: LED-Status nach ledmon Run für den betriebsfähigen Zustand des Geräts (grün)

a) der unten stehende Befehl blinkt die Laufwerk-LED [auf dem Geräte-Node/dev/nvme0n1]

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

unter Befehl blinkt beide die Laufwerk-LEDs [auf dem Geräte-Node/dev/nvme0n1 und/dev/nvme1n1]

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

und mit dem folgenden Befehl wird die locate-LED ausgeschaltet

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

Article Properties


Affected Product

Servers

Last Published Date

06 Apr 2021

Version

3

Article Type

Solution