Amazon EC2 Linux 인스턴스에 연결된 어떤 볼륨이 인스턴스 스토어(임시) 볼륨인지 어떻게 식별하나요?

4분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스에 Amazon Elastic Block Store(Amazon EBS) 볼륨과 인스턴스 스토어 볼륨이 연결되어 있습니다. 연결된 볼륨이 인스턴스 스토어 볼륨인지 확인하고 싶습니다.

간략한 설명

Amazon EC2 Linux 인스턴스에서 인스턴스 스토어 볼륨을 식별하려면 먼저 인스턴스 유형이 인스턴스 스토어 볼륨을 지원하는지 확인하세요. 인스턴스가 인스턴스 스토어 볼륨을 지원하는 경우, 지원하는 인스턴스 스토어 볼륨의 유형을 확인하세요. 그런 다음 운영 체제(OS)에서 볼륨 정보를 검토하세요.

해결 방법

  1. 인스턴스에서 지원하는 인스턴스 스토어 볼륨 유형(HDD, SSD 또는 NVMe SSD)이 있다면 확인하세요. 지원되는 각 인스턴스 유형에 사용할 수 있는 인스턴스 스토어 볼륨의 수량, 크기, 유형 및 성능 최적화를 확인하세요.
  2. 인스턴스에 연결된 볼륨 중 어느 것이 인스턴스 스토어 볼륨인지 확인하세요. 식별 방법은 NVMe SSD 또는 HDD/SSD 인스턴스 스토어 볼륨이 있는지에 따라 달라집니다.

NVMe SSD 인스턴스 스토어 볼륨

  1. 인스턴스에 연결합니다.

  2. NVMe 명령줄 패키지인 nvme-cli를 설치합니다. Linux 배포를 위해 패키지 관리 도구를 사용합니다. Amazon Linux 인스턴스의 경우, yum 명령을 사용하여 nvme-cli 패키지를 설치합니다. 다른 배포의 다운로드 및 설치 지침은 nvme-cli의 GitHub 설명서를 참조하거나 해당 배포의 설명서를 참조하세요.

  3. 권한이 있는 사용자로 nvme list 명령을 실행합니다.

    $ sudo nvme list

    이 출력 예제의 모델 열에는 연결된 각 디바이스가 Amazon Elastic Block Store인지 Amazon EC2 NVMe 인스턴스 스토리지인지가 나열됩니다. 예제 출력은 하나의 NVMe SSD 디바이스를 지원하는 인스턴스 유형의 출력입니다.

    $ sudo nvme list
    Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
    ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme0n1     vol0923757ba05df9515 Amazon Elastic Block Store               1           0.00   B /   8.59  GB    512   B +  0 B   1.0
    /dev/nvme1n1     AWS1A4FC25FB16B79F76 Amazon EC2 NVMe Instance Storage         1          50.00  GB /  50.00  GB    512   B +  0 B   0

HDD 또는 SSD 인스턴스 스토어 볼륨

HDD 또는 SSD 인스턴스 스토어 볼륨의 경우, 운영 체제에서 연결된 블록 디바이스 목록을 가져옵니다. 그런 다음 인스턴스 메타데이터에서 블록 디바이스 매핑 섹션을 검색합니다.

  1. 인스턴스에 연결합니다.

  2. lsblk 명령을 실행합니다. lsblk 명령이 없는 경우, Linux 배포를 위한 패키지 관리 도구에서 util-linux 패키지를 설치합니다. Amazon Linux 인스턴스의 경우, yum install 명령을 사용하여 util-linux 패키지를 설치합니다. 다른 배포의 다운로드 및 설치 지침은 해당 배포의 설명서를 참조하세요.

    $ sudo lsblk

    이 출력 예제는 드라이브가 많은 인스턴스의 블록 디바이스 목록을 보여줍니다. 이 인스턴스는 SSD 인스턴스 스토어 볼륨을 지원하는 인스턴스 유형에서 실행됩니다.

    $ sudo lsblk
    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    xvda    202:0    0     8G  0 disk
    └─xvda1 202:1    0     8G  0 part /
    xvdb    202:16   0 745.2G  0 disk
    xvdc    202:32   0 745.2G  0 disk
    xvdd    202:48   0 745.2G  0 disk
    xvde    202:64   0 745.2G  0 disk
  3. 이전 예제 출력에서 xvdb가 임시 드라이브인지 확인합니다. 이를 위해 block-device-mapping 메타데이터를 검색합니다. 모든 인스턴스 메타데이터 요청(http://169.254.169.254/latest/meta-data/block-device-mapping)에는 기본 URL을 사용합니다.

    $ curl http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0
    sdb
    $ ls -l /dev/sdb
    lrwxrwxrwx 1 root root 4 Aug 27 13:07 /dev/sdb -> xvdb

    이 예에서 ephemeral0의 블록 디바이스 매핑은 sdb에 매핑됩니다. 이는 xvdb의 심볼릭 링크입니다. 즉, xvdb는 임시 디바이스입니다.

  4. (선택 사항) 이러한 명령을 사용하여 인스턴스의 임시 디바이스를 표시하는 프로세스를 자동화할 수도 있습니다.

    OS 블록 디바이스 식별:

    OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")

    블록 디바이스 매핑 URL 설정:

    BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"

    OS 디바이스를 하나씩 확인하며 블록 디바이스 매핑에서 매핑을 찾으세요.

    for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral

    이 예는 이러한 세 가지 명령과 출력을 보여줍니다.

    $ OSDEVICE=$(sudo lsblk -o NAME -n | grep -v '[[:digit:]]' | sed "s/^sd/xvd/g")
    $ BDMURL="http://169.254.169.254/latest/meta-data/block-device-mapping/"
    $ for bd in $(curl -s ${BDMURL}); do MAPDEVICE=$(curl -s ${BDMURL}/${bd}/ | sed "s/^sd/xvd/g"); if grep -wq ${MAPDEVICE} <<< "${OSDEVICE}"; then echo "${bd} is ${MAPDEVICE}"; fi; done | grep ephemeral
    ephemeral0 is xvdb
    ephemeral1 is xvdc
    ephemeral2 is xvdd
    ephemeral3 is xvde
AWS 공식
AWS 공식업데이트됨 6달 전