我创build了一个AMI,但是我想使用实例存储来执行一些我想运行的科学程序。 他们基本上从磁盘读取一堆东西,把它写回到磁盘,然后总结这些结果。 这需要在Windows上,因为这是这些程序写的平台。 我不需要这些文件来坚持,我也不在意是否会丢失它们,所以我想使用实例存储,而不会为I / O收取任何费用。
所以,我启动了我的AMI,但是当我远程进入时,我只能看到我的EBS根设备。 我如何安装可用的实例(临时)存储?
虽然除t1.micro以外的所有实例都确实有“实例存储”(即临时存储)的分配,但该存储不一定默认附加。 在大多数情况下,具有EBS根卷的实例将具有零个或一个连接的临时卷。
可用于实例的短暂磁盘标记为ephemeral[0-3] 。 启动后,您不能将这些附加到实例上。 (另一方面,您可以在运行时将EBS卷添加到实例中)。
由于临时磁盘与EBS卷一起是块设备,因此AWS --block-device-mapping这些磁盘映射到实例的设备“块设备映射”,这些磁盘可以使用-b或--block-device-mapping参数指定(您可以使用多次)。
为了更改连接到实例的临时磁盘,您需要:
启动显式指定临时磁盘映射的实例
ec2-run-instances ami-xxxxxxxx -b / dev / xvdb = ephemeral0 -b / dev / xvdc = ephemeral1 -b / dev / xvdd = ephemeral2 -b / dev / xvde = ephemeral3
注册新的AMI,明确指定临时磁盘映射(和EBS根):
ec2-register -n Image_Name -d Image_Description --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(尽pipe现代Linux内核仍然会将此设备显示为/ dev / xvdX,并带有符号链接到/ dev / sdX)。 此外,Windows实例会将实例存储卷格式化为NTFS(尽pipe默认情况下,卷将格式化为ext3)。
AWS在文档中详细介绍了可用的实例存储和分配。