【问题标题】:AWS ec2 root volume increase: Expanding elastic root volume on aws ubuntu instance not workingAWS ec2 根卷增加:在 aws ubuntu 实例上扩展弹性根卷不起作用
【发布时间】:2017-07-16 21:22:26
【问题描述】:

我关注了aws doc for expanding elastic root volume 我的根卷大小从 8 GB 增加到 20 GB,我使用 lsblk 确认了这一点。

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

但更新后的大小并未反映在df -h 命令中,即使在我使用sudo resize2fs /dev/xvda1 命令显式调整设备大小后,因为我的文件系统类型是ext4,我使用sudo file -s /dev/xvd* 命令检查了它。 sudo resize2fs /dev/xvda1 命令给出以下输出:-

sudo resize2fs /dev/xvda1 resize2fs 1.42.12(2014 年 8 月 29 日) 文件系统已经有 2096635 (4k) 个块长。无事可做!

让我知道,我需要做什么才能让操作系统拾取我的卷中的大小。

谢谢

【问题讨论】:

标签: linux amazon-web-services ubuntu amazon-ec2 amazon-ebs


【解决方案1】:

你输出的原因是因为你少了一个步骤。

resize2fs 程序不操纵分区的大小。如果你想扩大一个文件系统,你必须确保你可以先扩大底层分区的大小......https://linux.die.net/man/8/resize2fs

一旦您通过使用 AWS 控制台 (UI) 或使用命令行 aws ec2 modify-volume --volume-id ID_OF_DEVICE --size NEW_SIZE (modify volume command line documentation) 增加了卷的大小

您仍然需要告诉操作系统您要分配更多空间到分区(在本例中为根分区/) 所以让它工作的正确顺序如下所示:

扩展分区表中的分区以填充可用空间

(1) sudo growpart /dev/xvda 1 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/expand-linux-partition.html

扩展一个 ext2、ext3、ext4 文件系统

(2)sudo resize2fs /dev/xvda1

更多关于AWS recognizing expanded volume

【讨论】:

  • 这应该是接受的解决方案,因为您缺少的命令是 sudo growpart /dev/xvda 1, @Amit Khandelwal
  • 就我而言,resize2fs 正在抛出 Bad magic number in super-block while trying to open /dev/xvda1。但是当我使用xfs_growfs 时,它运行良好。
  • 上面的答案与ext文件系统有关。在您的情况下,文件系统是XFS,这就是它起作用的原因。更多信息:docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
  • 这对我有用。
【解决方案2】:

我的解决方案

我不了解你们,但我能够将 30GB 添加到我原来的 8GB Ubuntu EC2 实例,然后我进入 EC2 控制台管理器并右键单击我的 Instance,然后按 重启。

在我重新启动并通过 SSH 连接回服务器后,我输入了 df -h,发现我的根分区 (/dev/xvda1) 大小为 38GB。

【讨论】:

  • 请仅在答案中添加答案,如果您有其他问题,请使用提问界面提问。
  • 同样的事情发生在我身上。当我的服务器崩溃时,我距离放弃并阅读所有 AWS 文档以增加我的根目录还有几天的时间。我重新启动它,突然我已经添加到实例中的额外 GB 已添加到我的根分区。我遇到过的最好的服务器崩溃。
  • 对我来说也一样 - 重新启动并获得额外的 GB。
  • 我也面临同样的问题。刚刚重新启动,它对我有用
  • 这里相同 - 我尝试按照所有步骤操作,但它们不起作用。直到我重新启动,我才看到增加。
【解决方案3】:

/dev/xvda1 是 20 GiB 设备上的 8 GiB 分区,卷上没有其他分区。在这种情况下,分区必须是 resized 才能使用卷上的剩余空间。

调整分区大小后,您可以扩展文件系统(通过sudo resize2fs /dev/xvda1)以占用分区上的所有空间。

【讨论】:

  • 我浏览了你提到的文档,但是过程非常复杂,如果有任何易于遵循的命令/文档,它将很有用。我相信很多人都面临过这个问题并且迷失在复杂的文档中。
  • 我同意现阶段根分区的过程可能很复杂。甚至 AWS 也承认:“如果您需要调整大小的分区是实例的根分区,则过程会变得更加复杂......”。不过,我确实希望 AWS 将来能让我们的流程变得更简单。
  • 希望如此,接受这个答案,因为这是目前最好的答案。
  • 程序的复杂性与 AWS 完全无关。使用根卷对引导磁盘进行重新分区——除了通常是错误的解决方案之外——本质上是一项复杂的任务。
【解决方案4】:

玩得开心 9 步............

分离根卷并为更安全的一面拍摄根卷的快照并调整其大小。调整大小后,将此卷挂载到 /dev/sda1 下的 your_instance 通过运行“lsblk”和“df -h”命令确保文件系统完全扩展到根卷。 如果更改没有反映运行,“resize2fs -f”

更多细节参考,

Steps to increase the root volume

【讨论】:

  • 也许您可以总结您在此处提供的链接中的步骤。这样,如果链接失效,您的答案仍然有用。
  • 感谢您的 cmets 斯蒂芬。我认为现在它很有用。
猜你喜欢
  • 2015-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-29
  • 1970-01-01
  • 2017-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多