AWS实例中的磁盘空间不足’/’

我正在AWS云上为我的Web服务器运行Ubuntu 11.04实例,现在我的服务器/分区中没有磁盘空间。 df -ah说这个

Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.9G 7.8G 97M 99% / proc 0 0 0 - /proc none 0 0 0 - /sys fusectl 0 0 0 - /sys/fs/fuse/connections none 0 0 0 - /sys/kernel/debug none 0 0 0 - /sys/kernel/security none 3.7G 112K 3.7G 1% /dev none 0 0 0 - /dev/pts none 3.7G 0 3.7G 0% /dev/shm none 3.7G 80K 3.7G 1% /var/run none 3.7G 0 3.7G 0% /var/lock /dev/xvdb 414G 16G 377G 4% /mnt 

现在我尝试了这些东西,以便在/ partition上获得额外的空间

  • 清理Apache的所有日志文件。
  • 从服务器中删除所有不必要的文件。
  • 主目录清理。

但我还是没有足够的空间。 此实例类型为m1.large,带有8GB EBS。 现在我得到/ dev / xvdb中有足够的磁盘空间。

有没有办法可以分配一些磁盘空间到// dev / xvdb或任何其他方式。 请建议我可能的解决方案。是否可以与另一个实例使用相同的/ dev / xvdb分区。

答案是双重的。

解决方法:将/ dev / xvdb(/ mnt)用于临时数据

这就是您所谓的Amazon EC2实例的短暂存储,其特性与其他地方使用的持久性Amazon EBS存储的特征截然不同。 特别是,这个短暂的存储将在停止/启动周期中丢失,并且通常可以消失 ,所以你绝对不希望在那里放置任何持久价值,即只将临时数据放在那里你可以承受丢失或重建容易 ,像交换文件或严格在计算过程中使用的临时数据。 当然,您可能会在那里存储大量索引,但必须准备好在因任何原因(实例重新启动,硬件故障,…)清除存储后重建这些索引。

解决方案:调整/ dev / xvda1(/)以获得所需的存储空间

这就是您的Amazon EBS支持的 EC2实例的所谓根设备存储 ,这有利于Amazon EBS的灵活性和持久性,即数据放置在相当安全的地方并且能够在实例故障中幸存下来; 通过定制存储在Amazon S3上的EBS卷的快照,您可以进一步提高灵活性和耐用性,具有众所周知的99.999999999%耐久性。

此快照function使您可以依次解决您的问题,只要您可以将当前的8GB EBS根存储(/ dev / xvda1)替换为您想要的更大或更小的存储。 Eric Hammond 在运行的EBS引导EC2实例上调整根磁盘大小的优秀文章中概述了该过程:

只要您在EC2实例(几分钟)上有一点停机时间,就可以使用更大的副本更改根EBS卷,而无需启动新实例。

如果你正确地准备了他描述的步骤(我强烈建议首先使用丢弃的EC2实例来测试它们以熟悉程序,或者通过定制的脚本自动化它),你应该能够完成一些过程。确实只有几分钟的停机时间

大多数概述的步骤也可以通过AWS管理控制台执行,这避免了处理Amazon EC2 API工具 ; 这归结为:

  • 停止(不终止!)EC2实例
  • 从已停止的实例中分离EBS卷
  • 创建分离的EBS卷的快照
  • 从创建的快照创建新的(更大的)EBS卷
  • 将新的EBS卷附加到EC2实例( 重要 !如果这是您的根设备,请确保将其命名为实例的根设备,例如(/ dev / sda1)或(/ dev / xdva1)否则它将作为块设备而不是根设备附加,并且您将无法启动实例,因为没有为该实例列出根设备。)
  • SSH进入正在运行的实例并通过df -ah确认一切df -ah
    • 如果您的系统没有自动调整文件系统的大小,您需要手动执行此操作,如Eric的文章中所述

祝好运!


替代

鉴于这些EBS卷的多function性和易用性,另一个选择是将更多EBS卷附加到您的实例,并在那里移动明显可分离的关注区域。

例如,我们使用了几个非常重量级的Java应用程序,每个版本消耗1-2GB的存储空间; 为了简化升级版本并且通常能够根据我的判断将这些应用程序移动到不同的实例,我将它们分别放在专用的EBS卷上,将它们安装到实例并将它们软链接到所需的位置,例如通常是/var/lib///usr/local//

使用此方法,我们当前正在运行EC2实例,其中根设备存储仍然保持其默认大小8GB(就像您的一样),但有时也会连接多达8个不同大小(1-15GB)的EBS卷。

您需要了解潜在的网络性能问题,因为所有这些EBS卷都在为其I / O使用完全相同的LAN,这可能会产生相应的性能提升,或者在极端情况下使您的网络饱和 – 因此通常这取决于关于用例和工作量。

是一个简单的方法来fstab它,然后将其挂载到/ var / www / html / files2 /

然后mkdir / var / www / html / files2 / website然后ln -s -d / var / www / html / website / var / www / html / files2 / website