Amazon ec2 亚马逊上的EC2实例,我收到一个;磁盘上没有剩余空间”;

Amazon ec2 亚马逊上的EC2实例,我收到一个;磁盘上没有剩余空间”;,amazon-ec2,amazon-web-services,fedora,ec2-ami,Amazon Ec2,Amazon Web Services,Fedora,Ec2 Ami,我已经安装了AmazonEC2Fedora实例,并将文件从一个位置复制到另一个位置。 但我听到的是“磁盘上没有剩余空间” 我做了df-f 输出: Filesystem Size Used Avail Use% Mounted on /dev/sda1 15G 15G 0 100% / none 312M 0 312M 0% /dev/shm 我想增加amazon上ec2实例的空间。有人

我已经安装了AmazonEC2Fedora实例,并将文件从一个位置复制到另一个位置。 但我听到的是“磁盘上没有剩余空间”

我做了
df-f

输出:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              15G   15G     0 100% /
none                  312M     0  312M   0% /dev/shm

我想增加amazon上ec2实例的空间。有人能帮我吗?

我有一个解决方案

假设您使用的是linux AMI,那么您有一个简单的方法来增加文件系统的大小:

1) 停止实例

2) 分离根卷

3) 快照卷

4) 使用新大小从快照创建新卷

5) 将新卷附加到原始卷所在位置的实例

6) 启动实例,停止除ssh之外的所有服务,并将根文件系统设置为只读

7) 如果需要,放大文件系统(例如使用resize2fs)和/或分区

8) 重新启动


或者,您也可以启动一个新实例并映射实例存储,或者您可以结合前面两个步骤创建一个新ami。

当EC2实例是从“EBS存储”而不是“实例存储”创建时,您的案例是有效的。从“实例存储”创建的EC2实例将始终为/mnt目录分配巨大的空间(大约200GB+)

否则,您的解决方案对从“EBS存储”创建的EC2计算机有效。你可以用这种机器做更多的事情

  • 更改终止类型
  • 更改实例类型
  • 从实例创建AMI
  • 自动缩放容易

  • 这里有一个更简单的方法。(我的m2.2xlarge实例是用RedHat Linux 6.2创建的,我发现它的可用容量只有850gb,只有6gb):

  • 通过ssh,检查根目录下的空间:
    $df-h
  • 从aws控制台停止实例
  • 从aws控制台分离卷(注意附件信息下的装入点,例如
    /dev/sda1
  • 从aws控制台,拍摄卷的快照
  • 从aws控制台,使用快照(使用所有剩余的 实例类型的空间,例如我的m2.2x大箱中的825gb)
  • 从aws控制台,将新卷连接到原始装载点/dev/sda1
  • 从aws控制台,重新启动实例,并将ssh返回到实例中
  • 从ssh,在根文件系统上运行resize2fs(参见步骤1中的
    df-h
    output)[可能不需要]
  • $resize2fs/dev/xvde1

  • 等几分钟,可能去看看你的朋友是谁 像老板一样停下来:)
  • 观察新的洞穴式底座:$df-h
  • 使用
    du-a | sort-n
  • 停止某些服务,它们可能会阻止隐藏/删除的文件最终被删除

  • 我跳过了所有的分离/快照/新卷内容。。。刚刚调整了尺寸

    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/sda1              5904748   4725152   1119608  81% /
    none                  15728640         0  15728640   0% /dev/shm
    [root@ip-10-25-6-214 ~]# resize2fs /dev/sda1
    resize2fs 1.39 (29-May-2006)
    Filesystem at /dev/sda1 is mounted on /; on-line resizing required
    Performing an on-line resize of /dev/sda1 to 31457280 (4k) blocks.
    

    我在另一个EC2实例上挂载了磁盘,在那里我可以成功地使用growpart,然后调整2FS的大小。然后装载回原始EC2实例

    修改卷大小。从AWS控制台,您可以修改卷的大小

  • 从AWS控制台打开“弹性块存储/卷”
  • 选择您的卷并修改卷(从“操作”按钮)
  • 改变尺寸(例如8到20gib)
  • 单击“修改”
  • 从EC2仪表板重新启动
  • 检查尺寸由
    df-h更改


  • 这个答案是不准确的;临时卷大小根据实例大小和AMI类型而变化,而不仅仅是根据基本(实例或ebs存储)启动类型而变化。此外,答案实际上并没有解决问题中提出的问题,应该是一个评论,而不是一个答案。嗨,欢迎这么做。回答问题时,请添加有关您的解决方案的更多信息,以便其他人可以轻松复制您的步骤。此答案位于低质量帖子审阅队列中,因为它只是代码,没有解释。请通过解释代码的作用以及如何回答问题来改进您的答案。请阅读。对我来说非常好,甚至不需要resize2fs部分。谢谢很好的解决方案。工作起来很有魅力。步骤8是不必要的。我现在遵循这个答案,无法访问我的EC2实例。这是说该网站无法访问。有人知道我错在哪里吗?即使重新连接了卷,我仍然无法做任何事情(因为没有空间)。在执行
    sudo apt get autoclean
    之后,我终于能够运行
    sudo growpart/dev/nvme0n1 1
    IP是否会更改?如果是私有IP,则是。如果是公共IP,那么不是。我相信停止实例会改变公共IP。如果您需要保留IP,请在执行这些步骤之前进行研究。使用弹性IP阻止其在重新启动时更改。对于任何未来的搜索者,这里是。在较新的基于Nitro的系统上,这是我必须做的。如果我试图运行
    growpart
    在EBS修改菜单中没有
    重新启动
    选项,我将收到一个错误
    设备上没有剩余空间
    !您可以从EC2仪表板重新启动它。单击操作按钮、实例状态,然后重新启动。干杯这似乎是解决磁盘已满问题的最简单、风险较小的方法。我试过了,成功了!需要注意的一点是,我的EC2不会重新启动,因为它太满了,我必须先执行实例状态>停止,然后执行实例状态>启动。我认为,如果您增加EBS卷,它将重新创建实例
    Filesystem            Size  Used   Avail Use%   Mounted on
    /dev/xvde1            813G  3.7G    801G   1%     /
    none                   17G     0     17G   0%     /dev/shm
    
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/sda1              5904748   4725152   1119608  81% /
    none                  15728640         0  15728640   0% /dev/shm
    [root@ip-10-25-6-214 ~]# resize2fs /dev/sda1
    resize2fs 1.39 (29-May-2006)
    Filesystem at /dev/sda1 is mounted on /; on-line resizing required
    Performing an on-line resize of /dev/sda1 to 31457280 (4k) blocks.