gid*_*eon 11 storage amazon-ec2 amazon-ebs
这可能是一个愚蠢的问题,请原谅我的无知。
我有一个这样运行的实例:
Root Device : 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)
Run Code Online (Sandbox Code Playgroud)
And*_*w S 13
Ephemeral 和 ebs 设备几乎可以使用任何带字母的设备文件名,因此不要仅仅依赖于设备名称。但是,正如我将在下面概述的那样,设备名称对于确定它是否是短暂的很重要。依赖带有“ephemeral”或“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' 名称运行 #3,如果有的话(例如ebs2
),将产生类似的输出。
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 的包段的名称和路径)。在我检查过的情况下,当针对和实例存储 ami 运行时,上面 #6 的结果类似于:
someamibucketname/someamidescription/someamidescription.manifest.xml
而当 #6 对 EBS 支持的 AMI 运行时,您会得到:
(unknown)
根设备是您的“/”。在本例中,它是 /dev/xvda1 并且是 EBS 驱动器。
据我所知,临时设备是:
您始终可以使用 AWS UI 检查哪些设备是 EBS 驱动器:EC2 -> 实例 -> [选择您的] -> 块设备
归档时间: |
|
查看次数: |
11300 次 |
最近记录: |