AWS NVMe 드라이버 - Amazon Elastic Compute Cloud

AWS NVMe 드라이버

Amazon EBS 볼륨 및 인스턴스 스토어 볼륨은 Nitro 기반 인스턴스에서 NVMe 블록 디바이스로 표시됩니다. NVMe 블록 디바이스로 노출된 볼륨에 대해 Amazon EBS 기능의 성능과 기능을 완전히 활용하려면 인스턴스에 AWS NVMe 드라이버가 설치되어 있어야 합니다. 모든 최신 AWS Windows AMI에는 기본적으로 AWS NVMe 드라이버가 설치되어 있습니다.

EBS 및 NVMe에 대한 자세한 내용은 Amazon EBS 사용 설명서Amazon EBS and NVMe를 참조하세요. SSD 인스턴스 스토어 및 NVMe에 대한 자세한 내용은 EC2 인스턴스용 SSD 인스턴스 스토어 볼륨 섹션을 참조하세요.

다음 AMI는 필수 NVMe 드라이버를 포함합니다.

  • Amazon Linux 2

  • Amazon Linux AMI 2018.03

  • Ubuntu 14.04 이상(linux-aws 커널 포함)

    참고

    Ubuntu 18.04 이상(linux-aws 커널 포함)이 필요한 AWS Graviton 기반 인스턴스 유형

  • Red Hat Enterprise Linux 7.4 이상

  • SUSE Linux Enterprise Server 12 SP2 이상

  • CentOS 7.4.1708 이상

  • FreeBSD 11.1 이상

  • Debian GNU/Linux 9 이상

인스턴스에 NVMe 드라이버가 있는지 확인하려면

다음 명령을 사용하여 인스턴스에 NVMe 드라이버가 있는지 확인할 수 있습니다.

  • Amazon Linux, RHEL, CentOS 및 SUSE Linux Enterprise Server

    $ modinfo nvme

    인스턴스에 NVMe 드라이버가 있는 경우 명령은 드라이버에 대한 정보를 반환합니다.

  • Amazon Linux 2 및 Ubuntu

    $ ls /sys/module/ | grep nvme

    인스턴스에 NVMe 드라이버가 있는 경우 명령은 설치된 드라이버를 반환합니다.

NVMe 드라이버를 업데이트하려면

인스턴스에 NVMe 드라이버가 있는 경우 다음 절차에 따라 드라이버를 최신 버전으로 업데이트할 수 있습니다.

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

  2. 패키지 캐시를 업데이트하고 다음과 같이 필요한 패키지 업데이트를 가져옵니다.

    • Amazon Linux 2, Amazon Linux, CentOS 및 Red Hat Enterprise Linux:

      [ec2-user ~]$ sudo yum update -y
    • Ubuntu 및 Debian:

      [ec2-user ~]$ sudo apt-get update -y
  3. Ubuntu 16.04 이상에는 Nitro 기반 인스턴스에 필요한 NVMe 및 ENA 드라이버가 포함된 linux-aws 패키지가 포함되어 있습니다. linux-aws 패키지를 업그레이드하여 다음과 같이 최신 버전을 받습니다.

    [ec2-user ~]$ sudo apt-get install --only-upgrade -y linux-aws

    Ubuntu 14.04의 경우 다음과 같이 최신 linux-aws 패키지를 설치할 수 있습니다.

    [ec2-user ~]$ sudo apt-get install linux-aws
  4. 인스턴스를 재부팅하여 최신 커널 버전을 로드합니다.

    sudo reboot
  5. 재부팅이 끝난 후 인스턴스에 다시 연결합니다.

PowerShell

Amazon이 제공하는 최신 AWS Windows AMI를 사용하고 있지 않은 경우에는 다음 절차를 이용하여 최신 AWS NVMe 드라이버를 설치합니다. 인스턴스를 재부팅하기 편리한 시간에 이 업데이트를 수행해야 합니다. 설치 스크립트에 따라 인스턴스가 재부팅되거나 최종 단계로 인스턴스를 재부팅해야 합니다.

사전 조건 

PowerShell 3.0 이상

최신 AWS NVMe 드라이버를 다운로드하고 설치하려면
  1. 변경 사항을 롤백해야 하는 경우를 대비하여 다음과 같이 AMI를 백업으로 생성하는 것이 좋습니다.

    1. 인스턴스를 중지하면 인스턴스 스토어 볼륨의 데이터가 삭제됩니다. 인스턴스를 중지하기 전에 필요한 데이터를 인스턴스 스토어 볼륨에서 영구 스토리지(예: Amazon EBS 또는 Amazon S3)로 복사했는지 확인합니다.

    2. 탐색 창에서 Instances(인스턴스)를 선택합니다.

    3. 드라이버 업그레이드가 필요한 인스턴스를 선택하고 [인스턴스 상태(Instance state)], [인스턴스 중지(Stop instances)]를 선택합니다.

    4. 인스턴스가 중지되면 [작업(Actions)], [이미지 및 템플릿(Image and templates)] 및 [이미지 생성(Create image)]을 차례로 선택합니다.

    5. 인스턴스 상태, 인스턴스 시작을 차례로 선택합니다.

  2. 인스턴스 연결 후 로컬 관리자로 로그인합니다.

  3. 다음 옵션 중 하나를 사용하여 드라이버를 인스턴스에 다운로드하고 압축을 풉니다.

    • 브라우저 사용:

      1. 최신 드라이버 패키지를 인스턴스로 다운로드합니다.

      2. ZIP 아카이브를 추출합니다.

    • PowerShell 사용:

      Invoke-WebRequest https://s3.amazonaws.com/ec2-windows-drivers-downloads/NVMe/Latest/AWSNVMe.zip -outfile $env:USERPROFILE\nvme_driver.zip Expand-Archive $env:userprofile\nvme_driver.zip -DestinationPath $env:userprofile\nvme_driver
      참고

      Windows Server 2016 또는 이전 버전을 사용 중이고 파일을 다운로드할 때 오류가 발생하는 경우 PowerShell 터미널에서 TLS 1.2를 활성화해야 할 수 있습니다. 다음 명령을 사용하여 현재 PowerShell 세션에 대해 TLS 1.2를 활성화한 다음 다시 시도해보세요.

      [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
  4. nvme_driver 디렉터리(.\install.ps1)에서 install.ps1 PowerShell 스크립트를 실행하여 인스턴스에 드라이버를 설치합니다. 오류가 발생하면 PowerShell 3.0 이상을 사용하고 있는지 확인합니다.

    1. (선택 사항) AWS NVMe 버전 1.5.0부터 Windows Server 2016 이상에서 SCSI(Small Computer System Interface) 영구 예약이 지원됩니다. 이 기능은 공유 Amazon EBS 스토리지를 통한 Windows Server 장애 조치 클러스터링에 대한 지원을 추가합니다. 기본적으로 이 기능은 설치 중에 활성화되지 않습니다.

      EnableSCSIPersistentReservations 파라미터를 값 $true(으)로 지정하여 드라이버를 설치하기 위해 install.ps1 스크립트를 실행할 때 이 기능을 활성화할 수 있습니다.

      PS C:\> .\install.ps1 -EnableSCSIPersistentReservations $true

      EnableSCSIPersistentReservations 파라미터를 값 $false(으)로 지정하여 드라이버를 설치하기 위해 install.ps1 스크립트를 실행할 때 이 기능을 비활성화할 수 있습니다.

      PS C:\> .\install.ps1 -EnableSCSIPersistentReservations $false
    2. AWS NVMe 1.5.0부터 install.ps1 스크립트는 항상 드라이버와 함께 ebsnvme-id 도구를 설치합니다.

      (선택 사항) 버전 1.4.0, 1.4.11.4.2의 경우 install.ps1 스크립트를 사용하여 ebsnvme-id 도구를 드라이버와 함께 설치할지 여부를 지정할 수 있습니다.

      1. ebsnvme-id 도구를 설치하려면 InstallEBSNVMeIdTool ‘Yes’를 지정합니다.

      2. 도구를 설치하지 않으려는 경우 InstallEBSNVMeIdTool ‘No’을(를) 지정하세요.

        InstallEBSNVMeIdTool을 지정하지 않으면 C:\ProgramData\Amazon\Tools에 도구가 이미 있는 경우 패키지는 기본적으로 도구를 업그레이드합니다. 도구가 없는 경우 install.ps1은 기본적으로 도구를 업그레이드하지 않습니다.

        도구를 패키지의 일부로 설치하지 않고 나중에 설치하려는 경우, 드라이버 패키지에서 최신 버전이나 도구를 찾을 수 있습니다. 또는 Amazon S3에서 버전 1.0.0을 다운로드할 수 있습니다.

        ebsnvme-id 도구를 다운로드하세요.

  5. 설치 관리자에서 인스턴스가 재부팅되지 않는 경우 인스턴스를 재부팅합니다.

Distributor

AWS Systems Manager의 기능인 Distributor를 사용하여 NVMe 드라이버 패키지를 일회성으로 설치하거나 예약된 업데이트와 함께 설치할 수 있습니다.

최신 AWS NVMe 드라이버를 설치하려면
  1. Distributor를 사용하여 NVMe 드라이버 패키지를 설치하는 방법에 대한 지침은 Amazon EC2 Systems Manager 사용 설명서패키지 설치 또는 업데이트 절차를 참조하세요.

  2. 설치 유형에서 제거 및 다시 설치를 선택합니다.

  3. 이름에서 AWSNVMe를 선택합니다.

  4. (선택 사항) 추가 인수에서 값을 지정하여 설치를 사용자 지정할 수 있습니다. 유효한 JSON 구문을 사용하여 값의 형식을 지정해야 합니다. aws configure 패키지에 대한 추가 인수를 전달하는 방법의 예는 Amazon EC2 Systems Manager 설명서를 참조하세요.

    1. AWS NVMe 1.5.0부터 드라이버는 Windows Server 2016 이상의 SCSI 영구 예약을 지원합니다. 기본적으로 이 기능은 설치 중에 활성화되지 않습니다.

      • 이 기능을 활성화하려면 {"SSM_EnableSCSIPersistentReservations": "true"}를 지정하세요.

      • 이 기능을 활성화하지 않으려면 {"SSM_EnableSCSIPersistentReservations": "false"}를 지정하세요.

    2. AWS NVMe 1.5.0부터 install.ps1 스크립트는 항상 ebsnvme-id 도구를 설치합니다.

      (선택 사항) 버전 1.4.0, 1.4.11.4.2의 경우 install.ps1 스크립트를 사용하여 ebsnvme-id 도구를 드라이버와 함께 설치할지 여부를 지정할 수 있습니다.

      • ebsnvme-id 도구를 설치하려면 {"SSM_InstallEBSNVMeIdTool": "Yes"}를 지정하세요.

      • 도구를 설치하지 않으려는 경우 {"SSM_InstallEBSNVMeIdTool": "No"}을(를) 지정하세요.

        추가 인수(Additional Arguments)에 대해 SSM_InstallEBSNVMeIdTool이 지정되지 않았으며 C:\ProgramData\Amazon\Tools에 도구가 이미 있는 경우 패키지는 기본적으로 도구를 업그레이드합니다. 도구가 없는 경우 패키지는 기본적으로 도구를 업그레이드하지 않습니다.

        도구를 패키지의 일부로 설치하지 않고 나중에 설치하려는 경우, 드라이버 패키지에서 최신 버전이나 도구를 찾을 수 있습니다. 또는 Amazon S3에서 버전 1.0.0을 다운로드할 수 있습니다.

        ebsnvme-id 도구를 다운로드하세요.

  5. 설치 관리자에서 인스턴스가 재부팅되지 않는 경우 인스턴스를 재부팅합니다.

Windows 인스턴스용 SCSI 영구 예약 구성

AWS NVMe 드라이버 버전 1.5.0 이상을 설치한 후에는 Windows Server 2016 이상의 Windows 레지스트리를 사용하여 SCSI 영구 예약을 활성화하거나 비활성화할 수 있습니다. 이러한 레지스트리 변경 사항을 적용하려면 인스턴스를 재부팅해야 합니다.

1의 값을 EnableSCSIPersistentReservations(으)로 설정하는 다음 명령을 통해 SCSI 영구 예약을 활성화할 수 있습니다.

PS C:\> $registryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\AWSNVMe\Parameters\Device" Set-ItemProperty -Path $registryPath -Name EnableSCSIPersistentReservations -Value 1

0의 값을 EnableSCSIPersistentReservations(으)로 설정하는 다음 명령을 통해 SCSI 영구 예약을 비활성화할 수 있습니다.

PS C:\> $registryPath = "HKLM:\SYSTEM\CurrentControlSet\Services\AWSNVMe\Parameters\Device" Set-ItemProperty -Path $registryPath -Name EnableSCSIPersistentReservations -Value 0