EC2增加大小后无法resize
我已经按照步骤调整EC2卷的大小
- 停止实例
- 拍了当前的卷的快照
- 在相同区域中使用较大尺寸的前一个快照创build了一个新卷
- 从实例中取出旧卷
- 将新卷连接到同一个挂载点上的实例
旧卷是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增加到更大的尺寸,需要考虑一些小的改进
- 停止实例
- 从卷创build一个快照
- 根据增加大小的快照创build一个新的卷
- 检查并记住当前的卷装入点(即
/dev/sda1
) - 分离当前音量
- 将最近创build的卷附加到实例,设置确切的安装点
- 重新启动实例
-
通过SSH访问实例并运行
fdisk /dev/xvde
警告:DOS兼容模式已被弃用。 强烈build议closures模式(命令'c')并将显示单位改为扇区(命令'u')
-
点击p显示当前分区
- 按d删除当前分区(如果有多个分区,则必须一次删除一个分区)注意:不要担心数据不会丢失
- 打n创build一个新的分区
- 打p设置为主
- 打1设置第一个圆柱体
- 设置所需的新空间(如果为空,则保留整个空间)
- 打一个 ,使其可启动
- 打1和w来写更改
- 重新启动实例或使用
partprobe
(来自分割包)来告诉内核有关新的分区表 - 通过SSHlogin并运行resize2fs / dev / xvde1
- 最后检查运行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% /
所以我们有零宕机时间和大量的新空间来使用。
请享用!
[解决了]
这是必须要做的
- 停止实例
- 从卷创build一个快照
- 根据增加大小的快照创build一个新的卷
- 检查并记住当前的卷装入点(即/ dev / sda1)
- 分离当前音量
- 将最近创build的卷附加到实例,设置确切的安装点
- 重新启动实例
- 通过SSH访问实例并运行
fdisk /dev/xvde
- 点击p显示当前分区
- 按d删除当前分区(如果有多个分区,则必须一次删除一个分区)注意:不要担心数据不会丢失
- 打n创build一个新的分区
- 打p设置为主
- 打1设置第一个圆柱体
- 设置所需的新空间(如果为空,则保留整个空间)
- 打一个 ,使其可启动
- 打1和w来写更改
- 重新启动实例
- 通过SSHlogin并运行
resize2fs /dev/xvde1
- 最后检查运行
df -h
的新空间
就是这个
祝你好运!
上面的jperelli的评论。
今天我面临同样的问题。 AWS文档没有明确提及growpart。 我想通了很困难的方式,实际上这两个命令在Ubuntu上使用M4.large&M4.xlarge完美工作
sudo growpart /dev/xvda 1 sudo resize2fs /dev/xvda1
-
login到AWS Web控制台 – > EBS – >右键单击想要调整的大小 – >“修改卷” – >更改“大小”字段,然后单击[修改]button
-
growpart /dev/xvda 1
-
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分区。