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.

RHEL7上のNVMe

Summary: NVM Express(NVMe)または不揮発性メモリー ホスト コントローラー インターフェイス仕様(NVMHCI)は、ソリッドステート ドライブにアクセスするための仕様です

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

NVMeとは何ですか。

NVM Express(NVMe)または不揮発性メモリー ホスト コントローラー インターフェイス仕様(NVMHCI)は、PCI express(PCIe)バスを介して接続されたソリッドステート ドライブ(SSD)にアクセスするための仕様です。NVMは、SSDで使用されている不揮発性メモリーの略語です。  NVMeでは、最適化されたレジスター インターフェイス、コマンド セット、およびPCIe SSDの機能セットが定義されています。NVMeは、PCIe SSDを標準化し、パフォーマンスを向上させることに重点を置いています

NVMe仕様に基づいて設計されたPCIe SSDデバイスは、NVMeベースのPCIeSSDです。NVMeの詳細については、リンクhttp://www.nvmexpress.org/を参照してください。現在使用されているNVMeデバイスは、NVMe 1.0cに準拠しています

次では、NVMeデバイスのRHEL 7サポートを見ていきます。

Cause

原因の情報がありません。

Resolution

メモ: 現在、デルはRHEL 7アウト オブ ボックス(ベンダー ベース)ドライバーを使用してNVMeデバイスをサポートしています

対象となるもののリストを以下に示します。


 

NVMe - サポートされている機能

NVMeドライバーでは、次の機能が公開されます

  • Basic IO操作
  • ホット プラグ
  • ブート サポート(UEFIおよびレガシー)

次の表は、第12世代および第13世代マシンにおいてNVMeのRHEL 7(アウト オブ ボックス)ドライバーでサポートされている機能を示しています

 
世代 Basic IO ホット プラグ UEFI起動 レガシー起動
13世代 はい はい はい いいえ
12世代 はい はい いいえ いいえ
表1:RHEL 7 ドライバサポート


NVMe deviceデバイスとその機能の一覧表示

1) RHEL 7 OS 情報

[root@localhost ~] # uname-a

Linux localhost をリストします。 localdomain kernel-3.10.0-327.36.1.el7-123.el7.x86_64 #1 SMP Mon 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

2) は、lspci ユーティリティ a を使用してデバイスの詳細を取得し

ます。まず、次のコマンドを使用して pci スロット id を取得します

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

45: 00.0 非揮発性メモリコントローラ: Samsung エレクトロニクス Co、NVMe SSD Controller 171X (rev 03)

47: 00.0 非揮発性メモリコントローラ: Samsung エレクトロニクス Co、NVMe SSD Controller 171X (rev 03)

b) スロット id は次の図のようにリストされます [図 1]。ここで「45:00.0」および「47:00.0」は、ドライブが接続されているスロットです。  スロット id a をリストする lspci

) スロット Id を使用し、次の lspci オプションを使用して、デバイスの詳細、機能、および対応するドライバ

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

45: 00.0 非揮発性メモリコントローラを取得します。Samsung エレクトロニクス Co、NVMe SSD Controller 171X (rev 03)

サブシステム: Dell Express Flash NVMe XS1715 SSD 800GB

物理スロット: 25

フラグ: bus master、fast devsel、latency 0、IRQ 76

Memory at d47fc000 (64 ビット、非プレフェッチ可能) [size = 16k]

機能: Capabilities: [c0] Power Management version 3c8MSIEnable-Count = 1/32 のマスクと64ビット +

機能: 10MSI-X: Enable + Count = 129 マスク

: 機能: Capabilities: [70] Express Endpoint, MSI 00[40] ベンダー固有の情報: Len = 24 <? >

機能は次のとおりです。Capabilities: [100] Advanced Error Reporting[180] #19

機能: [150] ベンダー固有の情報: ID = 0001 Rev = 1 Len = 02c <? >

カーネルドライバが使用されています。


次の図 [図 2] は、Samsung nvme デバイスと、リストされているデバイスの詳細を示しています。この例では、このデバイスの場合はドライバ「nvme」の名称も表示され

SLN312382_en_US__3i-2_png-550x0
ます。図 2: lspci nvme デバイスの詳細リスト

MaxPayLoadの確認

次のコマンドを実行して、MaxPayloadの値を確認します。これは256バイトに設定する必要があります (図 3)

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

45: 00.0 非揮発性メモリコントローラ: Samsung エレクトロニクス Co の NVMe SSD コントローラ 171x (rev 03)

[root@localhost home] # lspci-vvv-s 45: 00.0

SLN312382_en_US__4i-4_png-550x0
図 3: MaxPayloadが256バイトに設定されている


NVMeドライバー  ドライバ情報の一覧表示

1) modinfo コマンドを使用して、ダイバーの詳細をリストし

ます [root@localhost ~] # modinfo nvme

filename:       filename:     /lib/modules/3.10.0-123.el7.x86_64/extra/nvme/nvme.ko        0.8-dell 1.17

ライセンス:        GPL

作成者:         Samsung エレクトロニクス Corporation の

srcversion:     AB81DD9D63DD5DADDED9253

エイリアス:          pci: v0000144Dd0000A820sv * sd * bc * sc * i *

依存:       

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

パラメータ:           use_threaded_interrupts:

次の整数 (図 4) は、nvme ドライバ nvme の詳細を示しています (

SLN312382_en_US__5i-5_png-550x0
図 4)。Modinfoでドライバー情報をリスト表示 
 

NVMeデバイスのノードと命名規則

1) cat/proc/partitions は、nvme のデバイスノードを表示します。

a) 次のコマンドを実行すると、nvme デバイスが nvme0n1 と nvme1n1

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

メジャーマイナー #blocks 名

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

Partition Any パーティションツール (fdisk、parted)

b) 次のコマンドを再度実行します。次のコマンドを再度実行して、nvme デバイスをパーティションと一緒にリストします

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

メジャーマイナー #blocks 名

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 
 

命名規則:

下の「図5」は、デバイス ノードの命名規則について説明しています 

「nvme」という文字列の直後の番号は、デバイス番号です

Example:

nvme0n1 – デバイス番号は0です

デバイス名の後に「p」というプレフィックスが付いたパーティションが追加されます 

Example:

nvme0n1p1 – パーティション1

nvme1n1p2 – パーティション2 

Example:

nvme0n1p1 – デバイス0のパーティション1

nvme0n1p2 – デバイス0のパーティション2

nvme1n1p1 – デバイス1のパーティション1

nvme1n1p2 – デバイス1のパーティション2デバイス ノードの命名規則


xfsによるフォーマットとデバイスのマウント

1) 次のコマンドを実行すると、デバイス1の nvme パーティション1が xfs

[root@localhost ~] # mkfs にフォーマットされます。 xfs は、xfs の smi-s me1n1p1

メタデータ = 0: 1 n1p1 isize = 256 agcount = 4, agcount = 12209667 blks =

sectsz = 512 attr = 2, = 1 =

crc = 0 data

= bsize = 4096 ブロック = 48838667, imaxpct = 25 =

sunit = 0 sunit = 0 blks ネーミング

= バージョン 2 bsize = 4096 ascii-ci = 0 ftype = 0 log

= 内部ログ bsize = 4096 ブロック = 23847, バージョン = 2 =

sectsz = 512 sunit = 0 blks、lazy-ユニット = 0 blks、lazy block = 1 個の

リアルタイム = なし。 rtextents = 0 2

) デバイスをマウントポイントにマウントして、同じ [

root@localhost ~] # mount をリストします。 [root@localhost

~] # mount | grep-i nvme tb

nvme1n1p1 On [/mnt タイプの Xfs (rw、relatime、seclabel、属性2、inode64、noquota)] を使用

して、nvme デバイスのバックプレーン led を管理するための

2 つのユーティリティを使用して、ドライブバックプレーンの LED ステータスを制御することができます。 Linux  通常、ドライブバックプレーン Led はハードウェア RAID コントローラ (PERC) によって制御されていますが、NVMe PCIE SSD のソフトウェア RAID on Linux (mdadm) を使用している場合、デバイスアレイのステータスを監視し、ドライブ Led のステータスをアップデートします。

追加の読み取りを行うには、リンクhttps://www.dell.com/support/article/SLN310523/をチェックしてください。



Ledmon/ledctlユーティリティーをインストールして使用する

1) openipmi および取り付けられた mon/駆動型 ctl ユーティリティをインストールします。

次のコマンドを実行して、openipmi をインストールします。また、

[root@localhost ~] # yum install openipmi

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

2) モジュールを使用して、

[設定された ctl] と [設定] を同時に実行します

。次のコマンドを使用して、ipmi のステータスを表示します (図6を参照)

。 [root@localhost ~] # systemctl Start ipmi

SLN312382_en_US__7i-7_png-550x0
図 6: IPMIの開始とステータス
 

a)ledmodを開始します

[root@localhost ~]# ledmon

b)「図7」には、デバイスの動作状態に対してledmonを実行した後のLEDステータスが表示されています


SLN312382_en_US__8i-8_png-550x0
図7:デバイスの稼働状態を示すための LED のステータス (緑)

a) 次のコマンドを実行すると、ドライブ led が点滅します [デバイスノードでは、次のコマンドを実行すると、ドライブの led が点滅します [

root@localhost ~] # 指定されています。デバイスノード

には



、次のコマンドを実行すると、検出 LED がオフになり、次のコマンドを実行すると、位置確認 LED [root@localhost

~] # 電源がオフになります。この場合、次のコマンドを実行します。 root@localhost locate_off

Article Properties


Affected Product

Servers

Last Published Date

06 Apr 2021

Version

3

Article Type

Solution