我如何找出ec2存储的哪一部分是短暂的


10

请原谅我的无知,这可能是一个愚蠢的问题。

我有一个这样运行的实例: AWs控制台

根设备:EBS是否意味着我的整个系统都在EBS上?

我在这里配置了apache和perl应用程序,我所有的配置和文件都不会消失,对吗?

我如何知道临时存储上正在运行的内容以及EBS上正在运行的内容?如果单击管理控制台中的实例并查看底部的详细信息,则它表示:EBS Optimized: false这到底是什么意思?

这是我的存储空间:

[ec2-user@<MY_IP> ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  1.7G  6.2G  22% /
tmpfs                 298M     0  298M   0% /dev/shm

[ec2-user@<MY_IP> ~]$ mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

2
t1.micro实例没有任何临时存储,只有m1.small或更高版本具有。
13年

很好。不知道 难怪我看不到任何选择。
吉迪恩

Answers:


4

根设备是您的“ /”。在这种情况下,它是/ dev / xvda1,它是EBS驱动器。

临时设备是(据我所知):

  • sdb(xvdb)
  • sdc(xvdc)
  • sdd(xvdd)
  • sde(xvde)

您始终可以使用AWS UI检查哪些设备是EBS驱动器:EC2->实例-> [选择您的]->阻止设备


太棒了 谢谢:)请告诉我所有的sysfs1devpt并没有什么。
gideon

1
tmpfs与ramfs类似,并允许将文件保留在快速RAM中。devpts和sysfs是“虚拟” Linux文件系统,它们提供对某些内核数据的访问。您可以在Google上查看更多-有关它们的文章很多。
Tomasz Olszewski 2013年

xvda1 Xvdd xvdc xvdb这些是EBS卷。你怎么能说这些是短暂的?

3
上面的答案是不正确的,不应将其视为“答案”
Andrew S

这是错的!
eyeApps LLC

12

临时设备和ebs设备几乎可以使用任何带字母的设备文件名,因此不要仅依靠设备名。设备名称对于确定它是否短暂是很重要的,但是,正如我将在下面概述的那样。同样,依靠带有“临时”或“ ebs”一词的安装点名称也不可靠。

尽管其中一些可以通过EC2 GUI来完成,但是仍然需要在服务器本身上运行一些命令,因此在这里,我只为您提供“所有命令行”方法。我将以m3.medium CentOS最低6.5实例存储(即临时)支持的AMI为例。

1)使用以下命令安装wget实用程序 yum install -y wget

2)跑 wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ -O -

在此示例中,实例存储支持AMI-上面命令#2的输出为:

ami ephemeral0

为了进行比较,以下是仅具有EBS卷(无临时驱动器)的EBS支持的CentOS服务器的示例输出:

ami ebs2 ebs3

稍后,我将返回具有EBS卷的EBS支持的实例。现在,让我们继续原始的实例存储支持的AMI示例,该示例向我们展示了一个临时驱动器。

要找出哪个设备文件映射到您的临时驱动器,请再次运行wget,这一次将上面#2中发现的临时驱动器的名称添加到url中:

3) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 -O -

并且,在此示例中,输出为/是:

sdb

这强调了我的观点,即您不能假设/ dev / sdb到/ dev / sde都是ebs设备。这可能是真实的的/ dev / xvdb通过的/ dev / xvde是EBS -但我的系统总是以/ dev / xvde1开始,所以这些设备的信件的存在可能取决于操作系统,区域,AMI等,你正在使用。顺便说一句,您可以对'ebs'名称(如果有的话,例如ebs2)运行#3 ,并且将产生类似的输出。

4)接下来,运行 lsblk

在这种情况下,输出如下所示:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvde1 202:65 0 8G 0 disk / xvdf 202:80 0 4G 0 disk

这从上面强调了我的观点,即您不能依靠安装点来告诉您设备是否为临时设备。

您还将注意到,EC2设备卷号和操作系统的映射号之间的映射不匹配。好消息是,即使驱动器号本身不匹配,驱动器号也将以相同的顺序递增。因此,让我们从设备映射元数据中获取“其他”驱动器号。正如您在上面看到的,有两个设备映射,一个称为ami,另一个称为ephemeral0。我们已经检查了ephemeral0,因此让我们检查ami:

5) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ami -O -

输出如下:

sda1

我们可以放心地得出结论,OS映射中的最低字母是EC2块设备映射中的最低字母,我们可以从那里向上递增。从而:

/dev/sda1 = /dev/xvde1/dev/sdb = /dev/xvdf

最后但并非最不重要的一点 -您会注意到,块设备映射ami不会立即将其自身提供给EBS支持还是实例存储支持。我们还有一个命令要运行。

6) wget -q 169.254.169.254/latest/meta-data/ami-manifest-path -O -

确信 EBS支持的AMI没有清单路径,因为只有实例存储卷才具有清单(清单列出了S3中AMI捆绑段的名称和路径)。在我检查过的情况下,针对#6和实例存储ami运行时,上面#6的结果类似于:

someamibucketname/someamidescription/someamidescription.manifest.xml

相反,当针对EBS支持的AMI运行#6时,您会得到:

(unknown)


1

sudo lsblk应该给你一些提示。IE浏览器

[ec2-user@ec2-host ~]$ sudo lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk 
└─xvda1 202:1    0   8G  0 part /
xvdb    202:16   0   4G  0 disk /media/ephemeral0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.