本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在调整 Amazon EBS 卷大小后扩展文件系统
增加EBS卷的大小后,必须将分区和文件系统扩展到新的更大的大小。您可以在卷进入 optimizing
状态后立即执行此操作。
开始前的准备工作
-
如果需要回滚更改,则创建卷的快照。有关更多信息,请参阅 创建亚马逊EBS快照。
-
确认卷修改成功并且其处于
optimizing
或completed
状态。有关更多信息,请参阅 监控 Amazon EBS 批量修改的进度。 -
确保卷已附加到实例,并且已格式化和挂载。有关更多信息,请参阅 格式化并挂载附加的卷。
-
(仅限 Linux 实例)如果您在 Amazon 卷上使用逻辑EBS卷,则必须使用逻辑卷管理器 (LVM) 来扩展逻辑卷。有关如何执行此操作的说明,请参阅 “如何在整个卷上创建逻辑卷?” 中的 “扩展LVM逻辑EBS卷
” 部分 AWS 知识中心文章。
注意
以下说明将引导您完成扩展 Linux XFS和 Ext4 文件系统的过程。有关扩展其他文件系统的信息,请参阅相关文档。
如果卷有分区,则必须先扩展分区,才能在 Linux 上扩展文件系统。
扩展EBS卷的文件系统
按照以下过程扩展调整大小后的卷的文件系统。
请注意,Xen 实例和基于 Nitro 系统构建的实例的设备和分区命名有所不同。要确定您的实例是基于 Xen还是基于 Nitro的,请按describe-instance-types AWS CLI 以下方式使用命令:
[ec2-user ~]$
aws ec2 describe-instance-types --instance-typeinstance_type
--query "InstanceTypes[].Hypervisor"
nitro
表示您的实例是基于 Nitro的。 xen
表示您的实例基于 XEN。
扩展EBS卷的文件系统
-
如果需要,调整分区的大小。为此,请执行以下操作:
-
检查卷是否有分区。使用 lsblk 命令。
如果该卷具有分区,则继续执行以下步骤(2b)。如果该卷没有分区,请跳过步骤 2b、2c 和 2d,然后继续执行步骤 3。
-
检查是否需要扩展分区。在上一步的 lsblk 命令输出中,比较分区大小和卷大小。
如果分区大小小于卷大小,则继续执行下一步。如果分区大小等于卷大小,则无法扩展分区。
故障排除技巧
如果卷仍然反映原始大小,则请确认卷修改成功。
-
扩展分区。使用growpart命令并指定设备名称和分区号。
故障排除技巧
-
mkdir: cannot create directory ‘/tmp/growpart.31171’: No space left on device FAILED: failed to make temp dir
:表示卷上没有足够的可用磁盘空间供 growpart 创建执行调整大小所需的临时目录。请释放一些磁盘空间并重试。 -
must supply partition-number
:表示您指定的分区不正确。使用 lsblk 命令以确认分区名称,并确保在设备名称和分区编号之间输入空格。 -
NOCHANGE: partition 1 is size 16773087. it cannot be grown
:表示分区已经扩展了整个卷,无法再扩展。确认卷修改成功。
-
-
验证是否已扩展分区。使用 lsblk 命令。分区大小现在应等于卷大小。
-
-
扩展文件系统。
-
获取需要扩展的文件系统的名称、大小、类型和挂载点。使用 df -hT 命令。
-
扩展文件系统的命令因文件系统类型而异。根据您在上一步中记录的文件系统类型选择以下正确命令。
-
[XFS文件系统] 使用xfs_growfs命令并指定您在上一步中记下的文件系统的挂载点。
故障排除技巧
-
xfs_growfs: /data is not a mounted XFS filesystem
: 表示您指定的装载点不正确,或者文件系统不是XFS。若要验证挂载点和文件系统类型,请使用 df -hT 命令。 -
data size unchanged, skipping
:表示文件系统已经扩展了整个卷。如果卷没有分区,则请确认卷修改成功。如果卷有分区,则请确保该分区已按照步骤 2 中的说明进行扩展。
-
-
[Ext4 文件系统] 使用 resize2fs 命令并指定您在上一步中记录的文件系统的名称。
故障排除技巧
-
resize2fs: Bad magic number in super-block while trying to open /dev/xvda1
:表示文件系统不是 Ext4。若要验证文件系统类型,请使用 df -hT 命令。 -
open: No such file or directory while opening /dev/xvdb1
:表示您指定的分区不正确。若要验证分区,请使用 df -hT 命令。 -
The filesystem is already 3932160 blocks long. Nothing to do!
:表示文件系统已经扩展了整个卷。如果卷没有分区,则请确认卷修改成功。如果卷有分区,则请确保该分区已按照步骤 2 中的说明进行扩展。
-
-
[其他文件系统],请参阅文件系统的文档,了解相关说明。
-
-
验证是否已扩展文件系统。使用 df -hT 命令并确认文件系统大小等于卷大小。
-
使用以下任一方法在 Windows 实例上扩展文件系统。