AMI AWS设备上没有剩余空间

我在AWS上有一个小的AMI实例。 文件说我应该有160G。 我无法下载任何东西到服务器,因为我得到以下错误:

write error: No space left on deviceMiB | 276 KiB/s 

$ df -h

 Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 8.0G 0 100% / tmpfs 830M 0 830M 0% /dev/shm 

我的160G在哪里?

简而言之,临时存储与启动时的实例无关。

根据文档 ,可以为一个m1.small实例提供150GB的临时存储空间。 但是,在很多情况下(尤其是那些具有EBS根卷的实例),您会发现默认情况下不会附加此额外存储。

典型的安装程序可能有一个根卷,一个交换分区和临时存储。 请记住,Amazon提到的150GB的存储是短暂的 – 也就是说,如果机器停止,终止或崩溃,它将不会持续存在。

临时磁盘被标记为临时[0-3](取决于实例大小)。 启动后,您不能将这些附加到实例上。 (另一方面,您可以在运行时将EBS卷添加到实例中)。 必须在发射时添加短暂的音量 – 作为注册的AMI的一部分,或作为发射命令的一部分。 临时磁盘被指定为块设备映射的一部分。 所以,基本上,你可以:

  1. 启动显式指定临时磁盘映射的实例

      ec2-run-instances ami-1a2b3c4d -b / dev / xvdb = ephemeral0 
  2. 注册新的AMI,明确指定临时磁盘映射

      ec2-register -n Image_Name -d Image_Description --root-device-name / dev / xvda1 -b / dev / xvda1 = snap-1a2b3c4d -b / dev / xvdb = ephemeral0 

(在上面的第二个示例中,我已经使用快照作为基础卷的映像,以使其成为EBS支持的实例)

请注意,在这两种情况下,块设备将不会自动挂载(除非您修改您的fstab ),尽pipe它们会立即显示在/proc/partitions (或使用fdisk -l )。