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(Non-Volatile Memory Host Controller Interface Specification)는 솔리드 스테이트 드라이브 접속을 위한 사양입니다.

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(Non-Volatile Memory Host Controller Interface Specification)는 PCIe(PCI Express) 버스를 통해 연결된 SSD(Solid-State Drive)에 접속하기 위한 사양입니다. NVM은 SSD에 사용되는 Non-Volatile Memory의 머리글자입니다.  NVMe는 PCIe SSD에 대한 최적화된 레지스터 인터페이스, 명령 세트 및 기능 세트를 정의합니다. 이를 통해 PCIe SSD를 표준화하고 성능을 개선함에 초점을 두고 있습니다.

NVMe 사양을 기반으로 설계된 PCIe SSD 디바이스는 NVMe 기반 PCIeSSD입니다. NVMe에 대한 자세한 내용은 http://www.nvmexpress.org/ 링크를 참조하십시오. 현재 사용되는 NVMe 디바이스는 NVMe 1.0c 규격입니다.

아래에서 NVMe 디바이스에 대한 RHEL 7 지원에 대해 알아보겠습니다.

Cause

원인 정보를 사용할 수 없습니다.

Resolution

참고: 현재 DELL은 NVMe 디바이스를 RHEL 7 즉시 사용 가능 드라이버[공급업체 기반]와 함께 지원합니다.

여기서 다루는 주제는 다음과 같습니다.


 

NVMe - 지원되는 기능

NVMe 드라이버는 다음 기능을 제공합니다.

  • 기본 IO 작업
  • 핫 플러그
  • 부팅 지원 [UEFI 및 레거시]

다음 표에는 12G 및 13G 시스템의 NVMe에 대한 RHEL 7 [기본 제공] 드라이버 지원 기능이 나열되어 있습니다.

 
세대 기본 IO 핫 플러그 UEFI 부팅 레거시 부팅
13G 아니요
12G 아니요 아니요
표 1: RHEL 7 드라이버 지원


NVMe device 디바이스 및 장치 기능 나열

1) RHEL 7 OS information

[root@localhost ~] # uname-a

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

2)

삼성 기반 NVMe 드라이브를 지원 합니다. 먼저 다음 명령을 사용 하 여 pci 슬롯 id를 가져옵니다.

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

45:00.0 비 휘발성 메모리 컨트롤러: Samsung 전자식 Co Dnvme SSD 컨트롤러 171X (rev 03)

47:00.0 비 휘발성 메모리 컨트롤러: Samsung 전자식 Co 바 NVMe SSD 컨트롤러 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 비 Volatile 메모리 컨트롤러: 삼성 전자 Co Dnvme pcie SSD 컨트롤러 171X (rev 03) (1/02)

하위 시스템: Dell Express Flash NVMe XS1715 SSD 800GB

물리적 슬롯: 25

플래그: 버스 마스터, fast devsel, 지연 시간 0 76,

d47fc000 (64 비트, 비 prefetchable) [size = 16k]

기능: Capabilities: [c0] Power Management version 3 c8 .MSI Enable-Count = 1/32 마스크와 64 비트 +

기능: e0 MSI-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 <? >

커널 드라이버 사용 중: nvme


아래에는 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 비 휘발성 메모리 컨트롤러: 삼성 전자 Co lnvme SSD 컨트롤러 171x (rev 03)

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

SLN312382_en_US__4i-4_png-550x0
그림 3: MaxPayload는 256바이트로 설정됨


NVMe 드라이버  드라이버 정보를 나열 합니다.

1) modinfo 명령을 사용 하 여 diver 세부 정보를 나열 합니다

[root@localhost ~] # modinfo nvme

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

라이센스:        GPL

작성자:         Samsung 가전 회사의

srcversion:     AB81DD9D63DD5DADDED9253

별칭:          pci: v0000144Dd0000A820sv * sd * bc * sc * i *는

다음과 같이 종속 됩니다.       

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

parm:           use_threaded_interrupts: int

아래 [그림 4]는 nvme 드라이버 nvme의 세부 정보를 표시 합니다. ko

SLN312382_en_US__5i-5_png-550x0
그림 4: modinfo 드라이버 정보 나열 
 

NVMe 디바이스 노드 및 명명 규칙

1) cat/tproc/파티션 nvme의 디바이스 노드를 표시 합니다.

a) 명령 실행 후에 nvme 디바이스가 nvme0n1 및 nvme1n1

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

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 모든 파티션

도구 (fdisk, parted)

b) 다음 명령을 다시 실행 하면 nvme0n1와 함께 nvme 디바이스를 나열 합니다.

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

major minor #blocks name

259 0 781412184

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" 바로 뒤의 숫자가 디바이스 번호입니다.

예:

nvme0n1 – 여기서 디바이스 번호는 0입니다.

접두사 ‘p’ 가 있는 디바이스 이름 뒤에 파티션이 추가됩니다. 

예:

nvme0n1p1 – 파티션 1

nvme1n1p2 – 파티션 2 

예:

nvme0n1p1 – 디바이스 0의 파티션 1

nvme0n1p2 – 디바이스 0의 파티션 2

nvme1n1p1 – 디바이스 1의 파티션 1

nvme1n1p2 – 디바이스 1의 파티션 2 디바이스 노드 명명 규칙


xfs로 포맷하고 디바이스 탑재

1) 다음 명령은 장치 1에서 nvme 파티션 1을 xfs

[root@localhost ~] # mkfs.ext4로 포맷 합니다. xfs/dev/nvme1n1p1

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

= sectsz = 512 attr = 2, projid32bit = 1

= crc = 0

데이터 = bsize = 4096 블록 = 48838667, imaxpct = 25

= sunit = 0 sunit = 0 blks

명명 = 버전 2 bsize = 4096 ascii-ci = 0 ftype = 0

log = internal log bsize = 4096 block = 23847, version = 2

= sectsz = 512 sunit = 0 blks, lazy count = 1

, none extsz = 4096 블록 = 0, rtextents = 0

2) 마운트 지점에 디바이스를 탑재 하 고 동일한

[root@localhost ~] # mount/mnt/

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

/dev/nvme1n1p1 on/mnt type xfs (rw,)를 나열 합니다. atime, seclabel, attr2, inode64, noquota)

ledmon utility를 사용 하 여 nvme 디바이스

ledmon 및 ledctl을 관리 하는 데 사용할 수 있는 2 개의 Linux 유틸리티는 드라이브 후면판에서 LED 상태를 제어 하는 데 사용할 수 있습니다.  일반적으로 드라이브 후면판 Led는 하드웨어 RAID 컨트롤러 (PERC)를 통해 제어 되지만 NVMe PCIE SSD에 대해 mdadm (Software RAID on Linux)을 사용 하는 경우 ledmon 데몬이 드라이브 어레이의 상태를 모니터링 하 고 드라이브 Led의 상태를 업데이트 합니다.

추가 정보를 확인 하려면 link https://www.dell.com/support/article/SLN310523/ 를 확인 하십시오.



ledmon/ledctl 유틸리티 설치 및 사용

1) openipmi 및 ledmon/ledctl 유틸리티 설치:

openipmi 및 ledmon를 설치 하려면 다음 명령을 실행 합니다.

[root@localhost ~] # yum install openipmi

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

2) ledctl 및 ledmon를 동시에 실행 하는 ledmod/ledctl 유틸리티를 사용 합니다

. ledmon는 최종적으로 ledctl settings

a)를 시작 하 고 다음 명령을 사용 하 여 [그림 6]에 표시 된 ipmi의 상태를 확인 합니다

[root@localhost ~] # systemctl 시작 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 상태 ledmon run of device (녹색)

a) 다음 명령을 실행 하면 드라이브 LED가 깜박입니다. [장치 노드/dev/nvme0n1]

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

아래 명령을 실행 하면 드라이브 상태 표시등 [장치 노드/dev/nvme0n1 및/dev/nvme1n1]

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

및 다음 명령을 실행 하면 찾기 LED가 꺼집니다

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

Article Properties


Affected Product

Servers

Last Published Date

06 Apr 2021

Version

3

Article Type

Solution