访问 EC2 实例上的存储?

Los*_*oul 7 linux amazon-ec2 amazon-web-services

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

据我了解,我应该可以使用两个额外的 420 GB 驱动器来格式化/安装以进行设置,但我似乎找不到它。如果我查看 dev 目录,它不存在。我试图输入“df -h”,但它也没有出现。

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

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

Ala*_*anZ 8

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

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

  • ami-id
  • (-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
Run Code Online (Sandbox Code Playgroud)

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

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

sudo mkdir -p /media/ephemeral[0...n]
Run Code Online (Sandbox Code Playgroud)

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

/dev/sdb1   /media/ephemeral0 auto defaults,comment=cloudconfig 0 2
/dev/sdb2   /media/ephemeral1 auto defaults,comment=cloudconfig 0 2
Run Code Online (Sandbox Code Playgroud)

并挂载设备

sudo mount /media/ephemeral0
sudo mount /media/ephemeral1
Run Code Online (Sandbox Code Playgroud)

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

sudo mount -t ext3 /dev/sdb1 /media/ephemeral0
sudo mount -t ext3 /dev/sdb2 /media/ephemeral1
Run Code Online (Sandbox Code Playgroud)

核实

df -h
Run Code Online (Sandbox Code Playgroud)

示例输出:

[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]$
Run Code Online (Sandbox Code Playgroud)

顺便说一下,一旦你自定义了你的实例。基于此实例创建您自己的 AMI,每当您从生成的 AMI 启动实例时,临时存储都将已配置。

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

Amazon 命令行工具文档

祝你好运!