

# Windows 实例的半虚拟化驱动程序
<a name="xen-drivers-overview"></a>

Windows AMI 包含一系列驱动程序，以允许访问虚拟化硬件。Amazon EC2 会使用这些驱动程序将实例存储和 Amazon EBS 卷映射到其设备。下表显示了不同驱动程序之间的主要区别。


|  | Red Hat 半虚拟化 | Citrix PV 驱动程序 | Amazon PV | 
| --- | --- | --- | --- | 
|  实例类型  |  并非对所有实例类型都支持。如果您指定了不受支持的实例类型，实例将受损。  |  支持 Xen 实例类型。  |  支持 Xen 实例类型。  | 
|  附加的卷  |  支持最多 16 个附加的卷。  |  支持超过 16 个附加的卷。  |  支持超过 16 个附加的卷。  | 
|  Network  |  此驱动程序在高负载下 (例如，快速 FTP 文件传输) 重置网络连接时存在已知问题。  |    |  若采用兼容的实例类型，此驱动程序会在网络适配器上自动配置巨型帧。在实例位于集群置放群组时，这会在集群置放群组中的实例之间提供更好的网络性能。有关更多信息，请参阅 [Amazon EC2 实例的置放群组](placement-groups.md)。  | 

下表显示了应在 Amazon EC2 上每个版本的 Windows Server 上运行的 PV 驱动程序。


| Windows Server 版本 | PV 驱动程序版本 | 
| --- | --- | 
| Windows Server 2025 | 不支持 | 
| Windows Server 2022 | Amazon PV 最新版本 | 
| Windows Server 2019 | Amazon PV 最新版本 | 
| Windows Server 2016 | Amazon PV 最新版本 | 
| Windows Server 2012 R2 | Amazon PV 版本 8.4.3 | 
| Windows Server 2012  | Amazon PV 版本 8.4.3 | 
| Windows Server 2008 R2 | Amazon PV 版本 8.3.5 | 
| Windows Server 2008 | Citrix PV 驱动程序 5.9 | 
| Windows Server 2003 | Citrix PV 驱动程序 5.9 | 

**Topics**
+ [

## Amazon PV 驱动程序
](#xen-driver-awspv)
+ [

## Citrix PV 驱动程序
](#xen-driver-citrix)
+ [

## Red Hat PV 驱动程序
](#xen-driver-redhat)
+ [

# 在 EC2 Windows 实例上升级半虚拟化驱动程序
](Upgrading_PV_drivers.md)
+ [

# 排查 Windows 实例上的 PV 驱动程序问题
](pvdrivers-troubleshooting.md)

## Amazon PV 驱动程序
<a name="xen-driver-awspv"></a>

Amazon PV 驱动程序存储在 `%ProgramFiles%\Amazon\Xentools` 目录中。此目录还包含公有符号和一个命令行工具 `xenstore_client.exe`，使用该工具可以访问 XenStore 中的条目。例如，以下 PowerShell 命令从虚拟机监控程序返回当前时间：

```
PS C:\> [DateTime]::FromFileTimeUTC((gwmi -n root\wmi -cl AWSXenStoreBase).XenTime).ToString("hh:mm:ss")
11:17:00
```

Amazon PV 驱动程序在 Windows 注册表中列于 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services` 之下。这些驱动程序组件如下所示：xenbus、xeniface、xennet、xenvbd 和 xenvif。

Amazon PV 驱动程序还有一个名为 LiteAgent 的 Windows 服务，它在用户模式下运行。它会处理相关任务，例如在 Xen 代实例上通过 Amazon API 进行的关闭和重启事件。您可以通过从命令行运行 `Services.msc` 来访问和管理服务。在 Nitro 代实例上运行时，Amazon PV 驱动程序将不会使用，并且 LiteAgent 服务将自动停止启动使用驱动程序版本 8.2.4。更新至最新的 Amazon PV 驱动程序也将更新 LiteAgent 并提高所有实例世代上的可靠性。

### 安装最新的 Amazon PV 驱动程序
<a name="aws-pv-download"></a>

Amazon Windows AMI 包含一系列驱动程序，以允许访问虚拟化硬件。Amazon EC2 会使用这些驱动程序将实例存储和 Amazon EBS 卷映射到其设备。我们建议您安装最新的驱动程序来提高您的 EC2 Windows 实例的稳定性和性能。

**安装选项**
+ 使用 Amazon Systems Manager 自动更新 PV 驱动程序。有关更多信息，请参阅《Amazon Systems Manager 用户指南》**中的[演练：在 EC2 Windows 实例上自动更新 PV 驱动程序](https://docs.amazonaws.cn/systems-manager/latest/userguide/state-manager-update-pv-drivers.html)。
+  [下载](https://s3.cn-north-1.amazonaws.com.cn/ec2-windows-drivers-downloads-cn/AWSPV/Latest/AWSPVDriver.zip)驱动程序包并手动运行安装程序。请务必检查 `readme.txt` 文件以了解系统要求。有关下载和安装 Amazon PV 驱动程序，或者升级域控制器的信息，请参阅 [手动升级 Windows Server 实例(Amazon PV 升级)](Upgrading_PV_drivers.md#aws-pv-upgrade)。

### Amazon PV 驱动程序包历史记录
<a name="pv-driver-history"></a>

下表显示了每个驱动程序版本中的 Amazon PV 驱动程序更改。


| 程序包版本 | 详细信息 | 发行日期 | 
| --- | --- | --- | 
|   [8.6.0](https://s3.cn-north-1.amazonaws.com.cn/ec2-windows-drivers-downloads-cn/AWSPV/8.6.0/AWSPVDriver.zip)   |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/xen-drivers-overview.html)  | 2025 年 5 月 27 日 | 
|  8.5.0  |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/xen-drivers-overview.html)  | 2024 年 10 月 31 日 | 
|   [8.4.3](https://s3.cn-north-1.amazonaws.com.cn/ec2-windows-drivers-downloads-cn/AWSPV/8.4.3/AWSPVDriver.zip)   | 为改善升级体验，修复了软件包安装程序中的错误。这是最后一个可以在 Windows Server 2012 和 2012 R2 上运行的版本。此版本可供下载，但由于 Windows Server 2012 和 2012 R2 已终止支持，因此不再受支持。 | 2023 年 1 月 24 日 | 
| 8.4.2 | 稳定性修复以解决争用情况。 | 2022 年 4 月 13 日 | 
| 8.4.1 | 改进了软件包安装程序。 | 2022 年 1 月 7 日 | 
|  8.4.0  |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/xen-drivers-overview.html)  | 2021 年 3 月 2 日 | 
|   [8.3.5](https://s3.cn-north-1.amazonaws.com.cn/ec2-windows-drivers-downloads-cn/AWSPV/8.3.5/AWSPVDriver.zip)   |  改进了软件包安装程序。 这是最后一个可以在 Windows Server 2008 R2 上运行的版本。此版本可供下载，但不再受支持。Windows Server 2008 R2 的生命周期已经终止，Microsoft 不再提供支持。  | 2022 年 1 月 7 日 | 
|  8.3.4  | 提高了网络设备连接的可靠性。 | 2020 年 8 月 4 日 | 
|  8.3.3  |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/xen-drivers-overview.html) 要在 Windows Server 2008 R2 实例上更新此驱动程序，您必须首先验证安装了相应的修补程序，以解决以下 Microsoft 安全公告：[Microsoft Security Advisory 3033929](https://learn.microsoft.com/en-us/security-updates/SecurityAdvisories/2015/3033929)。  | 2020 年 2 月 4 日 | 
|  8.3.2  |  增强了网络组件的可靠性。  | 2019 年 7 月 30 日 | 
|  8.3.1  |  提高了存储组件的性能和可靠性。  | 2019 年 6 月 12 日 | 
|  8.2.7  |  提高效率以支持迁移到最新一代实例类型。  | 2019 年 5 月 20 日 | 
|  8.2.6  |  提高了故障转储路径的效率。  | 2019 年 1 月 15 日 | 
|  8.2.5  |  更多安全增强。 PowerShell 安装程序现在在程序包中提供。  | 2018 年 12 月 12 日 | 
|  8.2.4  |  可靠性改进。  | 2018 年 10 月 2 日 | 
|  8.2.3  |  缺陷修复和性能改进。 将 EBS 卷 ID 报告为 EBS 卷的磁盘序列号。这可实现集群方案，如 S2D。  | 2018 年 5 月 29 日 | 
|  8.2.1  |  网络和存储性能改进以及多项可靠性修复。 要验证是否已安装此版本，请参阅以下 Windows 注册表值：`HKLM\Software\Amazon\PVDriver\Version 8.2.1`。  | 2018 年 3 月 8 日 | 
|  7.4.3  |  增加了适用于 Windows Server 2016 的支持。 对所有受支持的 Windows 操作系统版本的稳定性修复。 \$1Amazon PV 驱动程序版本 7.4.3 的签名将于 2019 年 3 月 29 日过期。我们建议更新到最新的 Amazon PV 驱动程序。  | 2016 年 11 月 18 日 | 
|  7.4.2  | 对 X1 实例类型支持的稳定性修复。 | 2016 年 8 月 2 日 | 
|  7.4.1  |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/xen-drivers-overview.html)  | 2016 年 7 月 12 日 | 
|  7.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/xen-drivers-overview.html)  | 2015 年 6 月 24 日 | 
|  7.3.1  |  TRIM 更新：与 TRIM 请求相关的修复。该修复实现了实例的稳定性并提高了管理大量 TRIM 请求时的实例性能。  |  | 
|  7.3.0  |  TRIM 支持：Amazon PV 驱动程序现在将 TRIM 请求发送到管理程序。假如基础存储支持 TRIM (SSD)，临时磁盘将妥善处理 TRIM 请求。请注意，自 2015 年 3 月起，基于 EBS 的存储不再支持 TRIM。  |  | 
|  7.2.5  |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/xen-drivers-overview.html)  |  | 
|  7.2.4  |  设备 ID 持久性：此驱动程序修复将掩盖平台 PCI 设备 ID 并强制系统始终显示同一设备 ID，即使实例发生移动也是如此。更普遍的情况是，修复将影响管理程序显示虚拟设备的方式。修复还包括对 Amazon PV 驱动程序的辅助安装程序的修改，因此系统保留了映射的虚拟设备。  |  | 
|  7.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/xen-drivers-overview.html)  |  | 
|  7.2.1  |  [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/xen-drivers-overview.html)  |  | 
|  7.2.0  | 基础：Amazon PV 基础版本。 |  | 

## Citrix PV 驱动程序
<a name="xen-driver-citrix"></a>

Citrix 半虚拟驱动程序存储在 `%ProgramFiles%\Citrix\XenTools` (32 位实例) 和 `%ProgramFiles(x86)%\Citrix\XenTools` (64 位实例) 目录中。

Citrix PV 驱动程序在 Windows 注册表中列于 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services` 之下。这些驱动程序组件如下：xenevtchn、xeniface、xennet、Xennet6、xensvc、xenvbd 和 xenvif。

Citrix 还有一个名为 XenGuestAgent 的驱动程序组件，它以 Windows 服务的形式运行。它会处理相关任务，例如通过 API 进行的关闭和重启事件。您可以通过从命令行运行 `Services.msc` 来访问和管理服务。

如果您在执行某些工作负载时遇到联网错误，可能需要禁用 Citrix PV 驱动程序的 TCP 分载功能。有关更多信息，请参阅 [TCP 分载](pvdrivers-troubleshooting.md#citrix-tcp-offloading)。

## Red Hat PV 驱动程序
<a name="xen-driver-redhat"></a>

支持对旧实例使用 Red Hat 驱动程序，但不建议对具有 12 GB 以上的 RAM 的较新实例使用该驱动程序，因为存在驱动程序限制。运行 Red Hat 驱动程序并具有 12 GB 以上的 RAM 的实例可能无法启动并变得无法访问。我们建议将 Red Hat 驱动程序升级为 Citrix PV 驱动程序，然后将 Citrix PV 驱动程序升级为 Amazon PV 驱动程序。

Red Hat 驱动程序的源文件在 `%ProgramFiles%\RedHat`（32 位实例）或 `%ProgramFiles(x86)%\RedHat`（64 位实例）目录中。这两种驱动程序分别为 Red Hat 半虚拟化网络驱动程序 `rhelnet` 和 Red Hat SCSI 微端口驱动程序 `rhelscsi`。

# 在 EC2 Windows 实例上升级半虚拟化驱动程序
<a name="Upgrading_PV_drivers"></a>

我们建议您安装最新的半虚拟化驱动程序来提高您的 EC2 Windows 实例的稳定性和性能。本页上的说明可以帮助您下载驱动程序包并运行安装程序。

**验证您的 Windows 实例使用哪个驱动程序**

打开**设备管理器**，查看**网络适配器**。验证 PV 驱动程序是否是以下一种：
+ Amazon PV 网络设备
+ Citrix PV 以太网适配器
+ Red Hat PV NIC 驱动程序

**系统要求**  
请务必在下载中检查该 `readme.txt` 文件以了解系统要求。

**Topics**
+ [

## 使用分发服务器升级 Windows Server 实例（Amazon PV 升级）
](#aws-pv-upgrade-distributor)
+ [

## 手动升级 Windows Server 实例(Amazon PV 升级)
](#aws-pv-upgrade)
+ [

## 升级域控制器 (Amazon PV 升级)
](#aws-pv-upgrade-dc)
+ [

## 升级 Windows Server 2008 和 2008 R2 实例（Red Hat 到 Citrix PV 的升级）
](#win2008-citrix-upgrade)
+ [

## 升级 Citrix Xen 代理客户服务
](#citrix-pv-guest-agent-upgrade)

## 使用分发服务器升级 Windows Server 实例（Amazon PV 升级）
<a name="aws-pv-upgrade-distributor"></a>

您可以使用分发服务器（Amazon Systems Manager 的一项功能）安装或升级 Amazon PV 驱动程序包。安装或升级可以执行一次，也可以按计划进行安装或升级。此分发服务器软件包不支持**安装类型** 的 `In-place update` 选项。

**重要**  
如果您的实例是域控制器，请参阅[升级域控制器 (Amazon PV 升级)](#aws-pv-upgrade-dc)。这些域控制器实例的升级过程与标准版本的 Windows 的升级过程不同。

1. 如果需要回滚更改，我们建议您创建备份。
**提示**  
您可以使用 `AWS-CreateImage` 运行手册，通过 Systems Manager Automation 创建 AMI，而不是从 Amazon EC2 控制台创建 AMI。有关更多信息，请参阅 *Amazon Systems Manager Automation 运行手册参考用户指南*中的 [https://docs.amazonaws.cn/systems-manager-automation-runbooks/latest/userguide/automation-aws-createimage.html](https://docs.amazonaws.cn/systems-manager-automation-runbooks/latest/userguide/automation-aws-createimage.html)。

   1. 当您停止某个实例时，任何实例存储卷上的数据都将被擦除。在停止实例之前，请确认您是否已将所需数据从实例存储卷复制到持久性存储，例如 Amazon EBS 或 Amazon S3。

   1. 在导航窗格中，选择**实例**。

   1. 选择需要升级驱动程序的实例，然后依次选择 **Instance state (实例状态)**、**Stop instance (停止实例)**。

   1. 实例停止后，选择实例，依次选择 **Actions (操作) **、**Image and templates (映像和模板)**，然后选择 **Create image (创建映像)**。

   1. 依次选择**实例状态**、**启动实例**。

1. 使用远程桌面来连接到实例。有关更多信息，请参阅 [使用 RDP 客户端连接到 Windows 实例](connect-rdp.md)。

1. <a name="secondary-disks-step-distributor"></a>在执行此升级之前，建议您将所有非系统磁盘离线，然后记录磁盘管理中映射到辅助磁盘的所有盘符。如果您要对 Amazon PV 驱动程序执行就地升级，则不需要此步骤。我们还建议在 Services 控制台中将不必要的服务设置为 **Manual** 启动。

1. <a name="distributor-procedure-awspv"></a>有关如何使用分发服务器安装或升级 Amazon PV 驱动程序包的说明，请参阅 *Amazon Systems Manager 用户指南*中的[安装或更新软件包](https://docs.amazonaws.cn/systems-manager/latest/userguide/distributor-working-with-packages-deploy.html)。

1. 在**名称**中，选择 **AWSPVDriver**。

1. 在**安装类型**中，选择**卸载并重新安装**。

1. 根据需要为软件包配置其他参数，然后使用 [Step 4](#distributor-procedure-awspv) 中提及的过程运行安装或升级。

   在运行分发服务器软件包后，实例将自动重启，然后升级驱动程序。实例将有长达 15 分钟的时间不可用。

1. 升级完成且实例通过 Amazon EC2 控制台的两项运行状况检查后，使用远程桌面连接实例，验证新驱动程序是否已安装。

1. 连接后，请运行以下 PowerShell 命令：

   ```
   Get-ItemProperty HKLM:\SOFTWARE\Amazon\PVDriver
   ```

1. 确认驱动程序版本与驱动程序版本历史记录表中列出的最新版本相同。有关更多信息，请参阅 [Amazon PV 驱动程序包历史记录](xen-drivers-overview.md#pv-driver-history)。打开磁盘管理以审核所有脱机辅助卷，并按照 [Step 3](#secondary-disks-step-distributor) 中记录的对应盘符将其联机。

如果您之前使用 Netsh 为 Citrix PV 驱动程序禁用了 [TCP 分载](pvdrivers-troubleshooting.md#citrix-tcp-offloading)，建议您在升级到 Amazon PV 驱动程序后重新启用此功能。Citrix 驱动程序的 TCP 分载问题在 Amazon PV 驱动程序中不会出现。因此，通过使用 Amazon PV 驱动程序，TCP 分载可提供更高的性能。

如果您之前已将一个静态 IP 地址或 DNS 配置应用于网络接口，则可能需要在升级 Amazon PV 驱动程序后重新应用该静态 IP 地址或 DNS 配置。

## 手动升级 Windows Server 实例(Amazon PV 升级)
<a name="aws-pv-upgrade"></a>

使用以下过程对 Amazon PV 驱动程序执行就地升级，或在 Windows Server 2008 R2、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016、Windows Server 2019 或 Windows Server 2022 上从 Citrix PV 驱动程序升级到 Amazon PV 驱动程序。此升级不适用于 Red Hat 驱动程序或 Windows Server 的其他版本。

某些较旧版本的 Windows Server 无法使用最新的驱动程序。要知道您的操作系统应该使用哪个驱动程序版本，请参阅 [Windows 实例的半虚拟化驱动程序](xen-drivers-overview.md) 页面。

**重要**  
如果您的实例是域控制器，请参阅[升级域控制器 (Amazon PV 升级)](#aws-pv-upgrade-dc)。这些域控制器实例的升级过程与标准版本的 Windows 的升级过程不同。

**手动升级 Amazon PV 驱动程序**

1. 如果需要回滚更改，我们建议您创建备份。
**提示**  
您可以使用 `AWS-CreateImage` 运行手册，通过 Systems Manager Automation 创建 AMI，而不是从 Amazon EC2 控制台创建 AMI。有关更多信息，请参阅 *Amazon Systems Manager Automation 运行手册参考用户指南*中的 [https://docs.amazonaws.cn/systems-manager-automation-runbooks/latest/userguide/automation-aws-createimage.html](https://docs.amazonaws.cn/systems-manager-automation-runbooks/latest/userguide/automation-aws-createimage.html)。

   1. 当您停止某个实例时，任何实例存储卷上的数据都将被擦除。在停止实例之前，请确认您是否已将所需数据从实例存储卷复制到持久性存储，例如 Amazon EBS 或 Amazon S3。

   1. 在导航窗格中，选择**实例**。

   1. 选择需要升级驱动程序的实例，然后依次选择 **Instance state (实例状态)**、**Stop instance (停止实例)**。

   1. 实例停止后，选择实例，依次选择 **Actions (操作) **、**Image and templates (映像和模板)**，然后选择 **Create image (创建映像)**。

   1. 依次选择**实例状态**、**启动实例**。

1. 使用远程桌面来连接到实例。

1. <a name="secondary-disks-step-manual"></a>在执行此升级之前，建议您将所有非系统磁盘离线，然后记录磁盘管理中映射到辅助磁盘的所有盘符。如果您要对 Amazon PV 驱动程序执行就地升级，则不需要此步骤。我们还建议在 Services 控制台中将不必要的服务设置为 **Manual** 启动。

1. 使用以下选项之一将驱动程序下载到您的实例：
   + **浏览器** - 将最新的驱动程序包[下载](https://s3.cn-north-1.amazonaws.com.cn/ec2-windows-drivers-downloads-cn/AWSPV/Latest/AWSPVDriver.zip)到实例并解压缩 zip 存档。
   + **PowerShell** – 运行以下命令：

     ```
     Invoke-WebRequest https://s3.cn-north-1.amazonaws.com.cn/ec2-windows-drivers-downloads-cn/AWSPV/Latest/AWSPVDriver.zip -outfile $env:USERPROFILE\pv_driver.zip
     Expand-Archive $env:userprofile\pv_driver.zip -DestinationPath $env:userprofile\pv_drivers
     ```

     如果您在下载文件时收到错误，并且正在使用 Windows Server 2016 或更早的版本，则可能需要为 PowerShell 终端启用 TLS 1.2。可以使用以下命令为当前 PowerShell 会话启用 TLS 1.2，然后重试：

     ```
     [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
     ```

1. 运行 `AWSPVDriverSetup.msi`。

在运行 MSI 后，实例将自动重启，然后升级驱动程序。实例将有长达 15 分钟的时间不可用。在升级完成并且实例通过了 Amazon EC2 控制台中的两项运行状况检查后，您可以通过使用远程桌面连接到实例，然后运行以下 PowerShell 命令，来验证新驱动程序是否已安装：

```
Get-ItemProperty HKLM:\SOFTWARE\Amazon\PVDriver
```

确认驱动程序版本与驱动程序版本历史记录表中列出的最新版本相同。有关更多信息，请参阅 [Amazon PV 驱动程序包历史记录](xen-drivers-overview.md#pv-driver-history)。打开磁盘管理以审核所有脱机辅助卷，并按照 [Step 3](#secondary-disks-step-manual) 中记录的对应盘符将其联机。

如果您之前使用 Netsh 为 Citrix PV 驱动程序禁用了 [TCP 分载](pvdrivers-troubleshooting.md#citrix-tcp-offloading)，建议您在升级到 Amazon PV 驱动程序后重新启用此功能。Citrix 驱动程序的 TCP 分载问题在 Amazon PV 驱动程序中不会出现。因此，通过使用 Amazon PV 驱动程序，TCP 分载可提供更高的性能。

如果您之前已将一个静态 IP 地址或 DNS 配置应用于网络接口，则可能需要在升级 Amazon PV 驱动程序后重新应用该静态 IP 地址或 DNS 配置。

## 升级域控制器 (Amazon PV 升级)
<a name="aws-pv-upgrade-dc"></a>

使用以下过程在域控制器上对 Amazon PV 驱动程序执行就地升级，或者从 Citrix PV 驱动程序升级到 Amazon PV 驱动程序。为确保您的 FSMO 角色在升级期间保持可操作性，我们建议您在开始升级之前将这些角色转移到其他域控制器。有关更多信息，请参阅 *Microsoft Learn* 网站上的 [How to view and transfer FSMO roles](https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/view-transfer-fsmo-roles)。

**升级域控制器**

1. 如果需要回滚更改，我们建议您创建域控制器的备份。不支持使用 AMI 作为备份。有关更多信息，请参阅 Microsoft 文档中的[备份和还原注意事项](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/get-started/virtual-dc/virtualized-domain-controllers-hyper-v#backup-and-restore-considerations)。

1. 运行以下命令，将 Windows 配置为启动进入目录服务还原模式 (DSRM)。
**警告**  
在运行该命令之前，请确认您知道 DSRM 密码。您需要此信息，这样您可以在升级完成后登录您的实例，并且实例会自动重启。

   ```
   bcdedit /set {default} safeboot dsrepair
   ```

   PowerShell：

   ```
   PS C:\> bcdedit /set "{default}" safeboot dsrepair
   ```

   由于升级实用工具删除 Citrix PV 存储驱动程序以便安装 Amazon PV 驱动程序，因此系统必须启动进入 DSRM 模式。因此，建议您记录磁盘管理中的所有盘符和文件夹对辅助磁盘的映射。没有 Citrix PV 存储驱动程序时，将不会检测到第二个驱动器。使用第二个驱动器上的 NTDS 文件夹的域控制器将不会启动，因为不会检测到第二个磁盘。
**警告**  
运行该命令后，请勿手动重启系统。系统将无法访问，因为 Citrix PV 驱动程序不支持 DSRM。

1. 运行以下命令添加 **DisableDCCheck** 到注册表：

   ```
   reg add HKLM\SOFTWARE\Wow6432Node\Amazon\AWSPVDriverSetup /v DisableDCCheck /t REG_SZ /d true
   ```

1.  将最新的驱动程序包[下载](https://s3.cn-north-1.amazonaws.com.cn/ec2-windows-drivers-downloads-cn/AWSPV/Latest/AWSPVDriver.zip)到实例并解压缩 zip 存档。

1. 运行 `AWSPVDriverSetup.msi`。

   在运行 MSI 后，实例将自动重启，然后升级驱动程序。实例将有长达 15 分钟的时间不可用。

1. 在升级完成并且实例在 Amazon EC2 控制台中通过了两项健康检查后，使用远程桌面连接到实例。打开磁盘管理以审核所有脱机辅助卷，并按照之前记录的对应盘符和文件夹映射将其联机。

   您必须按以下格式指定用户名来连接到实例：*hostname*\$1administrato。例如，Win2k12TestBox\$1administrator。

1. 运行以下命令删除 DSRM 启动配置：

   ```
   bcdedit /deletevalue safeboot
   ```

1. 重启实例。

1. 要完成升级过程，请验证是否安装了新驱动程序。在设备管理器中的**存储控制器**下，找到 **Amazon PV 存储主适配器**。确认驱动程序版本与驱动程序版本历史记录表中列出的最新版本相同。有关更多信息，请参阅[Amazon PV 驱动程序包历史记录](xen-drivers-overview.md#pv-driver-history)。

1. 运行以下命令，从注册表中删除 **DisableDCCheck**：

   ```
   reg delete HKLM\SOFTWARE\Wow6432Node\Amazon\AWSPVDriverSetup /v DisableDCCheck
   ```

**注意**  
如果您之前使用 Netsh 为 Citrix PV 驱动程序禁用了 [TCP 分载](pvdrivers-troubleshooting.md#citrix-tcp-offloading)，建议您在升级到 Amazon PV 驱动程序后重新启用此功能。Citrix 驱动程序的 TCP 分载问题在 Amazon PV 驱动程序中不会出现。因此，通过使用 Amazon PV 驱动程序，TCP 分载可提供更高的性能。

## 升级 Windows Server 2008 和 2008 R2 实例（Red Hat 到 Citrix PV 的升级）
<a name="win2008-citrix-upgrade"></a>

开始将 Red Hat 驱动程序升级为 Citrix PV 驱动程序之前，请务必执行以下操作：
+ 安装最新版本的 EC2Config 服务。有关更多信息，请参阅[安装最新版的 EC2Config](UsingConfig_Install.md)。
+ 验证您是否安装了 Windows PowerShell 3.0。要验证已安装的版本，请在 PowerShell 窗口中运行以下命令：

  ```
  PS C:\> $PSVersionTable.PSVersion
  ```

  Windows PowerShell 3.0 捆绑在 Windows 管理框架 (WMF) 3.0 版安装包中。如果您需要安装 Windows PowerShell 3.0，请参阅 Microsoft 下载中心中的 [Windows Management Framework 3.0](https://www.microsoft.com/en-us/download/details.aspx?id=34595)。
+ 备份实例上的重要信息或者从实例创建一个 AMI。有关创建 AMI 的更多信息，请参阅[创建 Amazon EBS-backed AMI](creating-an-ami-ebs.md)。
**提示**  
您可以使用 `AWS-CreateImage` 运行手册，通过 Systems Manager Automation 创建 AMI，而不是从 Amazon EC2 控制台创建 AMI。有关更多信息，请参阅 *Amazon Systems Manager Automation 运行手册参考用户指南*中的 [https://docs.amazonaws.cn/systems-manager-automation-runbooks/latest/userguide/automation-aws-createimage.html](https://docs.amazonaws.cn/systems-manager-automation-runbooks/latest/userguide/automation-aws-createimage.html)。

  如果您要创建 AMI，请务必执行以下操作：
  + 写下您的密码。
  + 请勿手动运行 Sysprep 工具或使用 EC2Config 服务。
  + 将您的以太网适配器设置为使用 DHCP 自动获取 IP 地址。

**升级 Red Hat 驱动程序**

1. 连接到您的实例并以本地管理员身份登录。有关连接到实例的更多信息，请参阅[使用 RDP 连接到 Windows 实例](connecting_to_windows_instance.md)。

1. 将升级包的内容提取到您所选的位置。

1. 双击 **Upgrade.bat** 文件。如果您收到安全警告，请选择 **Run**。

1. 在 **Upgrade Drivers** 对话框中，查看此信息并选择 **Yes** (如果您已开始升级)。

1. 在 **Red Hat Paravirtualized Xen Drivers for Windows uninstaller** 对话框中，选择**是**，删除 Red Hat 软件。您的实例会重新启动。
**注意**  
如果您没有看到卸载程序对话框，请选择 Windows 任务栏中的 **Red Hat Paravirtualize**。  
![\[任务栏中的 Red Hat Paravirtualized。\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/images/win2003-citrix-taskbar.png)

1. 检查实例是否已重新启动并且可以使用。

   1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/)。

   1. 在**实例**页面上，依次选择**操作**、**监控和排查**，然后选择**获取系统日志**。

   1. 升级操作应该已重新启动服务器 3 到 4 次。您可以在日志文件中看到此信息 (依据 `Windows is Ready to use` 的显示次数)。  
![\[Windows 系统日志。\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/images/win2008-sys-log.png)

1. 连接到您的实例并以本地管理员身份登录。

1. 关闭 **Red Hat Paravirtualized Xen Drivers for Windows uninstaller** 对话框。

1. 确认安装已完成。导航至您之前提取的 `Citrix-WIN_PV` 文件夹，打开 `PVUpgrade.log` 文件，然后检查是否有文本 `INSTALLATION IS COMPLETE`。  
![\[PVUpgrade 日志文件。\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/images/win2008-pvupgrade-log.png)

## 升级 Citrix Xen 代理客户服务
<a name="citrix-pv-guest-agent-upgrade"></a>

如果您要在 Windows Server 上使用 Citrix PV 驱动程序，则可以升级 Citrix Xen 来宾代理服务。此 Windows 服务会处理相关任务，例如通过 API 进行的关闭和重启事件。您可以在任意版本的 Windows Server 上运行此升级包，前提是该实例正在运行 Citrix PV 驱动程序。

**重要**  
对于 Windows Server 2008 R2 及更高版本，我们建议您升级到包含 Guest Agent 更新的 Amazon PV 驱动程序。

升级您的驱动程序之前，请确保您已经备份实例上的重要信息，或者从实例创建了一个 AMI。有关创建 AMI 的更多信息，请参阅[创建 Amazon EBS-backed AMI](creating-an-ami-ebs.md)。

**提示**  
您可以使用 `AWS-CreateImage` 运行手册，通过 Systems Manager Automation 创建 AMI，而不是从 Amazon EC2 控制台创建 AMI。有关更多信息，请参阅 *Amazon Systems Manager Automation 运行手册参考用户指南*中的 [https://docs.amazonaws.cn/systems-manager-automation-runbooks/latest/userguide/automation-aws-createimage.html](https://docs.amazonaws.cn/systems-manager-automation-runbooks/latest/userguide/automation-aws-createimage.html)。

如果您要创建 AMI，请务必执行以下操作：
+ 不在 EC2Config 服务中启用 Sysprep 工具。
+ 写下您的密码。
+ 将您的以太网适配器设为 DHCP。

**升级 Citrix Xen 代理客户服务**

1. 连接到您的实例并以本地管理员身份登录。有关连接到实例的更多信息，请参阅[使用 RDP 连接到 Windows 实例](connecting_to_windows_instance.md)。

1. 将升级包的内容提取到您所选的位置。

1. 双击 **Upgrade.bat** 文件。如果您收到安全警告，请选择 **Run**。

1. 在 **Upgrade Drivers** 对话框中，查看此信息并选择 **Yes** (如果您已开始升级)。

1. 升级完成后，`PVUpgrade.log` 文件会打开并包含文本 `UPGRADE IS COMPLETE`。

1. 重新启动您的实例。

# 排查 Windows 实例上的 PV 驱动程序问题
<a name="pvdrivers-troubleshooting"></a>

以下是您可能遇到的有关较旧的 Amazon EC2 映像和 PV 驱动程序的问题的解决方案。

**Topics**
+ [

## Windows Server 2012 R2 在实例重启后丢失网络和存储连接
](#server2012R2-instance-unavailable)
+ [

## TCP 分载
](#citrix-tcp-offloading)
+ [

## 时间同步
](#citrix-time-sync)
+ [

## 利用 20,000 多个磁盘 IOPS 由于 CPU 瓶颈而发生降级的工作负载
](#pvdriver-troubleshooting-cpu-bottlenecks)

## Windows Server 2012 R2 在实例重启后丢失网络和存储连接
<a name="server2012R2-instance-unavailable"></a>

**重要**  
仅 2014 年 9 月之前提供的 AMI 会出现此问题。

在 2014 年 9 月 10 日之前提供的 Windows Server 2012 R2 亚马逊机器映像（AMI）可能在实例重启后丢失网络和存储连接。Amazon Web Services 管理控制台系统日志中的错误指明：“Difficulty detecting PV driver details for Console Output”。连接丢失是由即插即用清理功能导致。此功能每 30 天扫描一次不活动的系统设备并禁用它们。此功能错误地将 EC2 网络设备识别为不活动状态并将其从系统中删除。出现这种情况时，实例在重启后会丢失网络连接。

对于您怀疑可能受此问题影响的系统，您可以下载并运行就地驱动程序升级。如果您无法执行就地驱动程序升级，则可以运行帮助程序脚本。该脚本将确定您的实例是否受影响。如果实例受影响，并且 Amazon EC2 网络设备尚未移除，该脚本将禁用即插即用清理扫描。如果网络设备已移除，该脚本将修复设备，禁用即插即用清理扫描，并可让您的实例重新启动并启用网络连接。

**Topics**
+ [

### 选择如何解决问题
](#choose-fix)
+ [

### 方法 1 - 增强联网
](#plug-n-play-fix-method1)
+ [

### 方法 2 - 注册表配置
](#plug-n-play-fix-method2)
+ [

### 运行修正脚本
](#plug-n-play-script)

### 选择如何解决问题
<a name="choose-fix"></a>

有两种方法可以恢复与受此问题影响的实例的网络和存储连接。选择以下方法之一：


| 方法 | 先决条件 | 过程概述 | 
| --- | --- | --- | 
| 方法 1 - 增强联网 | 增强联网仅在需要 C3 实例类型的 Virtual Private Cloud (VPC) 中可用。如果服务器当前不使用 C3 实例类型，则必须临时更改它。 | 您应将服务器实例类型更改为 C3 实例。增强联网随后可让您连接到受影响的实例并修复问题。修复问题后，您将实例更改回原始的实例类型。此方法通常比方法 2 更快，导致用户错误的可能性也小。只要 C3 实例运行，您就会产生额外费用。 | 
| 方法 2 - 注册表配置 | 能够创建或访问辅助服务器。能够更改注册表设置。 | 您将根卷从受影响的实例分离，将其附加到其他实例，连接该实例，然后在注册表中进行更改。只要额外的服务器运行，您就会产生额外费用。此方法比方法 1 慢一些，但此方法在方法 1 无法解决问题的情况下有效。 | 

### 方法 1 - 增强联网
<a name="plug-n-play-fix-method1"></a>

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/)。

1. 在导航窗格中，选择**实例**。

1. 找到受影响的实例。选择实例并选择 **Instance state (实例状态)**，然后选择 **Stop instance (停止实例)**。
**警告**  
停止某个实例时，实例存储卷上的数据将会丢失。要保留这些数据，请将其备份到持久性存储中。

1. 在实例停止后创建备份。选择实例，再依次选择 **Actions (操作) **、**Image and templates (映像和模板)**，然后选择 **Create image (创建映像)**。

1. 将实例类型[更改](ec2-instance-resize.md)为任何 C3 实例类型。

1. [启动实例。](Stop_Start.md)

1. 提取文件夹的内容，然后运行 `AWSPVDriverSetup.msi`。

   在运行 MSI 后，实例将自动重启，然后升级驱动程序。实例将有长达 15 分钟的时间不可用。

1. 在升级已完成并且实例在 Amazon EC2 控制台中通过了两项健康检查后，请使用远程桌面连接到实例并验证新驱动程序是否已安装。在设备管理器中的**存储控制器**下，找到 **Amazon PV 存储主适配器**。确认驱动程序版本与驱动程序版本历史记录表中列出的最新版本相同。有关更多信息，请参阅[Amazon PV 驱动程序包历史记录](xen-drivers-overview.md#pv-driver-history)。

1. 停止实例并将实例更改回原始的实例类型。

1. 启动实例并恢复正常使用。

### 方法 2 - 注册表配置
<a name="plug-n-play-fix-method2"></a>

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/)。

1. 在导航窗格中，选择**实例**。

1. 找到受影响的实例。选择实例，再选择 **Instance state (实例状态)**，然后选择 **Stop instance （停止实例)**。
**警告**  
停止某个实例时，实例存储卷上的数据将会丢失。要保留这些数据，请将其备份到持久性存储中。

1. 选择 **Launch Instance (启动实例)** 并在与受影响实例相同的可用区中创建临时的 Windows Server 2008 或 Windows Server 2012 实例。不要创建 Windows Server 2012 R2 实例。
**重要**  
如果您未在与受影响实例相同的可用区中创建该实例，则无法将受影响的实例的根卷附加到新实例。

1. 在导航窗格中，选择 **Volumes**。

1. 找到受影响的实例的根卷。分离卷并向之前创建的临时实例附加卷。使用默认设备名称 (xvdf) 附加该卷。

1. 使用远程桌面连接临时实例，然后通过磁盘管理实用工具使该卷可供使用。

1. 在临时实例上，打开**运行**对话框，键入 **regedit**，然后按 Enter。

1. 在注册表编辑器导航窗格中，选择 **HKEY\$1Local\$1Machine**，然后从 **File**（文件）菜单中选择 **Load Hive**（加载 Hive）。

1. 在 **Load Hive**（加载 Hive）对话框中，导航到*Affected Volume*（受影响的卷）\$1Windows\$1System32\$1config\$1System 并在 **Key Name**（项名称）对话框中键入临时名称。例如，输入 OldSys。

1. 在注册表编辑器的导航窗格中，找到以下项：

    **HKEY\$1LOCAL\$1MACHINE\$1*临时项名称*\$1ControlSet001\$1Control\$1Class\$14d36e97d-e325-11ce-bfc1-08002be10318** 

    **HKEY\$1LOCAL\$1MACHINE\$1*临时项名称*\$1ControlSet001\$1Control\$1Class\$14d36e96a-e325-11ce-bfc1-08002be10318** 

1. 对于每个项，双击 **UpperFilters**，输入值 XENFILT，然后选择 **OK**。  
![\[受影响的卷的注册表项。\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/images/troubleshooting-server2012R2-regedit.png)

1. 找到以下项：

    **HKEY\$1LOCAL\$1MACHINE\$1*临时项名称*\$1ControlSet001\$1Services\$1XENBUS\$1Parameters** 

1. 使用名称 ActiveDevice 和以下值创建新字符串 (REG\$1SZ)：

    **PCI\$1VEN\$15853&DEV\$10001&SUBSYS\$100015853&REV\$101** 

1. 找到以下项：

    **HKEY\$1LOCAL\$1MACHINE\$1*临时项名称*\$1ControlSet001\$1Services\$1XENBUS** 

1. 将 **Count** 从 0 更改为 1。

1. 找到并删除以下项：

    **HKEY\$1LOCAL\$1MACHINE\$1*临时项名称*\$1ControlSet001\$1Services\$1xenvbd\$1StartOverride** 

    **HKEY\$1LOCAL\$1MACHINE \$1*临时项名称*\$1ControlSet001\$1Services\$1xenfilt\$1StartOverride** 

1. 在注册表编辑器导航窗格中，选择您在首次打开注册表编辑器时创建的临时项。

1. 从 **File**（文件）菜单中，选择 **Unload Hive**（卸载 Hive）。

1. 在磁盘管理实用工具中，选择您之前附加的驱动器，打开上下文（右键单击）菜单，然后选择**脱机**。

1. 在 Amazon EC2 控制台中，将受影响的实例从临时实例分离，然后将其重新附加到您的具有设备名称 /dev/sda1 的 Windows Server 2012 R2 实例。您必须指定此设备名称才能将卷指派为根卷。

1. [启动实例。](Stop_Start.md)

1. 提取文件夹的内容，然后运行 `AWSPVDriverSetup.msi`。

   在运行 MSI 后，实例将自动重启，然后升级驱动程序。实例将有长达 15 分钟的时间不可用。

1. 在升级已完成并且实例在 Amazon EC2 控制台中通过了两项健康检查后，请使用远程桌面连接到实例并验证新驱动程序是否已安装。在设备管理器中的**存储控制器**下，找到 **Amazon PV 存储主适配器**。确认驱动程序版本与驱动程序版本历史记录表中列出的最新版本相同。有关更多信息，请参阅[Amazon PV 驱动程序包历史记录](xen-drivers-overview.md#pv-driver-history)。

1. 删除或停止您在本过程中创建的临时实例。

### 运行修正脚本
<a name="plug-n-play-script"></a>

如果您无法执行就地驱动程序升级或无法迁移到较新的实例，则可以运行修正脚本来修复即插即用清理任务导致的问题。

**运行修正脚本**

1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.amazonaws.cn/ec2/)。

1. 在导航窗格中，选择**实例**。

1. 选择要为其运行修正脚本的实例。选择 **Instance state (实例状态)**，然后选择 **Stop instance （停止实例)**。
**警告**  
停止某个实例时，实例存储卷上的数据将会丢失。要保留这些数据，请将其备份到持久性存储中。

1. 在实例停止后创建备份。选择实例，再依次选择 **Actions (操作) **、**Image and templates (映像和模板)**，然后选择 **Create image (创建映像)**。

1. 选择 **Instance state (实例状态)**，然后选择 **Start instance （开始实例)**。

1. 提取文件夹的内容。

1. 根据 Readme.txt 文件中的指示运行修正脚本。该文件位于您提取 RemediateDriverIssue.zip 的文件夹中。

## TCP 分载
<a name="citrix-tcp-offloading"></a>

**重要**  
此问题不适用于运行 Amazon PV 或 Intel 网络驱动程序的实例。

默认情况下，会为 Windows AMI 中的 Citrix PV 驱动程序启用 TCP 分载。如果您遇到传输级错误或数据包传输错误（在 Windows 性能监视器上可见，例如在运行特定 SQL 工作负载时），可能需要禁用此功能。

**警告**  
禁用 TCP 分载可能会降低实例的网络性能。

**为 Windows Server 2012 和 2008 禁用 TCP 分载**

1. 连接到您的实例并以本地管理员身份登录。

1. 如果您使用 Windows Server 2012，请按 **Ctrl\$1Esc** 访问 **Start** 屏幕，然后选择 **Control Panel**。如果您使用 Windows Server 2008，请选择 **Start** 并选择 **Control Panel**。

1. 依次选择 **Network and Internet** 和 **Network and Sharing Center**。

1. 选择 **Change adapter settings**。

1. 右键单击 **Citrix PV Ethernet Adapter \$10 (Citrix PV 以太网适配器 \$10)**，然后选择 **Properties (属性)**。  
![\[本地连接属性。\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/images/citrix-local-area-conn.png)

1. 在 **Local Area Connection Properties** 对话框中，选择 **Configure** 以打开 **Citrix PV Ethernet Adapter \$10 Properties** 对话框。

1. 在 **Advanced** 选项卡上，禁用每个属性，但 **Correct TCP/UDP Checksum Value** 除外。要禁用一个属性，请从 **Property** 中选择该属性，然后从 **Value** 中选择 **Disabled**。

1. 选择 **OK (确定)**。

1. 从命令提示符窗口运行以下命令。

   ```
   netsh int ip set global taskoffload=disabled
   netsh int tcp set global chimney=disabled
   netsh int tcp set global rss=disabled
   netsh int tcp set global netdma=disabled
   ```

1. 重启实例。

## 时间同步
<a name="citrix-time-sync"></a>

在 2013.02.13 Windows AMI 版本前，Citrix Xen 代理客户无法正确设置系统时间。这可能导致您的 DHCP 租约过期。如果您在连接到您的实例时遇到问题，可能需要更新代理。

要确定您是否有更新的 Citrix Xen 客户代理，请检查 `C:\Program Files\Citrix\XenGuestAgent.exe` 文件的日期是否为 2013 年 3 月。如果此文件的日期早于这个时间，则请更新 Citrix Xen 代理客户服务。有关更多信息，请参阅[升级 Citrix Xen 代理客户服务](Upgrading_PV_drivers.md#citrix-pv-guest-agent-upgrade)。

## 利用 20,000 多个磁盘 IOPS 由于 CPU 瓶颈而发生降级的工作负载
<a name="pvdriver-troubleshooting-cpu-bottlenecks"></a>

如果您使用的是运行 Amazon PV 驱动程序的 Windows 实例（利用 20000 多个 IOPS），则可能会受到此问题的影响，并且会遇到错误代码 `0x9E: USER_MODE_HEALTH_MONITOR`。

Amazon PV 驱动程序中的磁盘读取和写入 (IO) 分两个阶段进行：**IO 准备**和 **IO 完成**。默认情况下，准备阶段在单个任意核心上运行。完成阶段在核心 `0` 上运行。处理 IO 所需的计算量因其大小和其他属性而异。有些 IO 在准备阶段使用更多计算，其他 IO 则在完成阶段使用更多计算。当实例驱动超过 20,000 个 IOPS 时，准备阶段或完成阶段可能会导致瓶颈，其中运行实例的 CPU 达到 100% 容量。准备阶段或完成阶段是否成为瓶颈取决于应用程序使用的 IO 的属性。

从 Amazon PV 驱动程序 8.4.0 开始，准备阶段和完成阶段的负载可以跨多个核心分配，从而消除瓶颈。每个应用程序使用不同的 IO 属性。因此，应用以下配置之一可能会提高、降低或不影响应用程序的性能。应用这些配置中的任何一个之后，监控应用程序以验证它是否符合所需的性能。

1. 

**先决条件**

   在开始此故障排除过程之前，请验证以下先决条件：
   + 您的实例使用 Amazon PV 驱动程序 8.4.0 或更高版本。要升级，请参阅 [在 EC2 Windows 实例上升级半虚拟化驱动程序](Upgrading_PV_drivers.md)。
   + 您对实例拥有 RDP 访问权限。使用 RDP 连接到 Windows 实例的步骤，请参阅 [使用 RDP 客户端连接到 Windows 实例](connect-rdp.md)。
   + 您对实例拥有管理员访问权限。

1. 

**观察实例的 CPU 负载**

   您可以使用 Windows 任务管理器查看每个 CPU 的负载，以确定磁盘 IO 的潜在瓶颈。

   1. 验证应用程序是否正在运行并处理与生产工作负载类似的流量。

   1. 使用 RDP 连接到您的实例。

   1. 选择实例上的**开始**菜单。

   1. 进入**开始**菜单中的 `Task Manager` 以打开任务管理器。

   1. 如果任务管理器显示摘要视图，请选择**更多详细信息**以展开详细视图。

   1. 选择 **Performance** (性能) 选项卡。

   1. 在左侧窗格中，选择 **CPU**。

   1. 右键单击主窗格中的图表，然后选择**将图表更改为**>**逻辑处理器**以显示每个单独的核心。

   1. 根据实例上的核心数量，您可能会看到显示随时间变化的 CPU 负载的行，也可能只看到一个数字。
      + 如果您看到显示随时间变化的负载的图表，请查找显示框几乎完全变成阴影的 CPU。
      + 如果您在每个核心上看到一个数字，请查找始终显示 95％ 或更高的核心。

   1. 注意核心 `0` 或者另一个核心是否正在经历重负载。

1. 

**选择要应用的配置**    
[\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/AWSEC2/latest/UserGuide/pvdrivers-troubleshooting.html)
**注意**  
我们建议您在没有同时分配 IO 完成的情况下不要分配 IO 准备（设置 `DpcRedirection` 而不设置 `NotifierDistributed`），因为在准备阶段并行运行时，完成阶段对准备阶段过载敏感。

**注册表项的值**
   + *NotifierDistributed*

     值 `0` 或不存在 — 完成阶段将在核心 `0` 上运行。

     值 `1` — 驱动程序选择运行完成阶段或核心 `0` 或者每个附加磁盘一个额外核心。

     值 `2` — 驱动程序在每个附加磁盘的额外核心上运行完成阶段。
   + *DpcRedirection*

     值 `0` 或不存在 — 准备阶段将在单个、任意的核心上运行。

     值 `1` — 准备阶段跨多个核心分配。

   

   

**默认配置**

   对于 8.4.0 之前的 Amazon PV 驱动程序版本，或者如果在应用本节中的一个其他配置后观察到性能或稳定性降级，则应用默认配置。

   1. 使用 RDP 连接到您的实例。

   1. 以管理员身份打开新的 PowerShell 命令提示符。

   1. 运行以下命令以删除 `NotifierDistributed` 和 `DpcRedirection` 注册表项。

      ```
      Remove-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Name NotifierDistributed
      ```

      ```
      Remove-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Name DpcRedirection
      ```

   1. 重新启动您的实例。

   

   

**允许驱动程序选择是否分配完成**

   设置 `NotiferDistributed` 注册表项，允许 PV 存储驱动程序选择是否分配 IO 完成。

   1. 使用 RDP 连接到您的实例。

   1. 以管理员身份打开新的 PowerShell 命令提示符。

   1. 运行以下命令以设置 `NotiferDistributed` 注册表项。

      ```
      Set-ItemProperty -Type DWORD -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Value 0x00000001 -Name NotifierDistributed
      ```

   1. 重新启动您的实例。

   

   

**分配准备和完成**

   设置 `NotifierDistributed` 和 `DpcRedirection` 注册表项以始终分配准备阶段和完成阶段。

   1. 使用 RDP 连接到您的实例。

   1. 以管理员身份打开新的 PowerShell 命令提示符。

   1. 运行以下命令以设置 `NotifierDistributed` 和 `DpcRedirection` 注册表项。

      ```
      Set-ItemProperty -Type DWORD -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Value 0x00000002 -Name NotifierDistributed
      ```

      ```
      Set-ItemProperty -Type DWORD -Path HKLM:\System\CurrentControlSet\Services\xenvbd\Parameters -Value 0x00000001 -Name DpcRedirection
      ```

   1. 重新启动您的实例。