繁体   English   中英

Amazon 上的 EC2 实例,我看到“磁盘上没有剩余空间”

[英]EC2 instance on Amazon and I am greeted with "No space left on the disk"

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

我做了df -f

输出:

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

我想增加亚马逊上 ec2 实例的空间。 有人可以帮我吗?

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

  1. 通过 ssh,检查根目录下的空间: $df -h
 Filesystem Size Used Avail Use% Mounted on /dev/xvde1 6G 6G 0G 100% / none 17G 0 17G 0% /dev/shm
  1. 从 aws 控制台,停止实例
  2. 从 aws 控制台,分离卷(尽管注意附件信息下的挂载点,例如/dev/sda1
  3. 从 aws 控制台,拍摄卷的快照
  4. 从 aws 控制台,使用快照创建一个新卷(使用实例类型的所有剩余空间,例如在我的 m2.2xlarge 案例中为 825gb)
  5. 从 aws 控制台,将新卷附加到原始挂载点 /dev/sda1
  6. 从 aws 控制台,重新启动实例,然后 ssh 回到实例
  7. 从 ssh 开始,在根文件系统上运行 resize2fs(参见步骤 1 中的df -h output)[可能不需要]

$resize2fs /dev/xvde1

  1. 等待几分钟,可能是 go 并注意你的好友正在停止所有根服务等,就像老板一样:)
  2. 观察新的海绵状坐骑:$df -h
 Filesystem Size Used Avail Use% Mounted on /dev/xvde1 813G 3.7G 801G 1% / none 17G 0 17G 0% /dev/shm

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

  1. 从 AWS 控制台,打开“弹性块存储/卷”
  2. Select 您的音量和修改音量(从操作按钮)
  3. 更改大小(例如 8 到 20gib)
  4. 单击修改。
  5. 从 EC2 仪表板重新启动。
  6. 检查大小由df -h更改

我有一个解决方案伙计们 yippeeee

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

1) 停止实例

2)分离根卷

3) 对卷进行快照

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

5) 将新卷附加到与原始卷相同的位置的实例

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

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

8) 重启

作为替代方案,您还可以启动一个新实例和 map 实例存储,或者您可以结合前面的两个步骤创建一个新的 ami。

  1. 使用du -a | sort -n查找最大的文件du -a | sort -n
  2. 停止某些服务,它们可能会阻止隐藏/删除的文件最终被删除。

我跳过了所有分离/快照/新卷的东西......只是调整了大小。

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 然后 resize2fs。 之后安装回原始 EC2 实例。

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

否则,您的解决方案对于从“EBS-Store”创建的那些 EC2 机器有效。 你可以用这样的机器做更多的事情。

  1. 更改终止类型
  2. 更改实例类型
  3. 从实例创建 AMI
  4. 轻松自动缩放。

不确定 AWS 是否添加了额外的步骤来扩展添加的磁盘空间,但以下命令对我有用:

按照答案直到社区维基第 6 步发布第 7 步按照以下步骤操作:

  1. 检查卷是否有分区。 使用 lsblk 命令
sudo lsblk

输出:

NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

xvda       202:0    0  20G  0 disk
└─xvda1    202:1    0   8G  0 part /
  1. 检查分区是否需要扩展。 在上一步的 lsblk 命令输出中,比较分区大小和卷大小。 如果分区大小小于卷大小,请继续执行下一步。 如果分区大小等于卷大小,则不能扩展分区。
  2. 扩展分区。 使用 growpart 命令并指定要扩展的分区。
sudo growpart /dev/xvda 1
  1. 验证分区是否已扩展。 使用 lsblk 命令。 分区大小现在应该等于卷大小
sudo lsblk

输出:

NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
xvda    202:0    0    20G  0 disk
└─xvda1 202:1    0    20G  0 part /

参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM