Linux 确定是否将临时存储连接到Amazon Web服务控制台中的实例?

Linux 确定是否将临时存储连接到Amazon Web服务控制台中的实例?,linux,amazon-web-services,Linux,Amazon Web Services,简短问题: 如何知道实例是否连接了临时存储?我是否必须在Linux上使用ssh并查看装载的lsblk 由于临时存储在实例停止时丢失,因此您需要知道是否连接了临时驱动器。首先要检查的是实例的“根设备类型”,如果是EBS,则不必担心数据丢失(除非EBS卷设置为“终止时删除”) 但是,如果它是“实例存储”,那么当实例启动时,您将丢失该驱动器上的数据。然后查看“根设备”和“块设备”,看看它们是否都与EBS卷关联。那很容易。当您(在启动时)将一个临时驱动器连接到一个实例时,会出现云,但控制台并不像其他EB

简短问题:

如何知道实例是否连接了临时存储?我是否必须在Linux上使用
ssh
并查看装载的
lsblk

由于临时存储在实例停止时丢失,因此您需要知道是否连接了临时驱动器。首先要检查的是实例的“根设备类型”,如果是EBS,则不必担心数据丢失(除非EBS卷设置为“终止时删除”)

但是,如果它是“实例存储”,那么当实例启动时,您将丢失该驱动器上的数据。然后查看“根设备”和“块设备”,看看它们是否都与EBS卷关联。那很容易。当您(在启动时)将一个临时驱动器连接到一个实例时,会出现云,但控制台并不像其他EBS卷那样表示它。此外,您可能需要自己手动安装驱动器


您如何从AWS控制台轻松知道是否连接了临时驱动器?

这不是您想要听到的答案,但您无法从控制台分辨出来。正如您所指出的,要将数据写入临时驱动器,需要做两件事

1) 您需要实际安装该dev。对于任何开发人员,都无法从控制台判断这一点 2) 您需要通过AMI中的块映射将该dev公开给实例

您可以假设大多数(但不是所有)公共AMI将映射所有可能的临时驱动器(尽管hi1.8xl有24个),因此,您只需检查实例类型是否确实支持临时驱动器,因为许多实例类型不支持临时驱动器


如果希望避免使用临时驱动器,则应将部署限制在已创建并从块设备映射中删除任何临时驱动器的AMI上。

查看
/etc/cloud/cloud.cfg
-临时驱动器应在此处列出,如:

mounts:
 - [ ephemeral0, /media/ephemeral0, auto, "defaults" ]
 - [ swap, none, swap, sw, "0", "0" ]
然后在
/etc/fstab
中,您会看到如下条目:

/dev/sda2   /media/ephemeral0   auto    defaults,comment=cloudconfig    0   2

在任何ec2实例上,您都可以调用http服务来查询实例详细信息,例如查看附加的块设备映射:

curl http://169.254.169.254/latest/meta-data/block-device-mapping/
要查看特定设备的详细信息,请执行以下操作:

curl http://169.254.169.254/latest/meta-data/block-device-mapping/ephemeral2

您将获得此设备的映射,例如:
/dev/xvdb

哦-有一个DiskWriteBytes的cloudwatch度量,您可以从实例中使用它来查看是否有任何内容已写入临时磁盘!#cat/etc/cloud/cloud.cfg cat:/etc/cloud/cloud.cfg:没有这样的文件或目录我有那个配置文件,但它只显示挂载的文件系统。这无助于确定是否有临时磁盘连接到系统。这工作正常,应该是公认的答案。