访问 EC2 实例上的存储?

访问 EC2 实例上的存储?

我正在使用一个大型 EC2 实例,但刚刚意识到我没有承诺的空间。它说我应该有 850 GB,但我只得到了 8 GB。

据我所知,应该有两个额外的 420 GB 驱动器可供我格式化/安装到设置中,但我似乎找不到它。如果我在 dev 目录中查找,它就在那里。我尝试输入“df -h”,但它也没有出现。

我需要做些什么才能访问驱动器?

如果有帮助的话,我正在使用标准的亚马逊 Linux 映像。

答案1

要访问 Amazon 随 EC2 实例提供的临时(实例存储)存储,您需要在启动实例时定义它。使用 EC2 命令行工具,您需要做的就是包含 -b 或 --block-device-mapping 选项标志。

例如,此命令将在 us-east-1a 中启动单个 m1.large 实例,其中 ephemeral0 和 ephemeral1 分别映射到 sdb1 和 sdb2,并具有以下选项:

  • 酰胺
  • (-n) 启动的实例数
  • (-t)实例类型
  • (-z)可用区域
  • (-b)块设备映射
  • (-g)安全组
  • (-k)键名称

-

ec2-run-instances ami-id -n 1 -t m1.large -z us-east-1a -b "/dev/sdb1=ephemeral0" -b "/dev/sdb2=ephemeral1" -g security_group -k key_name

然后您可以格式化并安装设备。(对每个设备重复一次每个命令)

sudo mkfs /dev/sdb[1..n]

sudo mkdir -p /media/ephemeral[0...n]

然后,您可以将以下两行添加到您的 /etc/fstab(随意调整您的挂载选项、文件系统等)

/dev/sdb1   /media/ephemeral0 auto defaults,comment=cloudconfig 0 2
/dev/sdb2   /media/ephemeral1 auto defaults,comment=cloudconfig 0 2

并安装设备

sudo mount /media/ephemeral0
sudo mount /media/ephemeral1

或者,只挂载设备而不将这些设备添加到 fstab 文件中

sudo mount -t ext3 /dev/sdb1 /media/ephemeral0
sudo mount -t ext3 /dev/sdb2 /media/ephemeral1

核实

df -h

示例输出:

[ec2-user@ip-10-251-159-223 media]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  883M  7.0G  12% /
tmpfs                 3.7G   48K  3.7G   1% /dev/shm
/dev/xvdb1            414G  199M  393G   1% /media/ephemeral0
/dev/xvdb2            414G  199M  393G   1% /media/ephemeral1
[ec2-user@ip-10-251-159-223 media]$

顺便说一句,一旦你自定义了实例,就可以基于此实例创建自己的 AMI,并且无论何时从生成的 AMI 启动实例,临时存储都已配置完毕。

另外,请查看 AWS 网站上提供的文档。

Amazon 命令行工具文档

祝你好运!

答案2

额外的空间应安装在 下/mnt。但请记住,如果您终止实例,其上的所有内容都将消失,因此如果您想保留数据,则需要执行额外的步骤。例如,您可能希望创建额外的 EBS 卷,每次启动实例时安装它并将所有持久数据保存在其中。我个人仅将 /mnt 中的空间用于临时文件。

答案3

如果您在根卷上特别看到此情况,需要注意的一点是,某些 AMI 似乎没有正确设置其 cloud-init 脚本来扩展您的根 FS 以填充可用空间。例如,AMI 最初使用 8 GiB 根卷创建,您在创建新实例时将其更改为更大的大小,但运行时df -h它仍然只显示 8 GiB。

我曾经在一些 CentOS AMI 上看到过这种情况,但是我有一段时间没有使用它了,所以不确定这是否仍然是一个常见问题。

在这些情况下,手动在线调整大小通常可以解决问题。

首先,检查你的根文件系统 (/dev/xvda) 是否使用整个磁盘 (/dev/xvda1): mount -l|grep 'on / '

假设它使用了整个磁盘(xvda),您可以尝试在线调整大小:resize2fs /dev/xvda...然后重试df -h并与最近的同事/家人击掌。

在其他情况下...我认为我从未见过这种情况,当安装过程实际上已对磁盘进行分区时。尝试一下不会有什么坏处resize2fs /dev/xvda1,但我怀疑您需要先扩展分区的大小才能执行任何操作。最好的选择是类似parted

相关内容