본문 바로가기
임베디드SW/Embedded SW 상식

NVMe CLI ( Command Line Interface ) 기초와 사용법

by 진뚱 2020. 11. 10.
728x90

Background

NVMe CLI Overview

CLI란, Command Line Interface로써, 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하여 사용할 수 있는 방식이다.  요즘은 거의 대부분의 운영체제에서 GUI ( Graphic User Interface)를 지원하면서, 그래픽으로 보며 작업하는 경우가 많지만, CLI는 Command LIne으로 접근하여 제어하는 방식을 말한다.

여러가지 CLI가 있지만 여기서 설명할 NVMe CLI는, NVMe를 제어하는 방법으로 이 CLI를 통해 여러가지 정보를 얻을 수 있다.  Linux에 패키지 형태로 존재하고 있어 쉽게 설치하고 쉽게 사용할 수 있는 장점이 있다. 복잡한 Command나 여러가지 Command를 한번에 던지기에는 조금 불편할 수 있지만, 간단하게 NVMe에 원하는 조작을 해보기에는 매우 간단하게 사용할 수 있는 Tool이다. 

NVMe Protocol이 개발 초기 단계였을 즈음, Linux에서 nvme-user라는 NVMe 개별 Command를 Test 해 볼 수 있는 Prototype 형태의 툴이 있었는데, 이것이 발전하여 nvme-cli 라는 open source package로 제작되었다. Linux에 설치하는 형태로 흩어져 있던 개별 Command Issue를 하나의 명령어 base에 Option 형태를 통해 사용할 수 있게 만든 것이다.

프로토 타입 형태의 툴과 다르게 NVMe 스펙상의 대부분의 필드와 기능들이 거의 다 구현되어 있어 편하게 사용할 수 있는 장점이 있다.

설치 방법

 

설치하는 방법은 아래에 linux package 사이트에 친절하게 설명되어있다. 

git clone https://github.com/linux-nvme/nvme-cli

 

make && make install

If not sure how to use, find the top-level documentation with:

man nvme

Or find a short summary with:

nvme help

사용법

사용법과 사용 가능한 명령은 조합에 따라 매우 많고 다양하다. 기본적인 사용법의 경우 아래에 설명해두었지만, 각 명령어의 상세 사용법은 nvme help <command> 를 입력하여 검색하면 되고, NVMe 스펙상의 대부분의 기능을 지원한다. 가장 큰 장점은, 구현되지 않은 기능이라도 passthru 명령어를 사용하면 어떤 Command던지 직접 만들어서 사용이 가능하다는 장점이 있다.(ex, nvme admin-passthru /dev/nvme0 --cdw10=~ 이런식으로 사용할 수 있다.)

CLI Github : NVMe-CLI Github

Task Set : https://zunonia.wordpress.com/2014/02/21/taskset%EC%9C%BC%EB%A1%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EC%97%90-%EC%BD%94%EC%96%B4%EB%A5%BC-%EC%A7%80%EC%A0%95%ED%95%98%EC%9E%90/

 

자세한 사용방법이 궁금하다면 비밀댓글 작성해주시면 답변 드리겠습니다.

728x90

댓글