在EC2 m1.small&m1.medium中交换空间

我有一个定制的AMI,当我从这个AMI启动实例时,如果我selectm1.small,我将有一个895MB的交换空间; 当我selectm1.medium时,我将有0个交换空间,为什么呢?

如果我想让我的m1.medium也使用实例存储中的交换空间,我该怎么办? (不需要终止我的实例)

(都是ebs根实例)

AWS很时髦。 虽然我不完全熟悉AMI,但是知道它们如何与实例存储一起使用,您可以像其他任何驱动器一样添加交换空间。 完整的说明可以在这里find: http : //www.cyberciti.biz/faq/linux-add-a-swap-file-howto/

只需将其引用的pathreplace为实例存储的path(使用df -h ,通常是更大的path)。

c1.medium和m1.small实例types的内存非常有限,因此amazon为它们提供了一个额外的swap实例存储。 亚马逊的AMI自动检测这个块设备。 如果你的爱美是基于其中的一个,那么这可能是为什么。

但是,当您的实例使用ebs作为根卷时,可以将常规实例存储添加为辅助驱动器,但是您需要将映射更改为/ dev / sda *之外的映射,因为这用于ebs卷。 不幸的是,这个映射必须在创buildami或实例时进行定义。 使用命令lsblk可以列出可用的块设备,并检查是否有可用于安装的辅助驱动器。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreSwapVolumes

正如文档所述 ,在EBS支持的AMI启动后,添加实例存储存储是不可能的。 可以添加EBS磁盘并将其用作交换设备,但是我怀疑您会对其性能(或者使用预置IOPS EBS卷时的价格)感到满意。要获得EBS磁盘上实例存储的唯一方法,支持AMI是

  • 或者在创buildAMI图像时映射它,或者
  • 在创build实例时映射它。