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 和 NVMe。如需 SSD 執行個體儲存體和 NVMe 的詳細資訊,請參閱 EC2 執行個體的 SSD 執行個體儲存體磁碟區

下列 AMI 包含下列必要 NVMe 驅動程式:

  • Amazon Linux 2

  • Amazon Linux AMI 2018.03

  • Ubuntu 14.04 或更新版本 (帶 linux-aws 核心)

    注意

    AWS Graviton 型執行個體類型需要 Ubuntu 18.04 或更新版本 (帶 linux-aws 核心)

  • 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 和更新版本包含 linux-aws 套件,其中包含 Nitro 型執行個體所需的 NVMe 和 ENA 驅動程式。升級 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 版或更新版本

  • 本節所示命令必須在 64 位元版本的 PowerShell 中執行。請勿使用 x86 版本的 PowerShell。此為 32 位元版本的 Shell,不支援這些命令。

下載並安裝最新的 AWS NVMe 驅動程式
  1. 我們建議您根據以下方式建立 AMI 作為備份,以防您需要復原變更。

    1. 停止執行個體時,在任何執行個體儲存體磁碟區的資料都會清除。停止執行個體之前,請確認您已將所需的任何資料從執行個體儲存體磁碟區複製到永久性儲存,例如 Amazon EBS 或 Amazon S3。

    2. 在導覽窗格中,選擇 Instances (執行個體)。

    3. 選取需要升級驅動程式的執行個體,並依序選取 Instance state (執行個體狀態)Stop instance (停止執行個體)

    4. 停止執行個體後,請選取執行個體,依序選取 Actions (動作)Image and templates (映像和範本),然後選取 Create image (建立映像)

    5. 選擇 Instance state (執行個體狀態)Start instance (啟動執行個體)

  2. 連線到您的執行個體,並以本機管理員登入。

  3. 使用下列其中一個選項下載驅動程式至您的執行個體:

    • 瀏覽器下載 最新的驅動程式套件至執行個體,然後解壓縮 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 及更新版本支援 Small Computer System Interface (SCSI) 持續保留。此功能新增對具有共享 Amazon EBS 儲存體的 Windows Server 容錯移轉叢集的支援。依預設,安裝期間系統不會啟用此功能。

      您可以在執行 install.ps1 指令碼以安裝驅動程式時啟用此功能,方法是將 EnableSCSIPersistentReservations 參數指定為 $true 值。

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

      您可以在執行 install.ps1 指令碼以安裝驅動程式時停用此功能,方法是將 EnableSCSIPersistentReservations 參數指定為 $false 值。

      PS C:\> .\install.ps1 -EnableSCSIPersistentReservations $false
    2. 從 AWS NVMe 1.5.0 開始,install.ps1 指令碼始終與驅動程式一起安裝 ebsnvme-id 工具。

      (選用) 對於版本 1.4.01.4.11.4.2install.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 套件額外引數的範例,請參閱命令文件外掛程式參考

    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.01.4.11.4.2install.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 持續保留。您必須重新啟動這些登錄檔的執行個體,變更才會生效。

您可以使用以下命令 (將 EnableSCSIPersistentReservations 設定為值 1),啟用 SCSI 持續保留。

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

您可以使用以下命令 (將 EnableSCSIPersistentReservations 設定為值 0),停用 SCSI 持續保留。

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