메뉴
Amazon Elastic Compute Cloud
User Guide for Linux Instances

Amazon EBS 및 NVMe

C5 및 M5 인스턴스에서 EBS 볼륨은 NVMe 블록 디바이스로 표시됩니다. 디바이스 이름은 /dev/nvme0n1, /dev/nvme1n1 등입니다. 블록 디바이스 매핑에서 사용자가 지정하는 디바이스 이름은 NVMe 디바이스 이름(/dev/nvme[0-26]n1)을 이용해 바뀝니다.

참고

블록과 디바이스 간의 인터페이스가 무엇이든 간에 Amazon EBS 제품 세부 정보에 명시된 EBS 성능 보장은 유효합니다.

EBS 디바이스 식별

Amazon Linux AMI

Amazon Linux AMI 2017.09.01 이상에서는 다음과 같이 ebsnvme-id 명령을 실행하여 NVMe 디바이스 이름을 볼륨 ID와 디바이스 이름에 매핑할 수 있습니다.

[ec2-user ~]$ sudo /sbin/ebsnvme-id /dev/nvme1n1 Volume ID: vol-01324f611e2463981 /dev/sdf

또한 Amazon Linux는 블록 디바이스 매핑의 디바이스 이름에서 NVMe 디바이스 이름으로 심볼 링크를 만듭니다(예컨대 /dev/sdf).

기타 Linux AMI

커널 버전 4.2 이상에서는 다음과 같이 nvme id-ctrl 명령을 실행하여 NVMe 디바이스 이름을 볼륨 ID에 매핑할 수 있습니다. 먼저 Linux 배포용 패키지 관리 도구를 사용하여 NVMe 명령줄 패키지 nvme-cli를 설치합니다.

다음은 볼륨 ID와 디바이스 이름을 가져오는 예입니다. NVMe 컨트롤러 벤더별 확장자(컨트롤러 식별의 바이트 384:4095)를 통해 디바이스 이름을 구할 수 있습니다.

[ec2-user ~]$ sudo nvme id-ctrl -v /dev/nvme1n1 NVME Identify Controller: vid : 0x1d0f ssvid : 0x1d0f sn : vol01234567890abcdef mn : Amazon Elastic Block Store ... 0000: 2f 64 65 76 2f 73 64 6a 20 20 20 20 20 20 20 20 "/dev/sdf..."

lsblk 명령은 사용 가능한 디바이스와 각각의 마운트 지점(해당되는 경우)을 나열합니다. 그러면 사용할 올바른 디바이스 이름을 판단할 수 있습니다. 이 예에서 /dev/nvme0n1p1은 루트 디바이스에 마운트되어 있고 /dev/nvme1n1은 연결되었지만 마운트되어 있지 않습니다.

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:3 0 100G 0 disk nvme0n1 259:0 0 8G 0 disk nvme0n1p1 259:1 0 8G 0 part / nvme0n1p128 259:2 0 1M 0 part

NVMe EBS 볼륨 작업

Linux kernel 4.2 이상을 사용 중이라면 NVMe EBS 볼륨의 볼륨 크기를 변경할 경우 인스턴스에 자동으로 반영됩니다. 그 전의 Linux 커널에서는 EBS 볼륨을 분리하고 연결하거나 인스턴스를 재부팅해야 크기 변경이 반영될 수 있습니다. Linux 커널 3.19 이상에서는 다음과 같이 hdparm 명령을 실행하여 NVMe 디바이스를 강제로 재스캔할 수 있습니다.

[ec2-user ~]$ sudo hdparm -z /dev/nvme1n1

NVMe EBS 볼륨을 분리하기 전에 볼륨을 동기화하고 마운트를 해제해야 합니다. NVMe EBS 볼륨을 분리할 때 강제 옵션이 암시적으로 활성화되어 있습니다. 따라서 볼륨을 분리하기 전에 인스턴스가 파일 시스템 캐시 또는 메타데이터를 플러시할 기회가 없습니다.

I/O 작업 시간제한

NVMe EBS 볼륨은 운영 체제에서 제공되는 기본 NVMe 드라이버를 사용합니다. 대부분의 운영 체제는 I/O 작업이 NVMe 디바이스에 제출되는 시간에 제한을 두고 있습니다. 기본 제한 시간은 30초이며 nvme_core.io_timeout 부트 파라미터를 이용해 제한 시간을 변경할 수 있습니다. Xen 인스턴스에 연결된 EBS 볼륨과 비슷한 경험을 하기 위해서는 이를 가능한 최대 값으로 설정하는 것이 좋습니다. Amazon Linux AMI 2017.09.01 이상과 버전 4.15 이상인 Linux 커널의 경우, 최대 값은 4294967295입니다. Linux 4.15 이전 버전에서는 최대 값이 255초입니다. 최신 버전의 Amazon Linux AMI를 사용하고 있는 경우에는 이미 기본 제한 시간이 증가되어 있습니다.

Linux kernel 4.14 이상에서는 I/O 작업을 재시도하는 횟수를 구성할 수도 있습니다. 5회 재시도가 기본값입니다. nvme_core.nvme_max_retries 커널 부트 파라미터를 사용하거나 런타임 시 다음 명령을 사용하여 다른 값을 구성할 수 있습니다.

[ec2-user ~]$ echo 10 > /sys/module/nvme_core/parameters/max_retries