EC2增加大小后无法resize

我已经按照步骤调整EC2卷的大小

  1. 停止实例
  2. 拍了当前的卷的快照
  3. 在相同区域中使用较大尺寸的前一个快照创build了一个新卷
  4. 从实例中取出旧卷
  5. 将新卷连接到同一个挂载点上的实例

旧卷是5GB,我创build的是100GB现在,当我重新启动实例并运行df -h I仍然看到这个

 Filesystem Size Used Avail Use% Mounted on /dev/xvde1 4.7G 3.5G 1021M 78% / tmpfs 296M 0 296M 0% /dev/shm 

这是我运行时得到的

 sudo resize2fs /dev/xvde1 The filesystem is already 1247037 blocks long. Nothing to do! 

如果我运行cat /proc/partitions我看到

  202 64 104857600 xvde 202 65 4988151 xvde1 202 66 249007 xvde2 

根据我的理解,如果我遵循正确的步骤xvde应该有相同的数据xvde1,但我不知道如何使用它

我怎样才能使用新的卷或卸载xvde1和安装xvde呢?

我不明白我做错了什么

我也试过sudo ifs_growfs /dev/xvde1

 xfs_growfs: /dev/xvde1 is not a mounted XFS filesystem 

顺便说一句,这是一个带有centos 6.2 x86_64的linux系统

在此先感谢您的帮助

谢谢你,威尔曼你的命令工作正常,如果我们把EBSs增加到更大的尺寸,需要考虑一些小的改进

  1. 停止实例
  2. 从卷创build一个快照
  3. 根据增加大小的快照创build一个新的卷
  4. 检查并记住当前的卷装入点(即/dev/sda1
  5. 分离当前音量
  6. 将最近创build的卷附加到实例,设置确切的安装点
  7. 重新启动实例
  8. 通过SSH访问实例并运行fdisk /dev/xvde

    警告:DOS兼容模式已被弃用。 强烈build议closures模式(命令'c')并将显示单位改为扇区(命令'u')

  9. 点击p显示当前分区

  10. d删除当前分区(如果有多个分区,则必须一次删除一个分区)注意:不要担心数据不会丢失
  11. n创build一个新的分区
  12. p设置为主
  13. 1设置第一个圆柱体
  14. 设置所需的新空间(如果为空,则保留整个空间)
  15. 一个 ,使其可启动
  16. 1w来写更改
  17. 重新启动实例或使用partprobe (来自分割包)来告诉内核有关新的分区表
  18. 通过SSHlogin并运行resize2fs / dev / xvde1
  19. 最后检查运行df -h的新空间

没有必要停止实例和分离EBS卷来调整它的大小了!

2017年2月13日亚马逊宣布:“ 亚马逊EBS更新 – 新的弹性卷改变一切 ”

即使要扩展的卷是正在运行的实例的根卷,该过程仍然有效!


假设我们要将Ubuntu的启动驱动从8G提高到16G“即时”。

步骤1)login到AWS Web控制台 – > EBS – >右键单击想要调整的大小 – >“修改卷” – >更改“大小”字段,然后单击[修改]button

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明


步骤2)ssh进入实例并调整分区大小:

让我们列出连接到我们的盒子的块设备:

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

正如你可以看到/ dev / xvda1仍然是16 GiB设备上的8 GiB分区,卷上没有其他分区。 我们使用“growpart”将8G分区调整为16G:

 # install "cloud-guest-utils" if it is not installed already apt install cloud-guest-utils # resize partition growpart /dev/xvda 1 

让我们来看看结果(你可以看到/ dev / xvda1现在是16G):

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

很多的答案build议使用fdisk删除/重新创build分区,这是讨厌的,有风险的,容易出错的过程,特别是当我们改变启动驱动器。


步骤3)调整文件系统的大小,以充分利用新的分区空间

 # Check before resizing ("Avail" shows 1.1G): df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.8G 6.3G 1.1G 86% / # resize filesystem resize2fs /dev/xvda1 # Check after resizing ("Avail" now shows 8.7G!-): df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 16G 6.3G 8.7G 42% / 

所以我们有零宕机时间和大量的新空间来使用。
请享用!

[解决了]

这是必须要做的

  1. 停止实例
  2. 从卷创build一个快照
  3. 根据增加大小的快照创build一个新的卷
  4. 检查并记住当前的卷装入点(即/ dev / sda1)
  5. 分离当前音量
  6. 将最近创build的卷附加到实例,设置确切的安装点
  7. 重新启动实例
  8. 通过SSH访问实例并运行fdisk /dev/xvde
  9. 点击p显示当前分区
  10. d删除当前分区(如果有多个分区,则必须一次删除一个分区)注意:不要担心数据不会丢失
  11. n创build一个新的分区
  12. p设置为主
  13. 1设置第一个圆柱体
  14. 设置所需的新空间(如果为空,则保留整个空间)
  15. 一个 ,使其可启动
  16. 1w来写更改
  17. 重新启动实例
  18. 通过SSHlogin并运行resize2fs /dev/xvde1
  19. 最后检查运行df -h的新空间

就是这个

祝你好运!

上面的jperelli的评论。

今天我面临同样的问题。 AWS文档没有明确提及growpart。 我想通了很困难的方式,实际上这两个命令在Ubuntu上使用M4.large&M4.xlarge完美工作

 sudo growpart /dev/xvda 1 sudo resize2fs /dev/xvda1 
  1. login到AWS Web控制台 – > EBS – >右键单击想要调整的大小 – >“修改卷” – >更改“大小”字段,然后单击[修改]button

  2. growpart /dev/xvda 1

  3. resize2fs /dev/xvda1

这是Dmitry Shevkoplyas的答案的切入点。 AWS文档不显示growpart命令。 这适用于Ubuntu的AMI。

你在这个卷上做了一个分区吗? 如果你这样做,你将需要首先增加分区。

可启动标志(a)在我的情况下(EC2,centos6.5)没有工作,所以我不得不从快照重新创build卷。 重复所有步骤除了可启动标志 – 一切工作完美,所以我能resize2fs后。 谢谢!

这将为xfs文件系统运行这个命令

 xfs_growfs / 

上面没有足够的代表评论; 但是请注意,根据上面的注释,如果从1开始,则可能会损坏您的实例; 如果您在启动fdisk之后点击'u',然后用'p'列出分区,这实际上会给您正确的开始号码,所以您不会损坏音量。 对于6.5 AMI而言,上面提到的2048对我来说也是正确的。

谢谢@Dimitry,它像一个小小的变化,以匹配我的文件系统的魅力。

来源: http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux

然后使用以下命令replace文件系统的安装点(必须装入XFS文件系统才能调整它们的大小):

 [ec2-user ~]$ sudo xfs_growfs -d /mnt meta-data=/dev/xvdf isize=256 agcount=4, agsize=65536 blks = sectsz=512 attr=2 data = bsize=4096 blocks=262144, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 262144 to 26214400 

注意如果您收到xfsctl失败:无法分配内存错误,您可能需要更新您的实例上的Linux内核。 有关更多信息,请参阅您的特定操作系统文档。 如果您收到一个文件系统已经是nnnnnnn块长。 没事做! 错误,请参阅扩展Linux分区。