Windows 執行個體的 AWS NVMe 驅動程式 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Windows 執行個體的 AWS NVMe 驅動程式

Amazon EBS 磁碟區和執行個體存放區會公開為 Nitro 型執行個體上的 NVMe 區塊型儲存設備。Windows Server 2012 R2 和更新版本包含 NVMe 驅動程式 (StorNVMe),這是 Microsoft 提供的。不過,若要實現 Amazon EBS 提供的完整效能和功能,您必須擁有使用 NVMe 區塊型儲存設備時安裝的 AWS NVMe 驅動程式。適用於 Windows Server 2008 R2 及更新版本的最新 AWS Windows AMI,包含所需的 AWS NVMe 驅動程式。

如需 EBS 與 NVMe 的詳細資訊,請參閱 Windows 執行個體中的 Amazon EBS 和 NVMe。如需 SSD 執行個體存放區和 NVMe 的詳細資訊,請參閱 SSD 執行個體存放區磁碟區

安裝或升級 AWS NVMe 驅動程式 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 instance (停止執行個體)

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

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

  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
  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 NVMe 驅動程式

您可以使用 AWS Systems Manager 的功能之一 Distributor 一次安裝 NVMe 驅動程式套件,或使用排程的更新進行安裝。

  1. 如需如何使用 Distributor 安裝 NVMe 驅動程式套件的指示,請參閱 Amazon EC2 Systems Manager 使用者指南中的安裝或更新套件

  2. 對於「名稱」,選擇AWSNVMe

  3. 對於安裝類型,請選擇卸載並重新安裝。

  4. (選用) 透過指定 AdditionalArguments 的值來自訂安裝。

    1. 從 AWS NVMe 1.5.0 開始,驅動程式可針對 Windows Server 2016 及更新版本支援 SCSI 持續保留。依預設,安裝期間系統不會啟用此功能。若要啟用此功能,請將 AdditionalArguments 指定為 {"SSM_EnableSCSIPersistentReservations": $true}。如果您不想啟用此功能,則請將 AdditionalArguments 指定為 {"SSM_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 工具,請將 AdditionalArguments 指定為 {"SSM_InstallEBSNVMeIdTool": "Yes"}

      2. 如果您不想安裝工具,則請將 AdditionalArguments 指定為 {"SSM_InstallEBSNVMeIdTool": "No"}

        如果您未針對 AdditionalArguments 指定 SSM_InstallEBSNVMeIdTool,並且工具已存在於 C:\ProgramData\Amazon\Tools,則套件預設會升級此工具。如果工具不存在,套件預設不會升級此工具。「其他引數」必須使用有效的 JSON 語法進行格式化。如需如何傳遞 aws configure 套件之其他引數的範例,請參閱 Amazon EC2 Systems Manager 文件

        如果您不想將工具安裝為套件的一部分,而且想要稍後安裝它,則可以在驅動程式套件中找到最新版本的工具。或者,您可以從 Amazon S3 下載版本 1.0.0

        下載 ebsnvme-id 工具。

  5. 如果安裝程式並未重新啟動您的執行個體,請重新啟動執行個體。

設定 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

AWS NVMe 驅動程式版本歷史記錄

下表顯示要為 Amazon EC2 上每個 Windows Server 版本下載的對應 ENA 驅動程式版本。

Windows Server 版本 AWSNVMe 驅動程式版
Windows Server 2022 最新
Windows Server 2019 最新
Windows Server 2016 最新
Windows Server 2012 R2 最新
Windows Server 2012 最新
Windows Server 2008 R2 1.3.2 和更舊版本

下表說明 AWS NVMe 驅動程式的發行版本。

套件版本 驅動程式版本 詳細資訊 發行日期

1.5.1

1.5.0

修正安裝指令碼以為 ebsnvme-id 工具建立資料夾 (如果不存在)。

2023 年 11 月 17 日

1.5.0

1.5.0

已新增對執行 Windows Server 2016 及更新版本之執行個體的 Small Computer System Interface (SCSI) 持續保留的支援。ebsnvme-id 工具 (ebsnvme-id.exe) 現在預設安裝。

2023 年 8 月 31 日

1.4.2

1.4.2

已修正 AWS NVMe 驅動程式 在 D3 執行個體上不支援執行個體儲存體磁碟區的錯誤。

2023 年 3 月 16 日

1.4.1

1.4.1

針對支援命名空間偏好寫入精細程度 (NPGW) 這項選用性 NVMe 功能的 EBS 磁碟區,報告命名空間偏好寫入精細程度。有關詳細資訊,請參閱 NVMe Base Specification, version 1.4 (NVMe 基本規格 1.4 版) 中的第 8.25 節 "Improving Performance through I/O Size and Alignment Adherence" (透過 I/O 大小和匹配依從性提高效能)。

2022 年 5 月 20 日

1.4.0

1.4.0

  • 已新增對 iOCTLS 的支援,允許應用程式與 NVMe 設備互動。此支援可讓應用程式從 NVMe 設備中取得 IdentifyControllerIdentifyNamespaceNameSpace清單。如需詳細資訊,請參閱 Microsoft 文件中的通訊協定特定查詢

  • AWSNVMe 在視窗伺服器 2008 R2 上安裝 1.4.0 將會失敗。 AWSNVMe 視窗伺服器 2008 R2 支援版本 1.3.2 及更早版本。

  • 1.4.0 驅動程式版本和最新的 ebsnvme-id 工具 (ebsnvme-id.exe) 會組合在單一套件中。這種組合可讓您從單一套件同時安裝驅動程式和工具。如需詳細資訊,請參閱安裝或升級 AWS NVMe 驅動程式 PowerShell

  • 錯誤修正與可靠性改進。

2021 年 11 月 23 日

1.3.2

1.3.2

修正主動處理 IO 之 EBS 磁碟區時可能導致資料毀損的問題。未修改線上 EBS 磁碟區 (例如,調整大小或變更類型) 的客戶不受影響。

2019 年 9 月 10 日

1.3.1

1.3.1

可靠性改善。

2019 年 5 月 21 日

1.3.0

1.3.0

裝置最佳化改善。

2018 年 8 月 31 日

1.2.0

1.2.0

在所有支援的執行個體上 (包括裸機執行個體),改善 AWS NVMe 設備的效能和可靠性。

2018 年 6 月 13 日

1.0.0

1.0.0

AWS NVMe 驅動程式,適用於執行 Windows Server 的支援執行個體類型。

2018 年 2 月 12 日

訂閱 通知

Amazon SNS 會在 EC2 Windows 驅動程式發佈新版本時通知您。使用下列程序訂閱這些通知。

從主控台訂閱 EC2 通知
  1. https://console.aws.amazon.com/sns/v3/home 開啟 Amazon SNS 主控台。

  2. 如有必要,請在導覽列中將「區域」變更為美國東部 (維吉尼亞北部)。您必須選取此區域,因為您要訂閱的 SNS 通知位於本區域中。

  3. 在導覽窗格中,選擇 Subscriptions (訂閱)。

  4. 選擇 Create subscription (建立訂閱)。

  5. Create subscription (建立訂閱) 對話方塊中,執行下列動作:

    1. 針對 TopicARN,複製下列 Amazon Resource Name (ARN):

      arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers

    2. 針對 Protocol (通訊協定),選擇 Email

    3. 針對 Endpoint (端點),輸入可用於接收通知的電子郵件地址。

    4. 選擇 Create subscription (建立訂閱)。

  6. 您將會收到確認電子郵件。開啟電子郵件並遵循指示完成訂閱。

只要有新的 EC2 Windows 驅動程式發行,我們就會向訂閱者傳送通知。如果您不想再接收這些通知,請使用下列程序來取消訂閱。

取消訂閱 Amazon EC2 Windows 驅動程式通知
  1. https://console.aws.amazon.com/sns/v3/home 開啟 Amazon SNS 主控台。

  2. 在導覽窗格中,選擇 Subscriptions (訂閱)。

  3. 選取訂閱的核取方塊,然後選取 Actions (動作)Delete subscriptions (刪除訂閱)。出現確認提示時,請選擇 Delete (刪除)

使用 AWS CLI 訂閱 EC2 通知

若要使用 AWS CLI 訂閱 EC2 通知,請使用下列命令。

aws sns subscribe --topic-arn arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers --protocol email --notification-endpoint YourUserName@YourDomainName.ext
使用 AWS Tools for Windows PowerShell 訂閱 EC2 通知

若要使用 AWS Tools for Windows PowerShell 訂閱 EC2 通知,請使用下列命令。

Connect-SNSNotification -TopicArn 'arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers' -Protocol email -Region us-east-1 -Endpoint 'YourUserName@YourDomainName.ext'