我已按照调整EC2音量大小的步骤进行操作
旧卷为5GB,我创建的卷为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? p>
我无法理解我做错了什么
我也试过sudo ifs_growfs /dev/xvde1
xfs_growfs: /dev/xvde1 is not a mounted XFS filesystem
顺便说一下,这是一个带有centos 6.2 x86_64
的linux盒子提前感谢您的帮助
答案 0 :(得分:225)
无需停止实例并分离EBS卷以重新调整大小!
2017年2月13日亚马逊宣布:“Amazon EBS Update – New Elastic Volumes Change Everything”
即使要扩展的卷是正在运行的实例的根卷,该过程仍然有效!
<小时/> 假设我们希望将Ubuntu的启动驱动器从8G增加到16G“即时”
<小时/> 步骤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 /
很多SO答案建议将fdisk与删除/重新创建分区一起使用,这是一个令人讨厌,冒险,容易出错的过程,尤其是在我们更改启动驱动器时。
<小时/> 步骤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 :(得分:67)
感谢Wilman你的命令正常工作,如果我们将EBS增加到更大的尺寸,需要考虑小的改进
/dev/sda1
)通过SSH访问实例并运行fdisk /dev/xvde
警告:不推荐使用DOS兼容模式。强烈建议 关闭模式(命令'c')并将显示单位更改为 扇区(命令'u')
点击 p 显示当前分区
partprobe
(来自parted
包)告诉内核有关新分区表的信息答案 2 :(得分:31)
以上jperelli的完美评论。
我今天遇到了同样的问题。 AWS文档没有明确提到growpart。我找到了困难的方法,事实上这两个命令在M4.large&amp; M4.xlarge与Ubuntu
sudo growpart /dev/xvda 1
sudo resize2fs /dev/xvda1
答案 3 :(得分:16)
[解决]
这是必须要做的事情
fdisk /dev/xvde
resize2fs /dev/xvde1
df -h
这就是它
祝你好运!答案 4 :(得分:6)
登录AWS Web控制台 - &gt; EBS - &gt;右键单击要调整大小的那个 - &gt; “修改音量” - &gt;更改“大小”字段,然后单击[修改]按钮
growpart /dev/xvda 1
resize2fs /dev/xvda1
这是Dmitry Shevkoplyas回答的一个追逐版本。 AWS文档未显示growpart
命令。这适用于ubuntu AMI。
答案 5 :(得分:6)
以上两个命令为AWS ubuntu ec2实例节省了我的时间。
答案 6 :(得分:2)
您是否在此卷上创建了分区?如果您这样做,则需要首先扩展分区。
答案 7 :(得分:2)
以防万一有人在这里使用GCP谷歌云平台,
试试这个:
sudo growpart /dev/sdb 1
sudo resize2fs /dev/sdb1
答案 8 :(得分:2)
一旦您修改了 EBS 的大小,
sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:2 0 10G 0 disk
|-nvme0n1p1 259:3 0 1M 0 part
`-nvme0n1p2 259:4 0 10G 0 part /
假设您要扩展安装在 /
上的第二个分区,
sudo growpart /dev/nvme0n1 2
如果根卷中的所有空间都已用完,并且基本上无法访问 /tmp
,即出现错误消息 Unable to growpart because no space left
,
/tmp
卷:sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
sudo umount -l /tmp
验证新尺寸
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:2 0 20G 0 disk
|-nvme0n1p1 259:3 0 1M 0 part
`-nvme0n1p2 259:4 0 10G 0 part /
sudo xfs_growfs /
sudo resize2fs /dev/nvme0n1p2
答案 9 :(得分:1)
这将适用于xfs文件系统只需运行此命令
xfs_growfs /
答案 10 :(得分:1)
可启动标志(a)在我的情况下没有用(EC2,centos6.5),所以我不得不从快照重新创建卷。 重复所有步骤后除了可启动标志 - 一切都运行良好,所以我能够resize2fs之后。 谢谢!
答案 11 :(得分:0)
上面没有足够的代表发表评论;但是请注意,根据上面的评论,如果从1开始,你可以破坏你的实例;如果你点击“你好”。在使用&#39; p&#39;列出分区之前启动fdisk之后这将为您提供正确的起始编号,这样您就不会破坏您的卷。对于6.5 AM AMI,也如上所述2048对我来说是正确的。
答案 12 :(得分:0)
谢谢,@ Dimitry,它的工作方式就像一个小小的变化,以匹配我的文件系统。
然后使用以下命令替换文件系统的挂载点(必须挂载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分区。
答案 13 :(得分:0)
所以在案例中,任何人都有问题,他们在100%使用时遇到了这个问题,甚至没有空间来运行growpart命令(因为它在/ tmp中创建了一个文件)
这是一个命令,我发现即使在使用EBS音量时也会旁路,如果你的ec2上没有剩余空间,那么你是100%
/sbin/parted ---pretend-input-tty /dev/xvda resizepart 1 yes 100%
在此处查看此网站:
https://www.elastic.co/blog/autoresize-ebs-root-volume-on-aws-amis
答案 14 :(得分:0)
在名称和数字之间插入空格,例如:
sudo growpart /dev/xvda 1
请注意,设备名称和分区号之间有一个空格。
要扩展每个卷上的分区,请使用以下growpart 命令。请注意,设备名称和 分区号。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html