如何使用 ebs 根设备访问 Windows EC2 实例上的实例存储?

如何使用 ebs 根设备访问 Windows EC2 实例上的实例存储?

我已经创建了一个 AMI,但我想使用实例存储来运行一些科学程序。它们基本上是从磁盘读取一堆内容,将其写回到磁盘,然后汇总这些结果。这需要在 Windows 上进行,因为这些程序是为 Windows 编写的。我不需要保留文件,也不在乎是否丢失它们,所以我想为此使用实例存储,并且不产生任何 I/O 费用。

因此,我启动了我的 AMI,但当我远程登录时,我只看到我的 EBS 根设备。我该如何安装可用的实例(临时)存储?

答案1

虽然除 t1.micro 之外的所有实例都分配有“实例存储”(即临时存储),但默认情况下不一定附加该存储。在大多数情况下,具有 EBS 根卷的实例将有零个或一个附加的临时卷。

实例可用的临时磁盘标记为ephemeral[0-3]。一旦启动实例,您就无法将其附加到实例。(另一方面,您可以在实例运行时向其添加 EBS 卷)。

由于临时磁盘和 EBS 卷都是块设备,因此 AWS 将这些磁盘到实例设备的映射称为“块设备映射”,并且可以使用-b--block-device-mapping参数(可以多次使用)来指定这些映射。

为了更改连接到实例的临时磁盘,您需要执行以下任一操作:

  1. 发射明确指定临时磁盘映射的实例或

    ec2-run-instances ami-xxxxxxxx -b /dev/xvdb=ephemeral0 -b /dev/xvdc=ephemeral1 -b /dev/xvdd=ephemeral2 -b /dev/xvde=ephemeral3
  2. 登记一个新的 AMI,明确指定临时磁盘映射(和 EBS 根):

    ec2-register -n 映像名称 -d 映像描述 --root-device-name /dev/xvda1 -b /dev/xvda1=snap-xxxxxxxx -b /dev/xvdb=ephemeral0 -b /dev/xvdc=ephemeral1 -b /dev/xvdd=ephemeral2 -b /dev/xvde=ephemeral3

请注意,在 Windows 实例上,您将指定设备为 /dev/xvdX,而在 Linux 实例上,您将指定设备为 /dev/sdX(尽管现代 Linux 内核仍会将此设备显示为 /dev/xvdX,并带有指向 /dev/sdX 的符号链接)。此外,Windows 实例会将实例存储卷格式化为 NTFS(尽管默认情况下,卷的格式为 ext3)。

AWS 详细说明了可用的实例存储和分配情况他们的文件

相关内容