Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

初始化 Amazon EBS 卷

新 EBS 卷一旦可用便能实现其最高性能,而不需要初始化 (以前称为预热)。但是,从快照还原的卷上的存储数据块必须先进行初始化 (从 Amazon S3 取下并写入到卷),然后您才能访问该数据块。此预备操作需要花费时间,并可能会造成首次访问每个数据块时的 I/O 操作的延迟大大提高。对于大部分应用程序,可将此成本分摊到卷的整个使用期限。访问数据完毕后,性能随之恢复。

您可以通过在使用之前对卷上的所有数据块进行读取,在生产环境中避免这种性能冲击;此过程称为初始化。对于从快照创建的新卷,您应该在使用该卷前读取所有包含数据的块。

重要

在初始化已从快照还原的 io1 卷时,该卷的性能可能会下降到预期水平的 50% 以下,这会导致该卷在 I/O Performance 状态检查中显示 warning 状态。这是预期行为,并且您可在初始化 io1 卷时忽略该卷上的 warning 状态。有关更多信息,请参阅 使用状态检查来监控卷

在 Windows 上初始化 Amazon EBS 卷

新 EBS 卷一旦可用便能实现其最高性能,而不需要初始化 (以前称为预热)。对于已从快照还原的卷,请使用适用于 Windows 的 ddfio 命令对卷上的所有数据块进行读取。卷上的所有现有数据都会保留。

在使用上述任何一种工具前,请在您的系统上收集有关磁盘的信息,如下所述:

  1. 使用 wmic 命令列出系统上的可用磁盘:

    wmic diskdrive get size,deviceid

    下面是示例输出:

    DeviceID Size \\.\PHYSICALDRIVE2 80517265920 \\.\PHYSICALDRIVE1 80517265920 \\.\PHYSICALDRIVE0 128849011200 \\.\PHYSICALDRIVE3 107372805120
  2. 使用 ddfio 识别要初始化的磁盘。C: 驱动器位于 \\.\PHYSICALDRIVE0。如果您不确定要使用的驱动器号,则可以使用 diskmgmt.msc 实用工具将驱动器盘符与磁盘驱动器号进行比较。

使用 dd

完成以下程序,以安装并使用 dd 来初始化卷。

注意

此步骤可能需要几分钟到几个小时,具体取决于 EC2 实例带宽、为卷配置的 IOPS 和卷的大小。

安装适用于 Windows 的 dd

适用于 Windows 的 dd 程序的使用类似于 Linux 和 Unix 系统中常用的 dd 程序,允许您初始化已从快照还原的 Amazon EBS 卷。撰写本文时,最新 Beta 版本包含初始化从快照还原的卷所需的 /dev/null 虚拟设备。程序的完整文档可在 http://www.chrysocome.net/dd 上获得。

  1. 可从 http://www.chrysocome.net/dd 下载适用于 Windows 的最新二进制版本的 dd。必须使用版本 0.6 Beta 3 或更新版本初始化还原的卷。

  2. (可选) 为命令行实用工具创建易于查找和记住的文件夹,如 C:\bin。如果您已拥有用于命令行实用工具的指定文件夹,则可以在以下步骤中改用该文件夹。

  3. 解压缩二进制程序包并将 dd.exe 文件复制到命令行实用工具文件夹 (如 C:\bin)。

  4. 将命令行实用工具文件夹添加到 Path 环境变量,以便您可以从任何位置执行该文件夹中的程序。

    重要

    以下步骤不会在您当前的“命令提示符”窗口中更新环境变量。您在完成这些步骤后打开的“命令提示符”窗口将包含更新。这就是为什么需要打开一个新“命令提示符”窗口来确认环境已正确设置。

    1. 选择开始,打开计算机的上下文 (右键单击) 菜单,然后选择属性

    2. 依次选择高级系统设置环境变量

    3. 对于系统变量,选择变量 Path,然后选择编辑

    4. 对于 Variable value,将一个分号和命令行实用工具文件夹的位置 (;C:\bin\) 附加到现有值末尾。

    5. 选择确定关闭编辑系统变量窗口。

使用适用于 Windows 的 dd 来初始化卷

  1. 执行以下命令可读取指定设备上的所有数据块 (并将输出发送到 /dev/null 虚拟设备)。此命令可安全初始化现有数据。

    重要

    不当使用 dd 可能容易损坏卷的数据。请务必严格遵循下面的示例命令。只有 if=\\.\PHYSICALDRIVEn 参数将因您要读取的设备的名称而异。

    dd if=\\.\PHYSICALDRIVEn of=/dev/null bs=1M --progress --size

    注意

    如果 dd 尝试读取卷末尾以外的空间,您可能会看到一个错误,但可以安全地忽略此错误。

  2. 操作完成时,您即准备就绪,可使用新卷。有关更多信息,请参阅 使 Amazon EBS 卷可用

使用 fio

完成以下程序,以安装并使用 fio 来初始化卷。

安装适用于 Windows 的 fio

适用于 Windows 的 fio 程序的使用类似于 Linux 和 Unix 系统中常用的 fio 程序,允许您初始化已从快照还原的 Amazon EBS 卷。有关此程序的完整文档,请访问 http://bluestop.org/fio/

  1. 下载 fio MSI 安装程序。

  2. 安装 fio

使用适用于 Windows 的 fio 来初始化卷

  1. 运行类似如下的命令来初始化卷:

    fio --filename=\\.\PHYSICALDRIVEn --rw=read --bs=128k --iodepth=32 --direct=1 --name=volume-initialize
  2. 操作完成时,您即准备就绪,可使用新卷。有关更多信息,请参阅 使 Amazon EBS 卷可用